Aplicaciones de estructuras métricas en posets / retículas en teoría CS


17

Dado que el término está sobrecargado, primero una breve definición. Un poset es un conjunto X dotado de un orden parcial . Dados dos elementos a,bX , podemos definir xy (unión) como su límite superior mínimo en X , y definir de manera similar xy (reunión) (unión) como el límite inferior más grande.

Un enrejado es un poset en el que dos elementos tienen una reunión única y una unión única.

Los enrejados (en esta forma) se muestran en la teoría CS en (brevemente) la teoría de la submodularidad (con el enrejado del subconjunto) y la agrupación (el enrejado de la partición), así como en la teoría del dominio (que no entiendo muy bien) y estática análisis.

Pero estoy interesado en aplicaciones que usan estructuras métricas en redes. Un ejemplo simple proviene de la agrupación, donde cualquier función submodular antimonotónica f:XR (antimonotona significa que si xy,f(x)f(y) ) induce una métrica

d(x,y)=2f(xy)f(x)f(y)

Esta métrica se ha utilizado ampliamente como una forma de comparar dos agrupaciones diferentes de un conjunto de datos.

¿Existen otras aplicaciones de redes que se preocupan por las estructuras métricas? Me ha interesado la aplicación de teoría de dominio / análisis estático, pero hasta ahora no he visto ninguna necesidad de métricas .

Respuestas:


12

Primero, un comentario. Su pregunta depende de cuán geométricamente pretenda que signifique la palabra "métrica". Es razonablemente común usar ultramétricos en semántica y análisis estático, pero los ultramétricos tienden a tener una interpretación combinatoria en lugar de geométrica. (Esta es una variante de la observación de que la teoría de dominio tiene el sabor de un uso combinatorio en lugar de geométrico de la topología).

Dicho esto, te daré un ejemplo de cómo surge esto en las pruebas de programa. Primero, recuerde que en una prueba de programa, queremos mostrar que una fórmula que describe un programa es válida. En general, esta fórmula no necesariamente debe interpretarse con los booleanos, sino que puede extraerse de los elementos de una red de valores de verdad. Entonces, una fórmula verdadera es solo una que es igual a la parte superior de la red.

Además, cuando se especifican programas muy autorreferenciales (por ejemplo, programas que hacen un uso extensivo del código de modificación automática), los asuntos pueden ser muy difíciles. Por lo general, queremos dar una especificación recursiva del programa, pero puede que no haya una estructura inductiva obvia sobre la cual colgar la definición. Para resolver este problema, a menudo es útil equipar la red de valores de verdad con una estructura métrica adicional. Entonces, si puede demostrar que el predicado cuyo punto fijo que desea es estrictamente contractual, puede recurrir al teorema del punto fijo de Banach para concluir que el predicado recursivo que desea está bien definido.

El caso con el que estoy más familiarizado se llama "indexación por pasos". En este contexto, tomamos nuestra red de valores de verdad como subconjuntos cerrados hacia abajo de N , cuyos elementos podemos interpretar libremente como "las longitudes de las secuencias de evaluación en las que se mantiene la propiedad". Las reuniones y las uniones son intersecciones y uniones, como de costumbre, y dado que la red está completa, también podemos definir la implicación de Heyting. La red también se puede equipar con una unidad ultramétrica al permitir que la distancia entre dos elementos de red sea 2 - n , donde n es el elemento más pequeño en un conjunto pero no en el otro.ΩN2nn

Luego, el mapa de contracción de Banach nos dice que un predicado contractivo tiene un punto fijo único. Intuitivamente, esto dice que si podemos definir un predicado que se cumple para n + 1 pasos usando una versión que se cumple para n pasos, entonces tenemos una definición inequívoca de un predicado. Si luego mostramos que el predicado es igual a = N , entonces sabemos que el predicado siempre es válido para el programa.p:ΩΩn+1n=N


ah interesante En respuesta a su pregunta, todo lo que me importa es que la métrica es solo eso: satisface la desigualdad de triángulos. Entonces las ultramétricas están perfectamente bien. Sin embargo, (y esta es mi deficiencia en la pregunta) me parece que el uso de la métrica aquí es estructural, para obtener acceso a Banach. No le importa la métrica en sí misma (por lo que cosas como aproximar la métrica o calcularla son irrelevantes). Está bien ?
Suresh Venkat

44
Sí, no nos importa mucho la métrica. Esto es realmente una fuente de incomodidad con los modelos métricos o indexados por pasos: ¿por qué estamos rastreando información que realmente no nos importa? Mostrar que un modelo era estable bajo una clase de aproximaciones a la métrica (quizás conservador con respecto a la capacidad de contracción) en realidad aumentaría la comodidad con él.
Neel Krishnaswami

9

Como alternativa a los CPO más utilizados, Arnold y Nivat exploraron (métricas) espacios métricos como dominios de semántica denotacional [1]. En su tesis, Bonsangue [2] exploró las dualidades entre la semántica denotacional y la semántica axiomática. Lo menciono aquí porque ofrece una imagen general muy completa.

[1]: A Arnold, M Nivat: Interpretaciones métricas de árboles infinitos y semántica de programas recursivos no deterministas. Theor Comput Sci. 11: 181-205 (1980).
[2]: MM Bonsangue Dualidad topológica en semántica volumen 8 de ENTCS, Elsevier 1998.


Fantástico - ¡No sabía que esta tesis estaba en línea!
Neel Krishnaswami

3
Dejo que Marcello (Bonsangue) sepa que se está hablando de él. (Quizás se unirá).
Dave Clarke

5

Aquí hay uno (de, casualmente, la parte superior de mi cola de lectura):

Swarat Chaudhuri, Sumit Gulwani y Roberto Lublinerman. Análisis de continuidad de programas. POPL 2010.

Los autores dan una semántica denotacional para un lenguaje imperativo con bucles simples, interpretando expresiones como funciones de valores en un espacio métrico de producto subyacente. El punto es determinar qué programas representan funciones continuas, incluso en presencia de "if" y bucles. Incluso permiten preguntas sobre la continuidad restringida a ciertas entradas y salidas. (Esto es importante para analizar el algoritmo de Dijkstra, que es continuo en su longitud de ruta, pero no en la ruta real).

Todavía no he visto nada que requiera un espacio métrico, parece que podría haberse hecho usando una topología general hasta ahora, pero solo estoy en la página 3. :)


1
Por supuesto, no hay poset o celosía aquí, como en la respuesta anterior. Eso es lo que me estoy perdiendo.
Suresh Venkat

3

Disculpas por agregar otra respuesta, pero esta no está relacionada con mi otra anterior.

Un espacio métrico que uso habitualmente para irritar (¿o es educar?) A los estudiantes de concurrencia es el de las huellas infinitas. La topología que induce es precisamente la que Alpern y Schneider [1] usaron para caracterizar las propiedades de seguridad y vitalidad como límite cerrado y denso, respectivamente.

re:Σω×ΣωR0 0(σ,τ)2-cenar{ yonorte El | σEl |yo=τEl |yo }
σEl |yoσyo2-=0 0

En retrospectiva, me doy cuenta de que esta respuesta también carece del ingrediente esencial de una estructura reticular o poset. Sin embargo, esta estructura reticular está presente cuando se sube un nivel a lo que Clarkson y Schneider llaman hiperpropiedades [2]. Sin embargo, al momento de escribir esto no me queda claro cómo levantar la métrica.

[1] B Alpern y FB Schneider. Definiendo vitalidad. IPL, 21 (4): 181–185, 1985.
[2] MR Clarkson y FB Schneider. Hiperpropiedades CSF, p51-65, IEEE, 2008.


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

@HCH gracias, he editado mi publicación en consecuencia y eliminé el grito descarado por consejos de formato.
Kai

Buena formula!
Hsien-Chih Chang 張顯 之
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.