Kapan dua simulasi bukan bisimulasi?

20

Diberi sistem transisi berlabel , di mana adalah seperangkat status, adalah seperangkat label, dan adalah hubungan terner. Seperti biasa, tulis untuk . Transisi berlabel menunjukkan bahwa sistem dalam keadaan mengubah status ke dengan label , yang berarti bahwa adalah beberapa tindakan yang dapat diamati yang menyebabkan perubahan keadaan.S Λ S × Λ × S p α q ( p , α , q ) p α q p q α α(S,Λ,)SΛ→⊆S×Λ×Spαq(p,α,q)∈→pαqpqαα

Sekarang relasi disebut simulasi iff RS×S

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

Satu LTS dikatakan mensimulasikan yang lain jika ada hubungan simulasi di antara mereka.

Demikian pula, relasi adalah bisimulasi iffRS×S jika  p α p  maka  q ,(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.

Dua LTS dikatakan bisimilar jika ada bisimulasi di antara ruang negara mereka.

Jelas kedua gagasan ini sangat terkait, tetapi keduanya tidak sama.

Dalam kondisi seperti apa LTS mensimulasikan yang lain dan sebaliknya, tetapi kedua LTS itu tidak bisimilar?

Dave Clarke
sumber

Jawaban:

12

Karena proses CCS bernilai seribu piksel - dan mudah untuk melihat LTS yang mendasarinya - berikut adalah dua proses yang mensimulasikan satu sama lain tetapi tidak bisimilar:

Q = a b

P=ab+a
Q=ab

R1={(ab+a,ab),(b,b),(0,b),(0,0)} adalah simulasi.

R2={(ab,ab+a),(b,b),(0,0)} adalah simulasi.

Q R 2 P P Q P a 0 Q ' Q a Q ' b 0 bP R1 Q dan tetapi dan tidak bisimilar. Kenapa tidak? Karena dan satu-satunya sehingga adalah ... dan tidak sama dengan .Q R2 PPQPa0QQaQb0b

Mengapa mereka bisa saling mensimulasikan? Karena mensimulasikan karena dapat melakukan segala tidak. Dan mensimulasikan karena meskipun bisa masuk satu -Langkah untuk program yang tidak apa-apa, masih melakukan itu -Langkah, dan itu semua yang diperlukan untuk mensimulasikan sesuatu. Perbedaan utama dengan bisimulasi adalah bahwa, seperti kata Charles, Anda harus menghubungkan proses yang sama dengan kedua simulasi. (yaitu sedemikian rupa sehingga keduanya dan adalah simulasi)Q Q Q P P a Q a R R R - 1PQQQPPaQaRRR1

jmad
sumber
10

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

pilihan awal dan terlambat

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)}rrs2spscpr1pqq , 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.)

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Fakta bahwa dua simulasi satu arah tidak sama dengan bisimilaritas menunjukkan kepada saya bahwa simulasi bukanlah ide perkiraan yang tepat di hadapan nondeterminisme. Apakah ada ide lain yang dipertimbangkan?
Uday Reddy
2

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 1LTS1LTS2RLTS2LTS1RRR

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 RLTS1LTS2RLTS2LTS1R

Charles
sumber
Saya kira apa yang ingin saya katakan adalah bahwa sebenarnya, selalu merupakan kasus bahwa dua LTS adalah bisimilar, jadi pertanyaan sebenarnya adalah apakah hubungan tertentu adalah simulasi (bi).
Charles