มีการทดสอบที่มีประสิทธิภาพหรือไม่หาก NFA ยอมรับชุดย่อยของ NFA อื่นหรือไม่


12

ดังนั้นฉันรู้ว่าการทดสอบว่าภาษาปกติเป็นชุดย่อยของภาษาปกติสามารถถอดรหัสได้เนื่องจากเราสามารถแปลงทั้งสองเป็น DFA ได้คำนวณแล้วทดสอบว่าภาษานี้ว่างเปล่าหรือไม่RSRS¯

อย่างไรก็ตามเนื่องจากสิ่งนี้ต้องการการแปลงเป็น DFA จึงเป็นไปได้ที่ DFAs และดังนั้นขั้นตอนวิธีการทดสอบจะเป็นแบบเอ็กซ์โปเนนเชียลในแง่ของจำนวนรัฐในอินพุต NFA

มีวิธีที่รู้จักกันในการทำสิ่งนี้ในเวลาพหุนามหรือไม่? โดยทั่วไปปัญหานี้ได้รับการพิสูจน์แล้วว่า Co-NP เสร็จสมบูรณ์หรือไม่

โปรดทราบว่าปัญหาอยู่ใน Co-NP ตั้งแต่คำรับการยอมรับจากแต่ไม่ได้โดยจะเป็นผู้รับรองว่าพหุนามSRSRS

แก้ไข: สิ่งนี้ไม่ถูกต้องเนื่องจากไม่มีการรับประกันว่าคำดังกล่าวจะเป็นพหุนามในจำนวนสถานะ


1
นี่เป็นคำถามเชิงทฤษฎีหรือในทางปฏิบัติ บางครั้งสำหรับ "การแจกจ่าย" โดยเฉพาะอย่างยิ่งของอินพุตที่พบในทางปฏิบัติปัญหาที่สมบูรณ์ของ Pspace อาจเป็น "runnable" ในเวลา P
vzn

เป็นการดีทางทฤษฎี แต่บทพิสูจน์ที่ฉันกำลังทำอยู่นั้นได้รับแรงผลักดันอย่างมากจากการทดสอบคอมพิวเตอร์ซึ่งหมายความว่าอัลกอริทึมที่รวดเร็วจะมีประโยชน์อย่างแน่นอน
jmite

ดังนั้นใช่มีอัลกอริทึม straightfwd สวยที่ทำงานโดยเพียงแค่ติดตามการเปลี่ยนแปลงในแบบคู่ขนานสำหรับแต่ละเครื่องสองเครื่องและติดตามชุดสถานะที่เกิดขึ้นค่อนข้างคล้ายกับอัลกอริทึมการกำหนด std ไม่รู้ว่ามันอยู่ในวรรณคดีที่ไหนสักแห่งมันง่ายมากที่จะเข้าใจ คุณใช้อัลกอริทึมอยู่แล้ว? มันจะเป็นประโยชน์ถ้าคุณอ้างอิง รายละเอียดเพิ่มเติมเกี่ยวกับประเภทของอินพุตจะเป็นประโยชน์ ดูเหมือนว่าคุณต้องการพิจารณาว่าจุดตัดของ NFA สองแห่งนั้นว่างเปล่าหรือไม่? คุณต้องการภาษาของทางแยกหรือเพียงแค่ Y / N ถ้ามันไม่ว่างเปล่า?
vzn

ฉันแค่มองหาถ้ามันว่างเปล่าความคิดที่เป็นฉันกำลังมองหากเพื่อทดสอบว่าS อัลกอริทึมการเปลี่ยนแปลงขนานทำงานฉันคิดว่าส่วนที่ยากคือการชมเชยของ NFA คุณต้องแปลงเป็น DFA ก่อน อัลกอริทึมที่ฉันใช้อยู่ในขณะนี้เป็นเพียงกำลังดุร้ายเนื่องจากฉันเกี่ยวข้องกับภาษาที่ จำกัด เท่านั้น RS={}RS
jmite

เชื่อว่าอาจมีวิธีในการสำรวจ NFA ทั้งสองโดยไม่ต้องแปลงเป็น DFA ที่ 1 แม้แต่การหาส่วนประกอบที่สมบูรณ์ แต่ havent เห็นมันในการอ้างอิง
vzn

คำตอบ:


15

ปัญหาในการตัดสินใจเลือกการบรรจุภาษาใน NFAs คือ - ไม่สมบูรณ์ เพื่อพิสูจน์สิ่งนี้มันง่ายที่จะลดจากปัญหาความเป็นสากลสำหรับ NFAs (ทดสอบว่า ) ดังนั้นในทางที่คุณต้องกำหนด แต่คุณอาจทำเช่นนั้นได้ทันทีPSPACEL(A)=Σ

การสังเกตของคุณเกี่ยวกับ co-NP นั้นผิด (แต่ดี) พยานดังกล่าวสามารถตรวจสอบได้ในเวลาพหุนามในพยานแต่พยานที่สั้นที่สุดอาจเป็นเลขยกกำลังตามความยาวของข้อมูล ตั้งแต่ดังนั้นการตัดสินใจที่ไม่ใช่การบรรจุจึงเป็น -completePSPACE=coPSPACEPSPACE

สิ่งที่รัฐอย่างระมัดระวังมากขึ้น, การตัดสินใจว่าเป็นในขนาดของ (ตั้งแต่เพียงจะต้องสมบูรณ์) และในขนาดของL(A)L(B)PSPACEBBNLOGSPACEA


คุณพูดถูก ฉันได้รับการจัดการกับระดับเฉพาะของ NFAs ที่สิ่งที่ฉันพูดถือ แต่มันอาจไม่แน่นอนกับ NFA ทั่วไปไม่มีที่สิ้นสุด ขอบคุณ!
jmite

คุณจะไม่มีการอ้างอิงถึงกระดาษหรือตำราเรียนที่พิสูจน์ว่า PSPACE สมบูรณ์ใช่มั้ย
jmite

1
มันไม่ใช่ข้อพิสูจน์ที่ละเอียดมาก แต่ฉันคิดว่ามันน่าจะเป็น: wise.weizmann.ac.il/~vardi/av/notes/lec4.ps
Shaull

4

คุณควรมีลักษณะที่เป็นกระดาษ Jean-François Raskin ของantichain อัลกอริทึมสำหรับออโต

ในการทดสอบของเราการทดสอบแบบรวม antichain ทำหนึ่งหรือสองคำสั่งของขนาดที่ดีกว่าวิธี "แบบดั้งเดิม"

หากฉันจำอย่างถูกต้องอัลกอริทึมนี้จะนำไปใช้ในไลบรารีlibAMoRE ++


3

หนึ่งในสิ่งที่ดีที่สุดอย่างละเอียดมากที่สุดรัฐของศิลปะและการเพิ่มประสิทธิภาพสูง, ฟรี FSM ห้องสมุดออนไลน์ที่มีอยู่เป็นห้องสมุดของ AT & T FSM มันใช้"fsmdifference"ตรงตามที่คุณอธิบายต้องใช้ FSM ที่ปราศจากเอปไซลอนที่กำหนดเพื่อสร้างความแตกต่าง แนวคิดหนึ่งคือการลด FSM หนึ่งหรือทั้งคู่ให้น้อยที่สุดก่อนทำสิ่งที่แตกต่างซึ่งอาจช่วยได้ในบางกรณี (เช่นการกำหนดนั้นไม่เหมือนกับการย่อขนาดเล็กสุด) แพ็คเกจนี้ยังมีการย่อขนาดแบบ "โดยประมาณ" หรือ "โลภ" ที่ออกแบบมาให้เร็วกว่าการย่อขนาดแบบเต็ม

อย่างไรก็ตามการศึกษาปัญหาที่คล้ายกันฉันเชื่อว่ามีลักษณะทั่วไปหรือการสร้าง FSM ที่ไม่ปรากฏในวรรณคดีที่สามารถช่วยแก้ไขปัญหานี้ได้โดยหลีกเลี่ยงขั้นตอนการกำหนดเช่นโดยทั่วไปจะเป็นการยกเลิก NFA โดยไม่ต้องสร้าง FSM ที่กำหนดเพิ่มเติม แนวคิดคือการข้ามขอบ NFA "ในแบบคู่ขนาน" และติดตามชุดของโหนดที่เป็นส่วนหนึ่งของ "superstate" ปัจจุบัน (ชุดสถานะ) เช่นเดียวกับอัลกอริทึมการกำหนดมาตรฐาน จากนั้นส่วนประกอบเสริมของ NFA จะยอมรับได้หากว่าโหนดของ superstate ปัจจุบันนั้นเป็น "nonaccepting" ทั้งหมด (ตรงกันข้ามกับการก่อสร้างที่กำหนดซึ่งยอมรับ iff "การยอมรับใด ๆ ")

อย่างไรก็ตามฉันไม่เคยเห็นสิ่งนี้เขียนขึ้นมาก่อนและไม่เห็นผ่านการค้นหาออนไลน์อย่างรวดเร็ว มีการอ้างอิงจำนวนมากที่แนะนำหรือบอกเป็นนัยว่าวิธีเดียวที่จะทำงานกับส่วนประกอบของ NFA คือการพิจารณา

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

[1] การก่อสร้างจุดตัดของ Nondeterministic Finite Automata โดยใช้ Z Notation Nazir Ahmad Zafar, Nabeel Sabir และ Amir Ali

[2] การรวมกันของสิ่งก่อสร้างสำหรับ Nondeterministic Automata บนคำอนันต์ Orna Kupferman และ Moshe Vardi

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.