Bissimulação: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Bresende (discussão | contribs)
Bresende (discussão | contribs)
Linha 152: Linha 152:


== Referências ==
== Referências ==
# {{Cite conference
1. Park, David (1981). "Concurrency and Automata on Infinite Sequences". In Deussen, Peter. Theoretical Computer Science. Proceedings of the 5th GI-Conference, Karlsruhe. Lecture Notes in Computer Science 104. Springer-Verlag. pp. 167–183. doi:10.1007/BFb0017309. ISBN 978-3-540-10576-3.
| first = David
2. Milner, Robin (1989). Communication and Concurrency. Prentice Hall. ISBN 0-13-114984-9.
| last = Park
| year = 1981
| title = Concurrency and Automata on Infinite Sequences
| conference = Proceedings of the 5th GI-Conference, Karlsruhe
| booktitle = Theoretical Computer Science
| series = [[Lecture Notes in Computer Science]]
| editor = Deussen, Peter
| pages = 167–183
| volume = 104
| publisher = [[Springer Science+Business Media]]
| isbn = 978-3-540-10576-3
| doi = 10.1007/BFb0017309
}}
# {{Cite book
| last = Milner
| first = Robin
| title = Communication and Concurrency
| year = 1989
| publisher = [[Prentice Hall]]
| isbn = 0-13-114984-9
}}


== Leitura complementar ==
== Leitura complementar ==

Revisão das 02h09min de 20 de fevereiro de 2015

Em ciência da computação teórica uma bissimulação é uma relação binária entre sistemas de transição de estados, associando sistemas que se comportam da mesma maneira no sentido de que um sistema simula o outro e vice-versa.

Intuitivamente dois sistemas são bissimilares se eles combinam seus movimentos entre si. Neste sentido, cada um dos sistemas não pode ser distinto um do outro por um observador.

Definição formal

Dado um sistema de transição rotulado (, Λ, →); uma relação de bissimulação é uma relação binária (isto é, × ) tal que ambos −1 e são simulações.

Equivalentemente é uma bissimulação se para cada par de elementos em com em , para todo α em Λ:

para todo em ,

implica que existe um em tal que
e ;
e, simetricamente, para todo em
implica que existe um em tal que
e .

Dados dois estados e em , é bissimilar a , escrito , se existe uma bissimulação tal que está em .

A relação de bissimilaridade é uma relação de equivalência. Além disso, ela é a mais larga relação de bissimulação sobre um dado sistema de transição.

Note que não é sempre o caso que se simula e simula que eles são bissimilares. Para e serem bissimilares, a simulação entre e deve ser a inversa da simulação entre e . Contraexemplo (em Sistemas de Comunicação de Cálculos, descrevendo uma máquina de café): e simulam entre si mas não são bissimilares.

Definições alternativas

Definição relacional

Bissimulação pode ser definida em termos de composições de relações como segue.

Dado um sistema de transição rotulado , uma relação de bissimulação é uma relação binária de sobre (isto é, × ) tal que

e

Partindo da monotonicidade e continuidade da relação de composição, ela segue imediatamente que o conjunto de bissimulações é fechado sobre uniões (junta-se à ordem parcial das relações), e um simples cálculo algébrico mostra que a relação de bissimilaridade - a junção de todas as bissimulações - é uma relação de equivalência. Esta definição, e o tratamento associado a bissimilaridade, pode ser interpretado em qualquer quantale involutivo.

Definição ponto fixo

Bissimilaridade também pode ser definida de maneira da teoria da ordem, em termos da teoria do ponto fixo, mais precisamente como o maior ponto fixo de uma certa função definida abaixo.

Dado um sistema de transição rotulado (, Λ, →), defina para ser uma função de relações binárias sobre a relações binárias sobre , como segue:

Seja uma relação binária qualquer sobre . é definida para ser o conjunto de todos os pares em × tal que:

e

Bissimilaridade então é definida para ser o maior ponto fixo de .

Definição da teoria dos jogos

Bissimulação também pode ser pensada em termos de um jogo entre dois jogadores, atacante e defensor.

O "Atacante" vai primeiro e pode escolher qualquer transição válida, , de . Isto é.:

ou

O "Defensor" deve então tentar combinar aquela transição, de ambos ou dependendo do movimento do atacante. Ou seja, eles devem encontrar um tal que:

ou

Atacante e defensor continuam alternando turnos até que:

  • O defensor não consegue encontrar uma transição válida para combinar com o movimento do atacante. Neste caso o atacante vence.
  • O jogo alcança estados que ambos são 'mortos' (ou seja, não há transições de ambos estados). Neste caso o defensor vence.
  • O jogo continua para sempre, neste caso o defensor vence.
  • O jogo alcança os estados , que já foram visitados. Isto é o equivalente a um jogo que não termina e conta como vitória para o defensor.

Pela definição acima o sistema é uma bissimulação se e somente se existe uma estratégia de vitória para o defensor.

Definição co-algébrica

Uma bissimulação do sistema de transição de estados é um caso especial de bissimulação co-algébrica para o tipo de covariante functor do conjunto das partes. Note que todo o sistema de transições de estados é bijetivamente uma função do para o conjunto das partes de indexado por escrito como , definido por

Seja o ' ésimo' mapeamento de projeção para e respectivamente onde ; e a imagem adiante de definida por largar o terceiro componente

onde é um subconjunto de . Similarmente para .

Usando as notações acima, a relação é uma bissimulação num sistema de transição se e somente se existe um sistema de transição na relação R tal que o diagrama

comuta, isto é para , as equações

considerando que é a representação funcional de .

Variantes de bissimulação

Em contextos especiais a noção de bissimulação as vezes é refinada pela adição de requisitos adicionais e restrições. Por exemplo se o sistema de transição de estado inclui a noção de ação silenciosa (ou interna), geralmente denotada com , isto é ações que não são visíveis por observadores externos, então bissimulação pode ser descontraída para ser uma bissimulação fraca, a qual se dois estados e são bissimilares e existe algum número de ações internas começando por a outro estado então deve existir o estado tal que existe algum número (possivelmente zero) de ações internas começando por a .

Tipicamente, se o sistema de transição de estado dá a semântica operacional de uma linguagem de programação, então a definição precisa de bissimulação será específica às restrições da linguagem de programação. Portanto, no geral, pode existir mais de um tipo de bissimulação, relacionamento dependente do contexto.

Bissimulação e lógica modal

Desde que os modelos de Kripke são um caso especial de sistema de transição de estado (rotulado), bissimulação também é um tópico de lógica modal. Na verdade, lógica modal é o fragmento de lógica de primeira ordem invariante sob bissimulação (teorema de Van Benthem).

Veja também

  • Semântica operacional
  • Sistemas de transição de estados
  • Simulação pre-órdem
  • Relação de congruência
  • Bissimulação probabilística

Ferramentas de software

Referências

  1. Park, David (1981). «Concurrency and Automata on Infinite Sequences». In: Deussen, Peter. Theoretical Computer Science. Proceedings of the 5th GI-Conference, Karlsruhe. Lecture Notes in Computer Science. 104. Springer Science+Business Media. pp. 167–183. ISBN 978-3-540-10576-3. doi:10.1007/BFb0017309 
  2. Milner, Robin (1989). Communication and Concurrency. [S.l.]: Prentice Hall. ISBN 0-13-114984-9 

Leitura complementar

  • Davide Sangiorgi. (2011). Introduction to Bisimulation and Coinduction. Cambridge University Press. ISBN 9781107003637