Bahkan jika ada simulasi di setiap arah, simulasi bolak-balik mungkin tidak berhubungan dengan set negara yang sama. Terkadang Anda memiliki simulasi di satu arah, dan simulasi di arah lain, dan dua status dan yang terkait dengan tetapi tidak oleh atau oleh simulasi lain di arah yang sama.R 2 p 1 q R 1 R 2R1R2p1qR1R2
Contoh kanonik adalah dua sistem yang memiliki jejak yang sama, namun membuat pilihan berbeda. Pertimbangkan dua mesin minuman: mesin pertama (yang jahat) mengambil koin ( c
) dan tanpa determinasi memutuskan apakah akan mengantar secangkir teh ( t
). Mesin kedua (yang baik) mengambil koin ( c
) dan memberikan secangkir teh ( t
).
Mesin yang baik mensimulasikan mesin jahat: take . Transisi keluar semua negara bagian dicakup, termasuk (yang tidak memiliki transisi keluar, sehingga sepele). Perhatikan bagaimana mesin yang baik melupakan perbedaan antara dan .R1={(s,s′),(p,p′),(q,q′),(r,p′)}rrp
Mesin jahat mensimulasikan mesin yang baik: take . Status tidak digunakan oleh simulasi ini. Faktanya, simulasi tidak mungkin menggunakan , karena harus memetakan ke keadaan di mana jejak panjang dimungkinkan, sehingga harus ; harus memetakan ke penerus dengan label , jadi itu atau , tetapi negara itu juga harus memiliki jejak panjang , jadi harus ; dan dengan alasan yang sama harus memetakan ker r s ′ 2 s p ′ s ′ c p r 1 p q ′ q rR2={(s′,s),(p′,p),(q′,q)}rrs′2sp′s′cpr1pq′q , tidak meninggalkan kemungkinan memetakan keadaan apa pun ke .r
Simuasi dalam satu arah harus mengirim suatu tempat. Simulasi ke arah lain harus menghindari . Oleh karena itu tidak ada hubungan yang merupakan simulasi di kedua arah: sistem tidak bisimilar.rrr
Perbedaan antara kedua mesin tersebut adalah bahwa mesin yang baik adalah deterministik dan (dengan asumsi liveness) selalu memberikan teh jika Anda memasukkan koin, sedangkan mesin jahat mungkin dengan mengambil koin tetapi menjadi macet, tidak dapat mengirimkan teh.
Perbedaan semacam ini sering muncul dalam studi sistem konkuren. Jawaban jmad menunjukkan proses CCS dengan LTS ini.
Untuk informasi lebih lanjut tentang bisimulasi, saya sarankan catatan Davide Sangiorgi tentang asal usul bisimulasi dan koinduksi . (Ini latihan 1 hal. 29, dan catatan menggunakan contoh yang sama.)
Jawaban Gilles sangat bagus dan formal, dan memang, jika disimulasikan oleh dengan relasi , dan disimulasikan oleh dengan kebalikan dari , maka adalah bisimulasi. L T S 2 R L T S 2 L T S 1LTS1 LTS2 R LTS2 LTS1 RR R
Namun, jika kedua relasi tersebut bukan kebalikan dari satu sama lain, maka Anda mungkin tidak dapat membangun bisimulasi. Misalnya, contoh sederhana berasal dari fakta bahwa relasi kosong adalah simulasi untuk LTS apa pun. Jadi, kita dapat membuat disimulasikan oleh dengan relasi , dan disimulasikan oleh dengan relasi kosong, namun belum tentu merupakan bisimulasi (walaupun perhatikan bahwa relasi kosong juga merupakan bisimulasi untuk setiap LTS). L T S 2 R L T S 2 L T S 1 RLTS1 LTS2 R LTS2 LTS1 R
sumber