ความคลุมเครือคงที่สามารถลดความซับซ้อนของสถานะของภาษาปกติได้หรือไม่?


16

เราบอกว่า NFA คือคลุมเครืออย่างต่อเนื่องถ้ามีอยู่k Nดังกล่าวว่าคำใด ๆW Σ *ได้รับการยอมรับโดยทั้ง0หรือ (ตรง) kเส้นทางMkNwΣ0k

ถ้าหุ่นยนต์อยู่ตลอดเวลาคลุมเครือสำหรับk = 1แล้วMเรียกว่าโปร่งใสเอฟเอ (ยู)Mk=1M

ให้เป็นภาษาปกติL

บางหุ่นยนต์คลุมเครืออย่างต่อเนื่องสามารถสำหรับLมีขนาดเล็กกว่ายูที่เล็กที่สุดที่ยอมรับL ? มันจะเล็กกว่านี้ไหม?McLL

หุ่นยนต์ที่คลุมเครืออย่างไม่มีขอบเขตจะเล็กกว่า CFA ที่เล็กที่สุดสำหรับภาษาเดียวกันได้หรือไม่?

เป็นที่ทราบกันดีว่ามีระบบออโตเมชั่นที่ไม่ชัดเจนอย่างชัดเจน (มีอยู่เช่นทุกคำที่ยอมรับได้ถึงk พา ธ ) ซึ่งมีขนาดเล็กกว่า UFA ที่เล็กที่สุดสำหรับภาษาเดียวกันk k

นี่เป็นคำถามที่เกี่ยวข้องที่ฉันโพสต์ไว้ที่นี่เมื่อไม่กี่เดือนที่ผ่านมา

แก้ไข:

คำตอบของ Domotorp แสดงให้เห็นว่านั้นสามารถลดเชิงพหุนามถึงU F Aได้ แต่ไม่ได้ตอบคำถามที่ว่าเราจะได้รับการลดพื้นที่พหุนามด้วยC F Aหรือไม่CFAUFACFA

ดังนั้นคำถามใหม่จะกลายเป็น: มีขนาดเล็กลงเท่าใด (เชิงเส้น / เป็นกำลังสอง / etc.) สามารถเปรียบเทียบกับU F A ที่น้อยที่สุดได้อย่างไร สำหรับภาษาเดียวกันCFAUFA


จะ -transitions ได้รับอนุญาต? ϵ
เดนิส

บางทีนี่อาจเป็นประโยชน์: ในKupke เมื่อแยกค่าคงที่จากความคลุมเครือแบบพหุนามของ Finite Automataลำดับชั้นต่อไปนี้จะถูกนำเสนอ: ผมไม่ได้ตรวจสอบกระดาษที่เกี่ยวข้องเพราะเป็นผู้อยู่เบื้องหลัง paywall dfa2nunfa2ncafa2n???2npafa2nnfa
Marzio De Biasi

ขอบคุณ @MarzioDeBiasi แต่น่าเสียดายที่มันไม่ได้ช่วย (ฉันก็หวังว่าเมื่อฉันเห็นงานนำเสนอ) พวกเขาใช้สัญลักษณ์ที่แตกต่างจากที่ฉันใช้ (และฉันเคยเห็นในเอกสารต่าง ๆ ) "ความกำกวมคงที่" ของพวกเขาคือสิ่งที่ฉันเรียกว่าความกำกวม จำกัด ดังนั้นความสัมพันธ์ระหว่าง Cafa และ UFA ของพวกเขาจึงเป็นที่รู้จักกันดีสำหรับฉัน เนื่องจากแอปพลิเคชันของฉันนับการแก้ปัญหา NPC ภาษาของฉันจึงมี จำกัด เสมอและดังนั้นทุกเส้นทางจึงได้รับการยอมรับจากเส้นทางซึ่งพวกเขาเรียกว่า "คงที่" O(1)
RB

ฉันสงสัยว่าคำจำกัดความของฉันจะช่วยลดความซับซ้อนของรัฐได้หรือไม่เนื่องจากฉันมี CFA ซึ่งมีขนาดเล็กกว่า UFA ที่เล็กที่สุดเท่าที่ฉันรู้จักในการสร้างและฉันก็สงสัยว่าเป็นไปได้หรือไม่
RB

1
@ Denis ใช่ แต่จะช่วยให้คุณลดความซับซ้อนของรัฐได้หรือไม่ ฉันคิดว่าคุณสามารถลดจำนวนขอบได้ด้วยการเคลื่อนไหวดังกล่าว
RB

คำตอบ:


4

ฉันเรียกร้องว่าถ้าสำหรับบางภาษามี CFA ด้วยกับรัฐและ0หรือยอมรับเส้นทางสำหรับทุกคำพูดแล้วมีความเป็นยูกับC s s รัฐ แนวคิดพื้นฐานก็คือว่ารัฐของ UFA คือ (สั่ง) tuples ของรัฐของ CFA และจะยอมรับถ้าหากทุกรัฐ c ยอมรับ แน่นอนว่าเราต้องตรวจสอบให้แน่ใจว่าสิ่งเหล่านี้เป็นการคำนวณที่แตกต่างกันอย่างแท้จริงและเราไม่ได้นับจำนวนทั้งหมด! พีชคณิตดังนั้นสำหรับเหล่านี้เราต้องบางพิเศษC sบิตของการจัดเก็บs0cCsscc!Cs

มากขึ้นอีกนิดอธิบายรายละเอียดของความคิดพื้นฐาน: ถ้าเป็นรัฐของยูแล้วมันมีการเปลี่ยนแปลงจากมัน (อ่านบางตัวอักษร) ให้กับรัฐ( s ' 1 , ... , s ' )และถ้าหากเอฟมีการเปลี่ยนแปลง (อ่านจดหมาย) จากs ฉันจะs ' ฉันทุกฉัน สถานะ( s 1 , , s c )(s1,,sc)a(s1,,sc)asisii(s1,,sc)คือการยอมรับและถ้าหากคือการยอมรับสำหรับทุกฉัน แน่นอนว่าสถานะเริ่มต้นของ UFA คือ( s 0 , , s 0 )โดยที่s 0คือสถานะเริ่มต้นของ CFAsii(s0,,s0)s0

ปัญหาข้างต้นคือการที่จำลองของ CFA อาจเหมือนกัน ดังนั้นเราจึงเพิ่มข้อมูลบางอย่างที่พิเศษเข้ารหัสพูดในกราฟบนจุดที่มีขอบระหว่างจุดสุดยอดผมและจุดสุดยอดเจถ้าในระหว่างการทำงานเพื่อให้ห่างไกลอย่างน้อยหนึ่งครั้งที่เรามีฉันเจccijcicj

ตอนนี้เรายังมีปัญหาอยู่ที่เรานับทุกสิ่งครั้งเนื่องจากการเรียงสับเปลี่ยนที่เป็นไปได้ เราสามารถแก้ไขปัญหานี้ได้โดยกำหนดว่าหากรัฐi- th และj -th เป็นแบบเดียวกันจนถึงตอนนี้และในขั้นตอนถัดไปพวกเขาจะแตกต่างกันดังนั้นในขั้นตอนถัดไปสถานะi -th ควรมีดัชนีที่ใหญ่กว่าc!iji


ขอบคุณสำหรับคำตอบ @domotorp น่าเสียดายที่ฉันไม่สามารถพูดได้ว่าฉันเข้าใจ คุณสามารถให้รายละเอียดเพิ่มเติมได้ (เช่นจะพิสูจน์การเข้ารหัสแบบดั้งเดิมได้อย่างไร) ขอบคุณมาก!
RB

ฉันได้ตระหนักว่ามี UFA สำหรับภาษานั้นด้วยดังนั้นอย่าลืมมัน ส่วนที่เหลือของคำตอบของฉันคืออะไร
domotorp

Mk=ccwc

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