En informática teórica , una bisimulación es una relación binaria entre sistemas de transición de estados , que asocia sistemas que se comportan de la misma manera, de modo que un sistema simula al otro y viceversa.
Intuitivamente, dos sistemas son bisimilares si, suponiendo que los consideramos como si estuvieran jugando un juego según ciertas reglas, sus movimientos coinciden. En este sentido, un observador no puede distinguir ninguno de los dos sistemas.
Definición formal
Dado un sistema de transición de estados etiquetado ( S , Λ , → ) , donde S es un conjunto de estados,es un conjunto de etiquetas y → es un conjunto de transiciones etiquetadas (es decir, un subconjunto de), una bisimulación es una relación binaria, de tal manera que tanto R como su recíprocoson simulaciones . De esto se deduce que el cierre simétrico de una bisimulación es una bisimulación, y que cada simulación simétrica es una bisimulación. Por lo tanto, algunos autores definen la bisimulación como una simulación simétrica. [ 1 ]
De forma equivalente, R es una bisimulación si y solo si para cada par de estadosen R y todas las etiquetas λ en:
- si, entonces hayde tal manera que;
- si, entonces hayde tal manera que.
Dados dos estados p y q en S , p es bisimilar a q , escrito, si y solo si existe una bisimulación R tal queEsto significa que la relación de bisimilitud ∼ es la unión de todas las bisimulaciones:precisamente cuandopara alguna bisimulación R .
El conjunto de bisimulaciones es cerrado bajo la unión; [ Nota 1 ] por lo tanto, la relación de bisimilitud es en sí misma una bisimulación. Dado que es la unión de todas las bisimulaciones, es la única bisimulación mayor. Las bisimulaciones también son cerradas bajo el cierre reflexivo, simétrico y transitivo ; por lo tanto, la bisimulación mayor debe ser reflexiva, simétrica y transitiva. De esto se deduce que la bisimulación mayor —la bisimilitud— es una relación de equivalencia . [ 2 ]
Definiciones alternativas
Definición relacional
La bisimulación se puede definir en términos de composición de relaciones de la siguiente manera.
Dado un sistema de transición de estados etiquetado, una relación de bisimulación es una relación binaria R sobre S (es decir, R ⊆ S × S ) tal que
;\ {\overset {\lambda }{\rightarrow }}\quad {\subseteq }\quad {\overset {\lambda }{\rightarrow }}\ ;\ R} y ;\ {\overset {\lambda }{\rightarrow }}\quad {\subseteq }\quad {\overset {\lambda }{\rightarrow }}\ ;\ R^{-1}}
De la monotonicidad y continuidad de la composición de relaciones, se deduce inmediatamente que el conjunto de bisimulaciones es cerrado bajo uniones ( uniones en el poset de relaciones), y un cálculo algebraico simple muestra que la relación de bisimilitud —la unión de todas las bisimulaciones— es una relación de equivalencia. Esta definición, y el tratamiento asociado de la bisimilitud, pueden interpretarse en cualquier cuantal involutivo .
Definición de punto fijo
La bisimilitud también puede definirse de forma teórica del orden , en términos de la teoría del punto fijo , más precisamente como el mayor punto fijo de una determinada función definida a continuación.
Dado un sistema de transición de estados etiquetado (, Λ , → ), definirser una función de relaciones binarias sobrea relaciones binarias sobre, de la siguiente manera:
Dejarcualquier relación binaria sobre.se define como el conjunto de todos los paresen×de tal manera que:
y
La bisimilitud se define entonces como el mayor punto fijo de.
Definición del juego Ehrenfeucht-Fraïssé
La bisimulación también puede pensarse en términos de un juego entre dos jugadores: atacante y defensor. [ 3 ]
"Atacante" va primero y puede elegir cualquier transición válida,, de. Eso es, o
El "Defensor" debe entonces intentar igualar esa transición,de cualquiera deodependiendo del movimiento del atacante. Es decir, deben encontrar un de tal manera que: o
El atacante y el defensor continúan turnándose hasta que:
- El defensor no encuentra ninguna transición válida para igualar el movimiento del atacante. En este caso, el atacante gana.
- El juego llega a los estadosque ambos están 'muertos' (es decir, no hay transiciones desde ninguno de los dos estados) En este caso, el defensor gana
- El juego se prolonga indefinidamente, en cuyo caso gana el defensor.
- El juego llega a los estados, que ya han sido visitadas. Esto equivale a un juego infinito y cuenta como una victoria para el defensor.
Según la definición anterior, el sistema es una bisimulación si y solo si existe una estrategia ganadora para el defensor.
Definición coalgebraica
Una bisimulación para sistemas de transición de estado es un caso especial de bisimulación coalgebraica para el tipo de functor de conjunto de potencia covariante . Nótese que cada sistema de transición de estadose puede mapear biyectivamente a una funcióndeal conjunto de potencias deindexado porescrito como, definido por
Dejarser-ésima proyección , mapeo ayrespectivamente para; y la imagen frontal dedefinido por la eliminación del tercer componente dóndees un subconjunto de. De manera similar para.
Utilizando las notaciones anteriores, una relaciónes una bisimulación en un sistema de transiciónsi y solo si existe un sistema de transiciónsobre la relaciónde tal manera que el diagrama
![]()
desplazamientos, es decir, para, las ecuaciones sostener dondees la representación funcional de.
Variantes de la bisimulación
En contextos especiales, la noción de bisimulación se refina a veces añadiendo requisitos o restricciones adicionales. Un ejemplo es la bisimulación de tartamudeo , en la que una transición de un sistema puede coincidir con múltiples transiciones del otro, siempre que los estados intermedios sean equivalentes al estado inicial ("tartamudeo"). [ 4 ]
Se aplica una variante diferente si el sistema de transición de estado incluye una noción de acción silenciosa (o interna ), a menudo denotada con, es decir, acciones que no son visibles para los observadores externos, entonces la bisimulación puede relajarse a bisimulación débil , en la que si dos estadosyson bisimilares y hay una serie de acciones internas que conducen desdea algún estadoentonces debe existir un estadode tal manera que exista algún número (posiblemente cero) de acciones internas que conducen desdea. Una relaciónen procesos es una bisimulación débil si se cumple lo siguiente (con, ysiendo una transición observable y silenciosa respectivamente):
Esto está estrechamente relacionado con la noción de bisimulación " hasta " una relación. [ 5 ]
Por lo general, si el sistema de transición de estados define la semántica operacional de un lenguaje de programación , la definición precisa de bisimulación dependerá de las restricciones de dicho lenguaje. Por lo tanto, en general, puede existir más de un tipo de relación de bisimulación (o bisimilitud) según el contexto.
Bisimulación y lógica modal
Dado que los modelos de Kripke son un caso especial de sistemas de transición de estados (etiquetados), la bisimulación también es un tema de la lógica modal . De hecho, la lógica modal es el fragmento de la lógica de primer orden invariante bajo bisimulación ( teorema de van Benthem ).
Algoritmo
La comprobación de que dos sistemas de transición finitos son bisimilares se puede realizar en tiempo polinomial . [ 6 ] Los algoritmos más rápidos son de tiempo cuasilineal utilizando refinamiento de partición a través de una reducción al problema de partición más grueso .
Véase también
Notas y referencias
- Notas
- ↑ Significa que la unión de dos bisimulaciones es una bisimulación.
- Referencias
- ↑ Jančar y Srba 2008 .
- ↑ Milner 1989 .
- ↑ Stirling 1999 .
- ^ Baier y Katoen 2008 , págs. 529, 536–578, 7.8 Bisimulación del tartamudeo.
- ↑ Pous 2005 .
- ↑ Baier y Katoen 2008 , pág. 494, Corolario 7.45 (Complejidad de la comprobación de la equivalencia de bisimulación).
Bibliografía
- Baier, Christel ; Katoen, Joost-Pieter (2008). Principios de verificación de modelos . Cambridge, Masa: MIT Press . ISBN 978-0-262-02649-9. LCCN 2007037603 .
- Jančar, Petr; Srba, Jiří (2008). "Indecidibilidad de la bisimilitud por forzamiento del defensor" . J. ACM . 55 (1). Nueva York, NY, EE. UU.: Association for Computing Machinery: 26. doi : 10.1145/1326554.1326559 . ISSN 0004-5411 . S2CID 14878621 .
- Milner, Robin (1989). Comunicación y concurrencia . EE. UU.: Prentice Hall . ISBN 0-13-114984-9.
- Pous, Damien (2005). "Técnicas Up-to para bisimulación débil". Proc. 32nd ICALP . Lecture Notes in Computer Science . 3580. Springer Verlag: 730–741 .
- Stirling, Colin (1999). "Bisimulación, lógica modal y juegos de verificación de modelos" . Logic Journal of the IGPL . 7 (1): 103– 124.
Lecturas adicionales
- Park, David (1981). «Concurrencia y autómatas en secuencias infinitas». En Deussen, Peter (ed.). Informática teórica . Actas de la 5.ª Conferencia GI, Karlsruhe. Lecture Notes in Computer Science . Vol. 104. Springer-Verlag . pp. 167–183 . doi : 10.1007/BFb0017309 . ISBN 978-3-540-10576-3.
- Sangiorgi, Davide (2011). Introducción a la bisimulación y la coinducción . Cambridge, Reino Unido: Cambridge University Press. ISBN 9781107003637OCLC 773040572
Enlaces externos
Herramientas de software
- informática teórica
- Métodos formales
- Lógica en informática
- Sistemas de transición