เมื่อใดที่การจำลองทั้งสองไม่ได้เป็นการแบ่งครึ่ง


20

เมื่อได้รับการเปลี่ยนระบบ โดยที่คือชุดของรัฐเป็นชุดของป้ายกำกับและเป็นความสัมพันธ์แบบไตรภาค ตามปกติการเขียนสำหรับ(P,การเปลี่ยนเลเบลแสดงว่าระบบในสถานะเปลี่ยนสถานะเป็นด้วยเลเบลซึ่งหมายความว่าเป็นการกระทำที่สังเกตได้ซึ่งทำให้เกิดการเปลี่ยนแปลงสถานะS Λ S × Λ × S P α Q ( P , α , Q ) P α คิวพีคิวα α(S,Λ,)SΛ→⊆S×Λ×Spαq(p,α,q)∈→pαqpqαα

ตอนนี้ความสัมพันธ์เรียกว่าการจำลอง iff RS×S

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

มีการกล่าวถึง LTS หนึ่งรายการเพื่อจำลองอีกแบบหนึ่งหากมีความสัมพันธ์แบบจำลองอยู่ระหว่างพวกเขา

ในทำนองเดียวกันความสัมพันธ์คือbisimulation iff startRS×S ถ้า  พีอัลฟ่า→การ P '  แล้ว  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.

LTS สองตัวถูกกล่าวว่าเป็น bisimilar ถ้ามี bisimulation ระหว่างพื้นที่ของรัฐ

เห็นได้ชัดว่าแนวคิดทั้งสองนี้เกี่ยวข้องกันมาก แต่ไม่เหมือนกัน

ภายใต้เงื่อนไขใดที่ LTS เลียนแบบอีกรูปแบบหนึ่งและในทางกลับกัน แต่ LTS สองรายการนั้นไม่มีความผิดปกติ?

คำตอบ:


12

เนื่องจากกระบวนการ CCS มีค่าหนึ่งพันพิกเซล - และง่ายต่อการดู LTS พื้นฐาน - ต่อไปนี้เป็นสองกระบวนการที่จำลองซึ่งกันและกัน แต่ไม่ใช่แบบสองมิติ:

P=ab+a
Q=ab

R1={(ab+a,ab),(b,b),(0,b),(0,0)}เป็นการจำลอง

R2={(ab,ab+a),(b,b),(0,0)}เป็นการจำลอง

P R1 Qและแต่และไม่ใช่ bisimilar ทำไมจะไม่ล่ะ? เพราะและมีเพียงเช่นนั้นเป็น ... และไม่ bisimilar จะขQ R2 PPQPa0QQaQb0b

ทำไมพวกเขาถึงจำลองสถานการณ์กันได้? เพราะจำลองเนื่องจากสามารถทำทุกอย่างที่ทำ และจำลองเพราะแม้ว่าสามารถไปในหนึ่ง-step โปรแกรมที่ไม่ได้ทำอะไรให้จะยังคงทำเช่นนั้น-step และนั่นคือทั้งหมดที่ใช้ในการจำลองบางสิ่งบางอย่าง ความแตกต่างที่สำคัญกับ bisimulation จริงๆแล้วดังที่ Charles กล่าวคุณต้องเกี่ยวข้องกับกระบวนการเดียวกันกับการจำลองทั้งสอง (นั่นคือซึ่งทั้งและเป็นแบบจำลอง)PQQQPPaQaRRR1


10

แม้ว่าจะมีการจำลองในแต่ละทิศทางการจำลองไปมาอาจไม่เกี่ยวข้องกับชุดสถานะเดียวกัน บางครั้งคุณมีการจำลองในทิศทางเดียวและการจำลองในทิศทางอื่นและสองสถานะและซึ่งเกี่ยวข้องโดยแต่ไม่ใช่โดยหรือโดยการจำลองอื่น ๆ ในทิศทางเดียวกันR1R2p1qR1R2

ตัวอย่างที่ยอมรับเป็นสองระบบที่มีร่องรอยเดียวกันยังทำให้ตัวเลือกที่แตกต่างกัน พิจารณาเครื่องดื่มสองเครื่อง: เครื่องแรก (เครื่องที่ชั่วร้าย) ใช้เหรียญ ( c) และไม่ตัดสินใจอย่างเด็ดขาดว่าจะส่งมอบถ้วยชา ( t) หรือไม่ เครื่องที่สอง (เครื่องที่ดี) ใช้เหรียญ ( c) และส่งชาหนึ่งถ้วย ( t)

ตัวเลือกต้นและปลาย

เครื่องดีเลียนแบบเครื่องชั่วร้าย: ใช้\} การเปลี่ยนขาออกทั้งหมดของรัฐได้รับการคุ้มครองรวมถึง (ซึ่งไม่มีการเปลี่ยนแปลงขาออกดังนั้นจึงเป็นเรื่องเล็กน้อย) แจ้งให้ทราบว่าเครื่องที่ดีลืมความแตกต่างระหว่างและPR1={(s,s),(p,p),(q,q),(r,p)}rrp

เครื่องชั่วร้ายจำลองเครื่องที่ดี: ใช้\} การจำลองนี้ไม่ได้ใช้สถานะในความเป็นจริงมันเป็นไปไม่ได้ที่การจำลองจะใช้เนื่องจากต้องแม็พเข้าสู่สถานะที่สามารถติดตามความยาวได้ดังนั้นจึงต้องเป็น ; ต้องแมปไปยังตัวตายตัวแทนของมีเลเบลดังนั้นจึงเป็นหรือแต่สถานะนั้นจะต้องมีความยาวที่เป็นไปได้ดังนั้นจึงต้องเป็น ; และด้วยเหตุผลเดียวกันต้องแม็พกับR2={(s,s),(p,p),(q,q)}rrs2spscpr1pqqออกจากความเป็นไปได้ของการทำแผนที่ของรัฐใด ๆ ที่ไม่มีRr

simuation ในทิศทางเดียวต้องส่งที่ไหนสักแห่ง จำลองในอีกทิศทางที่ต้องหลีกเลี่ยงRดังนั้นจึงไม่มีความสัมพันธ์ที่เป็นการจำลองทั้งสองทิศทาง: ระบบไม่ได้เป็นแบบสองมิติrr

ความแตกต่างระหว่างเครื่องจักรสองเครื่องคือเครื่องจักรที่ดีนั้นถูกกำหนดไว้แล้วและ (สมมติว่ามีชีวิตชีวา) จะให้ชาเสมอหากคุณใส่เหรียญในขณะที่เครื่องจักรที่ชั่วร้ายอาจใช้เหรียญ แต่ติดอยู่ไม่สามารถส่งชาได้

ความแตกต่างนี้เกิดขึ้นบ่อยครั้งในการศึกษาระบบที่เกิดขึ้นพร้อมกัน คำตอบของ jmadแสดงกระบวนการ CCS ด้วย LTS นี้

สำหรับข้อมูลเพิ่มเติมเกี่ยว bisimulations ผมขอแนะนำให้บันทึก Davide Sangiorgi ของเกี่ยวกับต้นกำเนิดของ bisimulation และ coinduction (นี่คือแบบฝึกหัด 1 หน้า 29 และโน้ตใช้ตัวอย่างเดียวกัน)


ความจริงที่ว่าการจำลองแบบทางเดียวสองทางไม่เท่ากันแสดงให้ฉันเห็นว่าการจำลองไม่ใช่ความคิดที่ถูกต้องของการประมาณค่าในการปรากฏตัวของ nondeterminism มีความคิดอื่น ๆ ที่ได้รับการพิจารณาหรือไม่?
Uday Reddy

2

คำตอบของ Gilles นั้นดีมากและเป็นทางการและแน่นอนถ้าถูกจำลองโดยมีความสัมพันธ์และถูกจำลองโดยกับการผกผันของดังนั้นคือ bisimulationLTS1LTS2RLTS2LTS1RR

อย่างไรก็ตามหากความสัมพันธ์ทั้งสองไม่ใช่การผกผันของกันและกันคุณอาจไม่สามารถสร้าง bisimulation ได้ ตัวอย่างเช่นตัวอย่างง่ายๆมาจากข้อเท็จจริงที่ว่าความสัมพันธ์ที่ว่างเปล่าเป็นการจำลองสถานการณ์สำหรับ LTS ใด ๆ ดังนั้นเราสามารถให้ถูกจำลองโดยโดยมีความสัมพันธ์และถูกจำลองโดยกับความสัมพันธ์ที่ว่างเปล่าและก็ไม่จำเป็นต้องมีการแบ่งครึ่ง L T S 2 R L T S 2 L T S 1 RLTS1LTS2RLTS2LTS1R


ฉันเดาว่าสิ่งที่ฉันพยายามจะพูดคือที่จริงแล้วมันเป็นกรณีที่ LTS สองตัวนั้นมีความผิดปกติดังนั้นคำถามที่เกิดขึ้นจริงก็คือว่าความสัมพันธ์ที่เฉพาะเจาะจงนั้นเป็นการจำลองแบบ (bi) หรือไม่
Charles
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.