Поскольку термин перегружен, сначала дается краткое определение. Poset - это множество наделенное частичным порядком ≤ . Для двух элементов a , b ∈ X , мы можем определить x ∨ y (join) как их наименьшую верхнюю границу в X и аналогично определить x ∧ y (meet) (join) как наибольшую нижнюю границу.
Решетка - это набор, в котором любые два элемента имеют уникальную встречу и уникальное соединение.
Решетки (в этой форме) проявляются в теории CS в (кратко) теории субмодульности (с решеткой подмножеств) и кластеризации (решетки разбиений), а также в теории областей (которую я не очень хорошо понимаю) и статической анализ.
Но меня интересуют приложения, которые используют метрические структуры на решетках. Простой пример исходит из кластеризации, где любая антимонотонная субмодульная функция (антимонотон означает, что если x ≤ y , f ( x ) ≤ f ( y ) ) индуцирует метрику d ( x , y ) = 2 f ( x) ∧ у ) - f ( x ) - f ( y )
Этот показатель широко использовался для сравнения двух разных кластеров набора данных.
Существуют ли другие применения решеток, которые заботятся о метрических структурах? Я интересовался приложением теории предметной области / статического анализа, но пока не видел необходимости в метриках .
источник
В качестве альтернативы наиболее часто используемым CPO, Арнольд и Ниват исследовали (полные) метрические пространства как области денотационной семантики [1]. В своей диссертации Бонсанге [2] исследовал двойственность между такой денотационной семантикой и аксиоматической семантикой. Я упоминаю это здесь, потому что это дает очень полную общую картину.
[1]: Арнольд, М. Ниват: Метрические интерпретации бесконечных деревьев и семантика недетерминированных рекурсивных программ. Теор. Вычи. Sci. 11: 181-205 (1980).
[2]: М. М. Бонсанге Топологическая двойственность в семантике том 8 ENTCS, Elsevier 1998.
источник
Вот один из них (по совпадению, сверху моей очереди на чтение):
Сварат Чаудхури, Сумит Гулвани и Роберто Люблинерман. Анализ непрерывности программ. POPL 2010.
Авторы приводят денотационную семантику для императивного языка с простыми циклами, интерпретируя выражения как функции из значений в метрическом пространстве основного продукта. Смысл в том, чтобы определить, какие программы представляют непрерывные функции, даже при наличии «если» и циклов. Они даже разрешают вопросы о преемственности, ограниченные определенными входами и выходами. (Это важно для анализа алгоритма Дейкстры, который непрерывен по длине своего пути, но не по фактическому пути.)
Я еще не видел ничего, что требовало бы метрического пространства - кажется, что это можно было бы сделать с использованием общей топологии - но я только на странице 3. :)
источник
Извиняюсь за добавление другого ответа, но этот не связан с моим другим выше.
Метрические пространства, которые я обычно использую, чтобы раздражать (или это воспитывает?) Студентов параллелизма, это бесконечные следы. Индуцируемая им топология - именно та, которую Алперн и Шнайдер [1] использовали для характеристики безопасности и живучести как предельно замкнутых и плотных соответственно.
Оглядываясь назад, я понимаю, что в этом ответе также отсутствует основной компонент структуры решетки или осетры. Такая структура решетки, тем не менее, присутствует при перемещении на один уровень до того, что Кларксон и Шнайдер называют гиперсвойством [2]. На момент написания статьи мне непонятно, как поднять метрику.
[1] B Alpern и FB Schneider. Определение жизненности. IPL, 21 (4): 181–185, 1985.
[2] М. Р. Кларксон и Ф. Б. Шнайдер. Hyperproperties. CSF, p51-65, IEEE, 2008.
источник