Quando due simulazioni non sono una bisimulazione?


20

Dato un sistema di transizione etichettato , dove S è un insieme di stati, Λ è un insieme di etichette e S × Λ × S è una relazione ternaria. Come al solito, scrivi p α q per ( p , α , q ) . La transizione etichettata p α q indica che il sistema nello stato p cambia lo stato in q con etichetta(S,Λ,)SΛ→⊆S×Λ×Spαq(p,α,q)∈→pαqpq , il che significa che α è un'azione osservabile che provoca il cambiamento di stato.αα

Ora una relazione è chiamata simulazione iff ( p , q ) R ,  se  p α p  quindi  q ,RS×S

(p,q)R, if pαp then q,qαq and (p,q)R.

Si dice che un LTS simuli un altro se esiste una relazione di simulazione tra loro.

Analogamente, una relazione è una bisimulazione iff ( p , q ) R ,  se  p α p  quindi  q ,RS×S(p,q)R,

 if pαp then q,qαq and (p,q)R and  if qαq then p,pαp and (p,q)R.

Si dice che due LTS siano bisimili se esiste una bisimulazione tra i loro spazi di stato.

Chiaramente queste due nozioni sono abbastanza correlate, ma non sono le stesse.

In quali condizioni un LTS simula un altro e viceversa, ma i due LTS non sono bisimili?

Risposte:


12

Poiché un processo CCS vale mille pixel - ed è facile vedere l'LTS sottostante - ecco due processi che si simulano a vicenda ma non sono bisimili:

Q = a b

P=ab+a
Q=ab

è una simulazione.R1={(ab+a,ab),(b,b),(0,b),(0,0)}

è una simulazione.R2={(ab,ab+a),(b,b),(0,0)}

e Q R 2 P ma P e Q non sono bisimili. Perchè no? Perché P a 0 e l'unicoP R1 QQ R2 PPQPa0 tale che Q a Q è b ... e 0 non è bisimile a b .QQaQb0b

Perché allora possono simularsi a vicenda? Perché simula Q poiché può fare tutto ciò che Q fa. E Q simula P perché anche se P può andare in unoPQQQPP -step a un programma che non fa nulla, Q può ancora farlo un -Passo, e questo è tutto quello che serve per simulare qualcosa. La differenza fondamentale con la bisimulazione è in realtà che, come ha detto Charles, è necessario mettere in relazione gli stessi processi con entrambe le simulazioni. (cioè R tale che sia R che R - 1 sono simulazioni)aQaRRR1


10

Anche se esiste una simulazione in ciascuna direzione, le simulazioni avanti e indietro potrebbero non mettere in relazione gli stessi insiemi di stati. A volte hai una simulazione in una direzione e una simulazione RR1 nell'altra direzione, e due stati p 1 e q che sono correlati da R 1 ma non da R 2 né da qualsiasi altra simulazione nella stessa direzione.R2p1qR1R2

L'esempio canonico sono due sistemi che hanno le stesse tracce, ma che fanno scelte in modo diverso. Considera due distributori automatici di bevande: il primo (il malvagio) prende una moneta ( c) e decide in modo non deterministico se consegnare una tazza di tè ( t). La seconda macchina (quella buona) prende una moneta ( c) e offre una tazza di tè ( t).

scelta anticipata e tardiva

R1={(s,s),(p,p),(q,q),(r,p)}rrp

R2={(s,s),(p,p),(q,q)}rrs2spscpr1pqqr

rr

La differenza tra le due macchine è che la macchina buona è deterministica e (assumendo vivacità) eroga sempre il tè se si inserisce una moneta, mentre la macchina malvagia può per un capriccio prendere la moneta ma rimanere bloccata, incapace di erogare il tè.

Questo tipo di differenza emerge spesso nello studio dei sistemi concorrenti. La risposta di jmad mostra un processo CCS con questo LTS.

Per maggiori informazioni sulle bisimulazioni, raccomando le note di Davide Sangiorgi sulle origini della bisimulazione e della coinduzione . (Questo è l'esercizio 1 p. 29 e le note usano lo stesso esempio.)


Il fatto che due simulazioni unidirezionali non equivalgano alla bisimilarità mi suggerisce che la simulazione non è la giusta idea di approssimazione in presenza di non determinismo. Ci sono altre idee che sono state prese in considerazione?
Uday Reddy,

2

LTS1LTS2RLTS2LTS1RR

LTS1LTS2RLTS2LTS1R


Immagino che ciò che sto cercando di dire sia che in realtà è sempre il caso in cui due LTS siano bisimilari, quindi la vera domanda è piuttosto se una particolare relazione sia una (bi) simulazione.
Charles
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.