Mesmo se houver uma simulação em cada direção, as simulações podem não se relacionar com os mesmos conjuntos de estados. Às vezes, você tem uma simulação em uma direção e uma simulação R 2 na outra direção, e dois estados p 1 e q que são relacionados por R 1, mas não por R 2, nem por qualquer outra simulação na mesma direção.R1R2p1qR1R2
O exemplo canônico são dois sistemas que têm os mesmos traços, mas fazem escolhas diferentes. Considere duas máquinas de bebidas: a primeira (a maligna) pega uma moeda ( c
) e decide de maneira não determinística se deve entregar uma xícara de chá ( t
). A segunda máquina (a boa) pega uma moeda ( c
) e entrega uma xícara de chá ( t
).
A boa máquina simula a má máquina: tome . Todas as transições de saída de estados são cobertas, incluindo r (que não possui transição de saída, por isso é trivial). Observe como a máquina boa esquece a diferença entre r e p .R1={(s,s′),(p,p′),(q,q′),(r,p′)}rrp
A máquina do mal simula a máquina do bem: tome . O estado r passa a não ser usado por esta simulação. De fato, não é possível para uma simulação usar r , já que s ' deve mapear para um estado a partir do qual um traço de comprimento 2 é possível; portanto, deve ser s ; p ' tem que mapear para um sucessor de sR2={(s′,s),(p′,p),(q′,q)}rrs′2sp′ Com o rótulo c , então é p ou r , mas esse estado também deve ter um possível rastro do comprimento 1 , portanto deve ser p ; e pelo mesmo raciocínio q ' deve mapear para q , não deixando a possibilidade de mapear qualquer estado para r .s′cpr1pq′qr
Uma simulação em uma direção deve enviar algum lugar. Uma simulação na outra direção deve evitar r . Portanto, não existe uma relação que seja uma simulação em ambas as direções: os sistemas não são bisimilares.rr
A diferença entre as duas máquinas é que a máquina boa é determinística e (assumindo vivacidade) sempre entrega chá se você inserir uma moeda, enquanto a máquina do mal pode, por capricho, pegar a moeda, mas ficar presa, incapaz de distribuir o chá.
Esse tipo de diferença surge frequentemente no estudo de sistemas concorrentes. A resposta do jmad mostra um processo CCS com este LTS.
Para mais informações sobre bisimulações, recomendo as anotações de Davide Sangiorgi Sobre as origens da bisimulação e coindução . (Este é o exercício 1, p. 29, e as notas usam o mesmo exemplo.)