Articulo de referencia

Bisimulación

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 ...

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,Λ{\displaystyle \Lambda }es un conjunto de etiquetas y es un conjunto de transiciones etiquetadas (es decir, un subconjunto deS×Λ×S{\displaystyle S\times \Lambda \times S}), una bisimulación es una relación binariaRS×S{\displaystyle R\subsetequ S\times S}, de tal manera que tanto R como su recíprocoRT{\displaystyle R^{T}}son 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 estados(pag,q){\displaystyle (p,q)}en R y todas las etiquetas λ enΛ{\displaystyle \Lambda }:

  • sipagλpag{\displaystyle p\mathrel {\overset {\lambda }{\rightarrow }} p'}, entonces hayqλq{\displaystyle q\mathrel {\overset {\lambda }{\rightarrow }} q'}de tal manera que(pag,q)R{\displaystyle (p',q')\in R};
  • siqλq{\displaystyle q\mathrel {\overset {\lambda }{\rightarrow }} q'}, entonces haypagλpag{\displaystyle p\mathrel {\overset {\lambda }{\rightarrow }} p'}de tal manera que(pag,q)R{\displaystyle (p',q')\in R}.

Dados dos estados p y q en S , p es bisimilar a q , escritopagq{\displaystyle p\,\sim \,q}, si y solo si existe una bisimulación R tal que(pag,q)R{\displaystyle (p,q)\in R}Esto significa que la relación de bisimilitud es la unión de todas las bisimulaciones:(pag,q){\displaystyle (p,q)\in \,\sim \,}precisamente cuando(pag,q)R{\displaystyle (p,q)\in R}para 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(S,Λ,){\displaystyle (S,\Lambda ,\rightarrow )}, una relación de bisimulación es una relación binaria R sobre S (es decir, R S × S ) tal queλΛ{\displaystyle \forall \lambda \in \Lambda }

R ; λλ ; R{\displaystyle R\ ;\ {\overset {\lambda }{\rightarrow }}\quad {\subseteq }\quad {\overset {\lambda }{\rightarrow }}\  ;\ R} y R1 ; λλ ; R1{\displaystyle R^{-1}\ ;\ {\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 (S{\displaystyle S}, Λ , ), definirF:PAG(S×S)PAG(S×S){\displaystyle F:{\mathcal {P}}(S\times S)\to {\mathcal {P}}(S\times S)}ser una función de relaciones binarias sobreS{\displaystyle S}a relaciones binarias sobreS{\displaystyle S}, de la siguiente manera:

DejarR{\displaystyle R}cualquier relación binaria sobreS{\displaystyle S}.F(R){\displaystyle F(R)}se define como el conjunto de todos los pares(pag,q){\displaystyle (p,q)}enS{\displaystyle S}×S{\displaystyle S}de tal manera que:

λΛ.pagS.pagλpagqS.qλqy(pag,q)R{\displaystyle \forall \lambda \in \Lambda .\,\forall p'\in S.\,p{\overset {\lambda }{\rightarrow }}p'\,\Rightarrow \,\exists q'\in S.\,q{\overset {\lambda }{\rightarrow }}q'\,{\textrm {y}}\,(p',q')\in R} y λΛ.qS.qλqpagS.pagλpagy(pag,q)R{\displaystyle \forall \lambda \in \Lambda .\,\forall q'\in S.\,q{\overset {\lambda }{\rightarrow }}q'\,\Rightarrow \,\exists p'\in S.\,p{\overset {\lambda }{\rightarrow }}p'\,{\textrm {y}}\,(p',q')\in R}

La bisimilitud se define entonces como el mayor punto fijo deF{\displaystyle F}.

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,λ{\displaystyle \lambda }, de(pag,q){\displaystyle (p,q)}. Eso es, (pag,q)λ(pag,q){\displaystyle (p,q){\overset {\lambda }{\rightarrow }}(p',q)} o (pag,q)λ(pag,q){\displaystyle (p,q){\overset {\lambda }{\rightarrow }}(p,q')}

El "Defensor" debe entonces intentar igualar esa transición,λ{\displaystyle \lambda }de cualquiera de(pag,q){\displaystyle (p',q)}o(pag,q){\displaystyle (p,q')}dependiendo del movimiento del atacante. Es decir, deben encontrar un λ{\displaystyle \lambda }de tal manera que: (pag,q)λ(pag,q){\displaystyle (p',q){\overset {\lambda }{\rightarrow }}(p',q')} o (pag,q)λ(pag,q){\displaystyle (p,q'){\overset {\lambda }{\rightarrow }}(p',q')}

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 estados(pag,q){\displaystyle (p,q)}que 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(pag,q){\displaystyle (p,q)}, 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 estado(S,Λ,){\displaystyle (S,\Lambda ,\rightarrow )}se puede mapear biyectivamente a una funciónξ{\displaystyle \xi _{\rightarrow }}deS{\displaystyle S}al conjunto de potencias deS{\displaystyle S}indexado porΛ{\displaystyle \Lambda }escrito comoPAG(Λ×S){\displaystyle {\mathcal {P}}(\Lambda \times S)}, definido por pag{(λ,q)Λ×S:pagλq}.{\displaystyle p\mapsto \{(\lambda ,q)\in \Lambda \times S:p{\overset {\lambda }{\rightarrow }}q\}.}

Dejarπi:S×SS{\displaystyle \pi _{i}\colon S\times S\to S}seri{\displaystyle i}-ésima proyección , mapeo (pag,q){\displaystyle (p,q)}apag{\displaystyle p}yq{\displaystyle q}respectivamente parai=1,2{\displaystyle i=1,2}; y PAG(Λ×π1){\displaystyle {\mathcal {P}}(\Lambda \times \pi _{1})}la imagen frontal deπ1{\displaystyle \pi _{1}}definido por la eliminación del tercer componente PAG{(λ,pag)Λ×S:q.(λ,pag,q)PAG}{\displaystyle P\mapsto \{(\lambda ,p)\in \Lambda \times S:\exists q.(\lambda ,p,q)\in P\}} dóndePAG{\displaystyle P}es un subconjunto deΛ×S×S{\displaystyle \Lambda \times S\times S}. De manera similar paraPAG(Λ×π2){\displaystyle {\mathcal {P}}(\Lambda \times \pi _{2})}.

Utilizando las notaciones anteriores, una relaciónRS×S{\displaystyle R\subseteq S\times S}es una bisimulación en un sistema de transición(S,Λ,){\displaystyle (S,\Lambda ,\rightarrow )}si y solo si existe un sistema de transiciónγ:RPAG(Λ×R){\displaystyle \gamma \colon R\to {\mathcal {P}}(\Lambda \times R)}sobre la relaciónR{\displaystyle R}de tal manera que el diagrama

desplazamientos, es decir, parai=1,2{\displaystyle i=1,2}, las ecuaciones ξπi=PAG(Λ×πi)γ{\displaystyle \xi _{\rightarrow }\circ \pi _{i}={\mathcal {P}}(\Lambda \times \pi _{i})\circ \gamma } sostener dondeξ{\displaystyle \xi _{\rightarrow }}es la representación funcional de(S,Λ,){\displaystyle (S,\Lambda ,\rightarrow )}.

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τ{\displaystyle \tau }, 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 estadospag{\displaystyle p}yq{\displaystyle q}son bisimilares y hay una serie de acciones internas que conducen desdepag{\displaystyle p}a algún estadopag{\displaystyle p'}entonces debe existir un estadoq{\displaystyle q'}de tal manera que exista algún número (posiblemente cero) de acciones internas que conducen desdeq{\displaystyle q}aq{\displaystyle q'}. Una relaciónR{\displaystyle {\mathcal {R}}}en procesos es una bisimulación débil si se cumple lo siguiente (conS{R,R1}{\displaystyle {\mathcal {S}}\in \{{\mathcal {R}},{\mathcal {R}}^{-1}\}}, ya,τ{\displaystyle a,\tau }siendo una transición observable y silenciosa respectivamente):

pag,q.(pag,q)Spagτpagq.qτq(pag,q)S{\displaystyle \forall p,q.\quad (p,q)\in {\mathcal {S}}\Rightarrow p{\stackrel {\tau }{\rightarrow }}p'\Rightarrow \exists q'.\quad q{\stackrel {\tau ^{\ast }}{\rightarrow }}q'\wedge (p',q')\in {\mathcal {S}}}pag,q.(pag,q)Spagapagq.qτaτq(pag,q)S{\displaystyle \forall p,q.\quad (p,q)\in {\mathcal {S}}\Rightarrow p{\stackrel {a}{\rightarrow }}p'\Rightarrow \exists q'.\quad q{\stackrel {\tau ^{\ast }a\tau ^{\ast }}{\rightarrow }}q'\wedge (p',q')\in {\mathcal {S}}}

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
  1. Significa que la unión de dos bisimulaciones es una bisimulación.
Referencias
  1. Jančar y Srba 2008 .
  2. Milner 1989 .
  3. Stirling 1999 .
  4. ^ Baier y Katoen 2008 , págs. 529, 536–578, 7.8 Bisimulación del tartamudeo.
  5. Pous 2005 .
  6. Baier y Katoen 2008 , pág. 494, Corolario 7.45 (Complejidad de la comprobación de la equivalencia de bisimulación).

Bibliografía

  • 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 .  
  • 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 

Herramientas de software

  • CADP : herramientas para minimizar y comparar sistemas de estados finitos según diversas bisimulaciones.
  • mCRL2 : herramientas para minimizar y comparar sistemas de estados finitos según diversas bisimulaciones.
  • El juego de bisimulación
Obtenido de " https://en.wikipedia.org/w/index.php?title=Bisimulation&oldid=1334407716 "