ตัดสินใจว่าจะยอมรับภาษาที่ไม่มีบริบทได้หรือไม่


22

ด้วยไวยากรณ์ G ที่ไม่มีบริบทมี Nondeterministic Pushdown Automaton N ที่ยอมรับภาษาที่ G ยอมรับ (และในทางกลับกันวีซ่า)

นอกจากนี้ยังอาจมีการกำหนด Automated D แบบกำหนดลงที่ยอมรับภาษาที่ G ยอมรับเช่นกัน มันขึ้นอยู่กับไวยากรณ์

อัลกอริธึมเกี่ยวกับการผลิตของ G เราสามารถตัดสินได้ว่า D มีอยู่จริงหรือไม่?


4
แม้ว่าคุณจะรู้มาก่อนว่ามี DPDA สำหรับ G แต่ก็ไม่มีอัลกอริทึมในการค้นหา ดูที่นี่
sdcvvc

คำตอบ:


20

ไม่มีอัลกอริทึมที่ให้ไวยากรณ์ที่ไม่มีบริบทพิจารณาว่า DPDA รู้จักภาษาเดียวกันและคำนวณถ้ามันมีอยู่หรือไม่

เพราะถ้าเช่นอัลกอริทึมที่มีอยู่เราจะสามารถที่จะตัดสินใจปัญหาที่ตัดสินไม่เป็นสากลของบริบทฟรีไวยากรณ์คือไม่ว่าจะเป็นรับบริบทฟรีไวยากรณ์Gบนตระหนักถึงทั้งภาษา *Σ *ΣΣ* * * *

สมมติว่ามีเช่นอัลกอริทึมADPDA{} ให้Gเป็นไวยากรณ์ที่ไม่มีบริบท ให้Lเป็นL(G)(G) จากนั้นอัลกอริทึมADPDAจะตัดสินว่ามี DPDA Aรู้จักLหรือไม่

  • ถ้าไม่มี DPDA ดังกล่าวแล้วLไม่ได้เป็นที่รู้จักโดย DPDA โดยเฉพาะอย่างยิ่งมันเป็นไปไม่ปกติดังนั้นจึงไม่สามารถΣ* * * * *

  • ถ้า DPDAนั้นมีอยู่เราสามารถตัดสินใจได้ว่าเท่ากับเพราะความเป็นสากลนั้นสามารถตัดสินใจได้สำหรับ DPDA ทำไม? เพราะ:ALΣ* * * *

    • ภาษา DPDA ถูกปิดภายใต้การเสริม (เพราะ DPDAs กำหนดขึ้นได้)
    • ความว่างเปล่าสามารถนำมาคำนวณได้สำหรับ DPDA (เพราะสำหรับ PDAs )

การใช้เราได้สร้างอัลกอริทึมที่จะตัดสินว่าสำหรับไวยากรณ์ปราศจากบริบทใด ๆซึ่งพิสูจน์แล้วว่าเป็นไปไม่ได้ ดังนั้นจึงไม่มีอยู่ADPDA G A D P D AL(G)=Σ* * * *GADPDA


ฉันไม่เข้าใจเรื่องนี้ขอโทษ คุณใช้Σเพื่ออ้างถึงตัวอักษรที่ใช้โดย G หรือไม่ และคุณหมายถึงอะไร "L เป็นภาษาเต็มรูปแบบ "? คุณกำลังบอกว่าเราจะใช้งานอัลกอริทึมในไวยากรณ์ G ที่สร้างซึ่งเป็นภาษาของสตริงใด ๆ บนΣหรือไม่? เราจะพบอย่างชัดเจนไม่เพียง DPDA แต่เป็น DFA อย่างง่ายสำหรับภาษานี้ การเติมเต็มของเป็นภาษาที่ว่างเปล่าสิ่งนี้ยังเป็นที่จดจำได้ง่ายทั้งจาก DPDA และ DFA - ดังนั้นฉันจึงขาดอะไรบางอย่างในการอธิบายของคุณ ΣΣΣ* * * *Σ* * * *Σ* * * *
Andrew Tomazos

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