Applications des structures métriques sur les posets / réseaux en théorie CS


17

Puisque le terme est surchargé, une brève définition d'abord. Un poset est un ensemble doté d'un ordre partiel . Étant donné deux éléments , nous pouvons définir (jointure) comme leur borne inférieure la plus basse dans , et de même définir (rencontrer) (joindre) comme borne inférieure la plus grande.a , b X x y X x yXune,bXXyXXy

Un treillis est un poset dans lequel deux éléments ont une rencontre et une jointure uniques.

Les réseaux (sous cette forme) apparaissent dans la théorie CS dans (brièvement) la théorie de la sous-modularité (avec le réseau de sous-ensemble) et du clustering (le réseau de partition), ainsi que dans la théorie des domaines (que je ne comprends pas trop bien) et statique une analyse.

Mais je suis intéressé par les applications qui utilisent des structures métriques sur des réseaux. Un exemple simple vient du clustering, où toute fonction sous-modulaire antimonotone (antimonotone signifie que si ) induit une métrique x y , f ( x ) f ( y ) d ( x , y ) = 2 f ( x y ) - f ( x ) - f ( y )F:XRXy,F(X)F(y)

(X,y)=2F(Xy)-F(X)-F(y)

Cette mesure a été largement utilisée pour comparer deux regroupements différents d'un ensemble de données.

Y a-t-il d'autres applications de réseaux qui se soucient des structures métriques? Je m'intéresse à l'application théorie du domaine / analyse statique, mais jusqu'à présent, je n'ai vu aucun besoin de mesures .

Réponses:


12

Tout d'abord, un commentaire. Votre question dépend en quelque sorte de la façon dont vous avez l'intention géométrique de signifier le mot "métrique". Il est assez courant d'utiliser l'ultramétrie en sémantique et en analyse statique, mais l'ultramétrie a tendance à avoir une interprétation combinatoire plutôt que géométrique. (Il s'agit d'une variante de l'observation selon laquelle la théorie des domaines a la saveur d'une utilisation combinatoire plutôt que géométrique de la topologie.)

Cela dit, je vais vous donner un exemple de la façon dont cela apparaît dans les épreuves de programme. Rappelons tout d'abord que dans une preuve de programme, nous voulons montrer qu'une formule décrivant un programme est vraie. En général, cette formule ne doit pas nécessairement être interprétée avec les booléens, mais peut être tirée des éléments de certains réseaux de valeurs de vérité. Alors une vraie formule est juste une qui est égale au sommet du réseau.

En outre, lors de la spécification de programmes très autoréférentiels (par exemple, des programmes qui utilisent largement le code auto-modifiable), les questions peuvent devenir très difficiles. Nous voulons généralement donner une spécification récursive du programme, mais il pourrait ne pas y avoir de structure inductive évidente sur laquelle accrocher la définition. Pour résoudre ce problème, il est souvent utile d'équiper le réseau de valeurs de vérité d'une structure métrique supplémentaire. Ensuite, si vous pouvez montrer que le prédicat dont vous voulez le point fixe est strictement contractuel, vous pouvez faire appel au théorème du point fixe de Banach pour conclure que le prédicat récursif que vous voulez est bien défini.

Le cas que je connais le mieux est appelé "indexation par étapes". Dans ce cadre, nous considérons notre réseau de valeurs de vérité comme des sous-ensembles fermés vers le bas de N , dont nous pouvons interpréter librement les éléments comme "les longueurs des séquences d'évaluation sur lesquelles la propriété se trouve". Les rencontres et les jointures sont des intersections et des unions, comme d'habitude, et puisque le réseau est complet, nous pouvons également définir l'implication Heyting. Le réseau peut également être équipé d'un système ultramétrique en laissant la distance entre deux éléments du réseau être 2 - n , où n est le plus petit élément dans un ensemble mais pas l'autre.ΩN2-nn

Ensuite, la carte de contraction de Banach thoerem nous dit qu'un prédicat contractif a un point fixe unique. Intuitivement, cela dit que si nous pouvons définir un prédicat qui tient pour n + 1 étapes en utilisant une version qui tient pour n étapes, alors nous avons en fait une définition non ambiguë d'un prédicat. Si nous montrons alors que le prédicat est égal à = N , alors nous savons que le prédicat est toujours valable pour le programme.p:ΩΩn+1n=N


ah intéressant. En réponse à votre question, tout ce qui m'importe, c'est que la métrique n'est que cela: elle satisfait l'inégalité du triangle. Les ultramétriques sont donc parfaitement bien. Cependant, (et c'est ma lacune dans la question), il me semble que l'utilisation de la métrique ici est structurelle, afin d'accéder à Banach. Vous ne vous souciez pas de la métrique en soi (et donc des choses comme l'approximation de la métrique ou son calcul ne sont pas pertinentes). Est-ce correct ?
Suresh Venkat

4
Oui, nous ne nous soucions pas beaucoup de la métrique. C'est en fait une source d'inconfort avec les modèles métriques ou indexés par étapes - pourquoi suivons-nous des informations dont nous ne nous soucions pas vraiment? Montrer qu'un modèle était stable dans une classe d'approximations de la métrique (peut-être conservateur en ce qui concerne la contractivité) augmenterait en fait le confort avec lui.
Neel Krishnaswami

9

Comme alternative aux CPO les plus couramment utilisés, Arnold et Nivat ont exploré les espaces métriques (complets) comme domaines de la sémantique dénotationnelle [1]. Dans sa thèse, Bonsangue [2] a exploré les dualités entre une telle sémantique dénotationnelle et une sémantique axiomatique. Je le mentionne ici car il donne une image globale très complète.

[1]: A Arnold, M Nivat: Interprétations métriques des arbres infinis et sémantique des programmes récursifs non déterministes. Théor. Comput. Sci. 11: 181-205 (1980).
[2]: MM Bonsangue Topological Duality in Semantics volume 8 de ENTCS, Elsevier 1998.


Fantastique - je ne savais pas que cette thèse était en ligne!
Neel Krishnaswami

3
J'ai fait savoir à Marcello (Bonsangue) qu'il parlait de lui. (Peut-être qu'il se joindra.)
Dave Clarke

5

En voici une (par coïncidence, en haut de ma file d'attente de lecture):

Swarat Chaudhuri, Sumit Gulwani et Roberto Lublinerman. Analyse de continuité des programmes. POPL 2010.

Les auteurs donnent une sémantique dénotationnelle pour un langage impératif avec des boucles simples, interprétant les expressions comme des fonctions à partir de valeurs dans un espace métrique de produit sous-jacent. Il s'agit de déterminer quels programmes représentent des fonctions continues, même en présence de "si" et de boucles. Ils permettent même des questions de continuité restreintes à certaines entrées et sorties. (Ceci est important pour analyser l'algorithme de Dijkstra, qui est continu dans sa longueur de chemin, mais pas dans le chemin réel.)

Je n'ai encore rien vu qui nécessite un espace métrique - il semble que cela aurait pu être fait jusqu'à présent en utilisant la topologie générale - mais je ne suis qu'à la page 3. :)


1
bien sûr, il n'y a pas de poset ou de réseau ici, comme dans la réponse précédente. c'est ce qui me manque.
Suresh Venkat

3

Toutes mes excuses pour avoir ajouté une autre réponse, mais celle-ci n'a aucun rapport avec la mienne ci-dessus.

Un espace métrique que j'utilise régulièrement pour irriter (ou éduquer?) Les étudiants de la concurrence est celui des traces infinies. La topologie qu'elle induit est précisément celle qu'Alpern et Schneider [1] ont utilisée pour caractériser les propriétés de sécurité et de vivacité comme étant à limite fermée et dense, respectivement.

:Σω×ΣωR0(σ,τ)2-souper{ jeN | σ|je=τ|je }
σ|jeσje2-=0

Rétrospectivement, je me rends compte que cette réponse manque également de l'ingrédient essentiel d'une structure en treillis ou poset. Une telle structure en treillis est cependant présente lors du déplacement d'un niveau vers ce que Clarkson et Schneider appellent des hyperpropriétés [2]. Au moment d'écrire ces lignes, je ne sais pas comment lever la métrique.

[1] B Alpern et FB Schneider. Définition de la vivacité. IPL, 21 (4): 181–185, 1985.
[2] MR Clarkson et FB Schneider. Hyperproperties. CSF, p51-65, IEEE, 2008.


k=1nk=n(n+1)/2

@HCH merci, j'ai modifié mon article en conséquence et supprimé le cri flagrant pour des conseils de mise en forme.
Kai

Belle formule!
Hsien-Chih Chang 張顯 之
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.