อ่าน 8 นาที
การจำลองแบบไบซิเมชั่น
ใน วิทยาการคอมพิวเตอร์เชิงทฤษฎี บิ ซิมูเลชัน (bisimulation) คือ ความสัมพันธ์แบบไบนารี ระหว่าง ระบบการเปลี่ยน สถานะ โดยเชื่อมโยงระบบที่มีพฤติกรรมเหมือนกัน กล่าวคือ...
การจำลองแบบไบซิเมชั่น
ในวิทยาการคอมพิวเตอร์เชิงทฤษฎีบิซิมูเลชัน (bisimulation)คือความสัมพันธ์แบบไบนารีระหว่างระบบการเปลี่ยน สถานะ โดยเชื่อมโยงระบบที่มีพฤติกรรมเหมือนกัน กล่าวคือ ระบบหนึ่งจำลองอีกระบบหนึ่ง และในทางกลับกัน
โดยทั่วไปแล้ว ระบบสองระบบจะมีความคล้ายคลึงกันแบบทวิภาวะ (bisimilar) หากสมมติว่าเรามองว่าระบบทั้งสองกำลังเล่นเกมตามกฎบางอย่าง ระบบทั้งสองจะมีท่าทีที่ตรงกัน ในแง่นี้ ผู้สังเกตการณ์จะไม่สามารถแยกแยะระบบแต่ละระบบออกจากกันได้
คำจำกัดความอย่างเป็นทางการ
เมื่อกำหนดระบบการเปลี่ยนสถานะที่มีป้ายกำกับ( S , Λ, →)โดยที่Sคือเซตของสถานะ Λ คือเซตของป้ายกำกับ และ → คือเซตของการเปลี่ยนสถานะที่มีป้ายกำกับ (กล่าวคือ เซตย่อยของ Λ ) การจำลอง แบบคู่ (bisimulation) คือความสัมพันธ์แบบไบนารีโดยที่ทั้งRและส่วนกลับ ของ R เป็นการจำลองจากนี้จึงสรุปได้ว่า การปิด แบบสมมาตรของการจำลองแบบคู่เป็นการจำลองแบบคู่ และการจำลองแบบสมมาตรแต่ละครั้งเป็นการจำลองแบบคู่ ดังนั้นผู้เขียนบางคนจึงกำหนดการจำลองแบบคู่เป็นการจำลองแบบสมมาตร[ 1 ]
กล่าวอีกนัยหนึ่งRเป็นบิซิมูเลชันก็ต่อเมื่อสำหรับทุกคู่สถานะในRและป้ายกำกับλ ทั้งหมด ใน:
- ถ้าเช่นนั้นจะมีอยู่จริงที่ ทำให้ ;
- ถ้าเช่นนั้นจะมีอยู่จริงที่ทำให้
กำหนดให้ pและqเป็นสถานะคู่ขนานกับqเขียนแทนด้วย ก็ต่อเมื่อมีคู่ขนานRที่ทำให้ ซึ่งหมายความว่าความสัมพันธ์ของคู่ขนาน∼ คือการรวมกันของคู่ขนานทั้งหมดกล่าวคือ เมื่อสำหรับคู่ขนานR บางตัว
เซตของการจำลองแบบคู่ปิดภายใต้การรวมกัน[หมายเหตุ 1 ]ดังนั้น ความสัมพันธ์ความคล้ายคลึงแบบคู่จึงเป็นการจำลองแบบคู่ด้วยตัวมันเอง เนื่องจากเป็นผลรวมของการจำลองแบบคู่ทั้งหมด จึงเป็นการจำลองแบบคู่ที่ใหญ่ที่สุดเพียงหนึ่งเดียว การจำลองแบบคู่ยังปิดภายใต้การปิดแบบสะท้อน สมมาตร และถ่ายทอด ดังนั้น การจำลองแบบคู่ที่ใหญ่ที่สุดจะต้องสะท้อน สมมาตร และถ่ายทอด จากนี้จึงสรุปได้ว่าการจำลองแบบคู่ที่ใหญ่ที่สุด—ความคล้ายคลึงแบบคู่ — เป็นความสัมพันธ์สมมูล[ 2 ]
คำจำกัดความทางเลือก
นิยามเชิงสัมพันธ์
การจำลองแบบคู่ (Bisimulation) สามารถนิยามได้ในแง่ของการประกอบความสัมพันธ์ดังต่อไปนี้
เมื่อกำหนดระบบการเปลี่ยนสถานะที่มีป้ายกำกับแล้ว ความสัมพันธ์แบบบิซิมูเลชันคือความสัมพันธ์ทวิภาคRบนS (กล่าวคือR ⊆ S × S ) โดยที่
และ
จากความเป็นเอกภาคและความต่อเนื่องของการประกอบความสัมพันธ์ ทำให้สรุปได้ทันทีว่าเซตของการจำลองแบบคู่ปิดภายใต้การรวม ( การเชื่อมต่อในเซตลำดับของความสัมพันธ์) และการคำนวณทางพีชคณิตอย่างง่ายแสดงให้เห็นว่าความสัมพันธ์ของความคล้ายคลึงแบบคู่—การเชื่อมต่อของการจำลองแบบคู่ทั้งหมด—เป็นความสัมพันธ์สมมูล คำจำกัดความนี้และการจัดการความคล้ายคลึงแบบคู่ที่เกี่ยวข้อง สามารถตีความได้ในควอนทาล ผกผันใดๆ ก็ได้
คำจำกัดความของจุดตรึง
ความคล้ายคลึงแบบทวิภาค (Bisimilarity) สามารถนิยามได้ในเชิงทฤษฎีลำดับโดยใช้ทฤษฎีจุดตรึง (Fixpoint Theory ) กล่าวคือ จุดตรึงที่ใหญ่ที่สุดของฟังก์ชันบางอย่างที่กำหนดไว้ด้านล่าง
กำหนดระบบการเปลี่ยนสถานะที่มีป้ายกำกับ ( , Λ, →) ให้เป็นฟังก์ชันจากความสัมพันธ์ทวิภาคบน ไปยังความสัมพันธ์ทวิภาคบนดังต่อไปนี้:
ให้เป็นความสัมพันธ์ทวิภาคใดๆ บนโดยกำหนดให้ เป็นเซตของคู่ทั้งหมดใน× ที่มีคุณสมบัติดังนี้:
และ
ความคล้ายคลึงแบบทวิภาค (Bisimilarity ) ถูกกำหนดให้เป็นจุดคงที่ที่ใหญ่ที่สุดของ
คำจำกัดความของเกมเอห์เรนฟอยช์-ฟราอิสเซ่
การจำลองแบบสองมิติยังสามารถคิดได้ในแง่ของเกมระหว่างผู้เล่นสองคน: ผู้โจมตีและผู้ป้องกัน[ 3 ]
"ผู้โจมตี" จะเป็นฝ่ายเริ่มก่อนและสามารถเลือกการเปลี่ยนสถานะที่ถูกต้องใดๆ ก็ได้จากนั่นคือ หรือ
จากนั้น "ฝ่ายป้องกัน" จะต้องพยายามจับคู่การเปลี่ยนแปลงนั้นไม่ว่าจะจากหรือขึ้นอยู่กับการเคลื่อนไหวของฝ่ายโจมตี กล่าวคือ พวกเขาต้องหา ที่ทำให้: หรือ
ผู้โจมตีและผู้ป้องกันจะผลัดกันเล่นไปเรื่อยๆ จนกระทั่ง:
- ฝ่ายป้องกันไม่สามารถหาการเปลี่ยนผ่านที่เหมาะสมเพื่อรับมือกับการเคลื่อนไหวของฝ่ายโจมตีได้ ในกรณีนี้ ฝ่ายโจมตีเป็นฝ่ายชนะ
- เกมจะเข้าสู่สถานะที่ "ตาย" ทั้งคู่ (กล่าวคือ ไม่มีการเปลี่ยนสถานะจากสถานะใดสถานะหนึ่ง) ในกรณีนี้ ฝ่ายป้องกันจะเป็นฝ่ายชนะ
- เกมดำเนินต่อไปเรื่อยๆ ไม่มีวันจบ ในกรณีนั้นฝ่ายรับจะเป็นผู้ชนะ
- เกมจะดำเนินไปถึงสถานะที่เคยเล่นมาแล้ว ซึ่งเทียบเท่ากับการเล่นแบบไม่สิ้นสุด และถือเป็นชัยชนะของฝ่ายป้องกัน
ตามคำจำกัดความข้างต้น ระบบจะเป็นการจำลองแบบสองด้าน (bisimulation) ก็ต่อเมื่อมีกลยุทธ์ที่ทำให้ฝ่ายป้องกันชนะเท่านั้น
นิยามโคอัลเจบราอิก
การจำลองแบบคู่สำหรับระบบการเปลี่ยนสถานะเป็นกรณีพิเศษของการจำลองแบบคู่เชิงโคอัลจีบรา สำหรับ ฟังก์ชัน กำลังเซตแบบโคแวเรียนต์ โปรดทราบว่าระบบการเปลี่ยนสถานะทุกระบบสามารถแมปแบบหนึ่งต่อหนึ่งไปยังฟังก์ชันจากไปยังกำลังเซตของที่มีดัชนีโดยเขียนเป็น ซึ่งกำหนดโดย
ให้เป็นการฉายภาพที่ n ซึ่งแมป ไปยังและตามลำดับสำหรับ; และ ภาพส่งต่อของที่กำหนดโดยการตัดส่วนประกอบที่สามออก โดยที่เป็นเซตย่อยของ ในทำนองเดียวกันสำหรับ
โดยใช้สัญลักษณ์ข้างต้น ความสัมพันธ์จะเป็นการจำลองแบบคู่บนระบบการเปลี่ยนสถานะก็ต่อเมื่อมีระบบการเปลี่ยนสถานะบนความสัมพันธ์นั้น อยู่ ซึ่ง แผนภาพ จะเป็นไปตามเงื่อนไข ดังกล่าว
สลับตำแหน่งกันได้ กล่าวคือ สำหรับสมการ จะเป็นจริง โดยที่คือการแสดงฟังก์ชันของ
รูปแบบต่างๆ ของการจำลองแบบคู่
ในบริบทพิเศษ แนวคิดของการจำลองแบบคู่ขนานบางครั้งได้รับการปรับปรุงโดยการเพิ่มข้อกำหนดหรือข้อจำกัดเพิ่มเติม ตัวอย่างเช่นการจำลองแบบคู่ขนานแบบกระตุกซึ่งการเปลี่ยนผ่านหนึ่งครั้งของระบบหนึ่งอาจจับคู่กับการเปลี่ยนผ่านหลายครั้งของอีกระบบหนึ่งได้ โดยมีเงื่อนไขว่าสถานะระหว่างกลางต้องเทียบเท่ากับสถานะเริ่มต้น ("กระตุก") [ 4 ]
รูปแบบที่แตกต่างออกไปจะถูกนำมาใช้หากระบบการเปลี่ยนสถานะรวมถึงแนวคิดของการกระทำเงียบ (หรือภายใน ) ซึ่งมักจะแสดงด้วย เช่น การกระทำที่ไม่สามารถมองเห็นได้โดยผู้สังเกตภายนอก ในกรณีนี้ การจำลองแบบคู่ (bisimulation) สามารถผ่อนคลายลงเป็นการจำลองแบบคู่ที่อ่อน (weak bisimulation ) ซึ่งหากสถานะสองสถานะและมีความคล้ายคลึงกันแบบคู่ (bisimilar) และมีการกระทำภายในจำนวนหนึ่งที่นำจาก ไปยังสถานะใดสถานะหนึ่งก็จะต้องมีสถานะ อยู่เช่นกันที่มีการกระทำภายในจำนวนหนึ่ง (อาจเป็นศูนย์) ที่นำจาก ไปยังความสัมพันธ์บนกระบวนการเป็นการจำลองแบบคู่ที่อ่อนหากเงื่อนไขต่อไปนี้เป็นจริง (โดยที่และเป็นการเปลี่ยนสถานะที่สังเกตได้และเงียบตามลำดับ):
สิ่งนี้มีความเกี่ยวข้องอย่างใกล้ชิดกับแนวคิดของการจำลองแบบคู่ " จนถึง " ความสัมพันธ์[ 5 ]
โดยทั่วไป หากระบบการเปลี่ยนสถานะให้ความหมายเชิงปฏิบัติการของภาษาโปรแกรมแล้ว คำจำกัดความที่แม่นยำของบิซิมูเลชันจะขึ้นอยู่กับข้อจำกัดของภาษาโปรแกรมนั้นๆ ดังนั้น โดยทั่วไปแล้ว อาจมีความสัมพันธ์แบบบิซิมูเลชัน (หรือบิซิมิลาริตี) มากกว่าหนึ่งประเภท ขึ้นอยู่กับบริบท
การจำลองแบบคู่และตรรกะเชิงโมดอล
เนื่องจากแบบจำลอง Kripkeเป็นกรณีพิเศษของระบบการเปลี่ยนสถานะ (ที่มีป้ายกำกับ) การจำลองแบบคู่จึงเป็นหัวข้อหนึ่งในตรรกศาสตร์เชิงโมดอลด้วย อันที่จริง ตรรกศาสตร์เชิงโมดอลเป็นส่วนหนึ่งของตรรกศาสตร์ลำดับที่หนึ่งที่ไม่เปลี่ยนแปลงภายใต้การจำลองแบบคู่ ( ทฤษฎีบทของ van Benthem )
อัลกอริทึม
การตรวจสอบว่าระบบการเปลี่ยนผ่านแบบจำกัดสองระบบมีความคล้ายคลึงกันแบบไบซิมิลาร์สามารถทำได้ในเวลาพหุนาม [ 6 ] อัลกอริทึมที่เร็วที่สุดใช้เวลากึ่งเชิงเส้น โดย ใช้การปรับปรุงพาร์ติชันผ่านการลดปัญหาพาร์ติชันที่ หยาบที่สุด
ดูเพิ่มเติม
หมายเหตุและเอกสารอ้างอิง
- หมายเหตุ
- ^หมายความว่า การรวมกันของสองไบซิเมชันก็คือไบซิเมชันนั่นเอง
- เอกสารอ้างอิง
- ^ Jančar & Srba 2008 .
- ^ มิลเนอ ร์ 1989
- ^ ส เตอร์ลิง 1999
- ↑ Baier & Katoen 2008 , หน้า 529, 536–578, 7.8 การจำลองแบบ Stutter Bisimulation
- ^ Pous 2005 .
- ^ Baier & Katoen 2008 , หน้า 494, บทสรุป 7.45 (ความซับซ้อนของการตรวจสอบความเท่าเทียมกันของ Bisimulation)
บรรณานุกรม
- ไบเออร์, คริสเทล ; คาโทน, จูสต์-ปีเตอร์ (2008) หลักการตรวจสอบแบบจำลอง เคมบริดจ์, แมสซาชูเซตส์: สำนักพิมพ์ MIT . ไอเอสบีเอ็น 978-0-262-02649-9. ลคซีเอ็น 2007037603 .
- Jančar, Petr; Srba, Jiří (2008). "ความไม่สามารถตัดสินได้ของ Bisimilarity โดย Defender's Forcing" . J. ACM . 55 (1). นิวยอร์ก, นิวยอร์ก, สหรัฐอเมริกา: Association for Computing Machinery: 26. doi : 10.1145/1326554.1326559 . ISSN 0004-5411 . S2CID 14878621 .
- มิลเนอร์, โรบิน (1989). การสื่อสารและการทำงานพร้อมกัน . สหรัฐอเมริกา: เพรนทิส ฮอลล์ . ISBN 0-13-114984-9.
- Pous, Damien (2005). "เทคนิค Up-to สำหรับการจำลองแบบอ่อน". Proc. 32nd ICALP . Lecture Notes in Computer Science . 3580. Springer Verlag: 730–741 .
- Stirling, Colin (1999). "Bisimulation, Modal Logic และเกมตรวจสอบแบบจำลอง" . Logic Journal of the IGPL . 7 (1): 103– 124.
อ่านเพิ่มเติม
- ปาร์ค, เดวิด (1981). "ความพร้อมกันและออโตมาตาบนลำดับอนันต์". ใน เดอเซน, ปีเตอร์ (บรรณาธิการ). วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี . รายงานการประชุม GI ครั้งที่ 5, คาร์ลสรูห์. บันทึกการบรรยายในวิทยาศาสตร์คอมพิวเตอร์ . เล่มที่ 104. สปริงเกอร์-เวอร์แลก . หน้า 167–183 . doi : 10.1007/BFb0017309 . ISBN 978-3-540-10576-3.
- Sangiorgi, Davide (2011). บทนำสู่ Bisimulation และ Coinduction . เคมบริดจ์ สหราชอาณาจักร: สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ISBN 9781107003637. OCLC 773040572 .
ลิงก์ภายนอก
เครื่องมือซอฟต์แวร์
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การจำลองแบบไบซิเมชั่น
ใน วิทยาการคอมพิวเตอร์เชิงทฤษฎี บิ ซิมูเลชัน (bisimulation) คือ ความสัมพันธ์แบบไบนารี ระหว่าง ระบบการเปลี่ยน สถานะ โดยเชื่อมโยงระบบที่มีพฤติกรรมเหมือนกัน กล่าวคือ...
คำจำกัดความอย่างเป็นทางการ
เมื่อกำหนด ระบบการเปลี่ยนสถานะที่มีป้ายกำกับ ( S , Λ, →) โดยที่ S คือเซตของสถานะ Λ คือเซตของป้ายกำกับ และ → คือเซตของการเปลี่ยนสถานะที่มีป้ายกำกับ (กล่าวคือ เซตย่อยของ Λ ) การจำลอง แบบคู่ (bisimulation) คือ ความสัมพันธ์แบบไบนารี โดยที่ทั้ง R และ ส่วนกลับ ของ...
นิยามเชิงสัมพันธ์
การจำลองแบบคู่ (Bisimulation) สามารถนิยามได้ในแง่ของ การประกอบความสัมพันธ์ ดังต่อไปนี้
คำจำกัดความของจุดตรึง
ความคล้ายคลึงแบบทวิภาค (Bisimilarity) สามารถนิยามได้ใน เชิงทฤษฎีลำดับ โดยใช้ ทฤษฎีจุดตรึง (Fixpoint Theory ) กล่าวคือ จุดตรึงที่ใหญ่ที่สุดของฟังก์ชันบางอย่างที่กำหนดไว้ด้านล่าง