สร้าง PDA สำหรับส่วนเสริมของ


16

ผมสงสัยว่าถ้าเป็นไปได้แม้ตั้งแต่ L ดังนั้น PDA ที่สามารถแยกความแตกต่างของคำw { a n b n c nn 0 }จากส่วนที่เหลือของ{ a b c }อาจยอมรับเช่นกันซึ่งฟังดูขัดแย้งกับฉัน{anbncnn0}CFLw{anbncnn0}{abc}

ฉันเดาว่าฉันต้องใช้ประโยชน์จากธรรมชาติที่ไม่ได้กำหนดไว้ของพีดีเอ แต่ฉันไม่ได้คิดอะไรเลย หากคุณสามารถให้คำแนะนำฉันจะขอบคุณมันมาก


ประเด็นที่น่าสนใจเกี่ยวกับเรื่องนี้ดูเหมือนจะขัดแย้งกัน แท้จริงแล้วภาษาที่ไม่มีบริบทไม่ได้ปิดอยู่ภายใต้การเสริม ... ดังนั้นจึงมีตัวอย่างมากมายของภาษาที่ไม่ใช้บริบทซึ่งอาจ "ยอมรับ" ในแง่ที่คุณพูดถึง ฉันไม่ได้เป็นนักทฤษฎีและเป็นเช่นนี้ไม่สามารถคืนดีกันได้ แต่บางทีคนอื่นสามารถพูดพล่ามได้ว่าทำไมเรื่องนี้จึงไม่ใช่เรื่องที่น่ากังวล
Patrick87

โปรดทราบว่านี่เป็นการสรุป: ส่วนประกอบของคือ CFG {anbncndnen}
sdcvvc

คำถามที่คล้ายกัน
กราฟิลส์

คำตอบ:


15

ไม่นี่ไม่มีบริบท ที่จะยอมรับn n nคุณจะต้องให้แน่ใจว่าหมายเลขสามมีค่าเท่ากัน ที่จะยอมรับ* B * C *n n n , คุณเพียงแค่ต้องให้แน่ใจว่าคุณอยู่ในหนึ่งต่อไปนี้กรณีที่สาม:anbncnabcanbncn

  1. จำนวนs แตกต่างจากจำนวนที่ s; หรือab
  2. จำนวนs แตกต่างจากจำนวนที่ s; หรือac
  3. จำนวน s แตกต่างจากจำนวนc sbc

เขียนพีดีเอสำหรับแต่ละกรณีจากนั้นรวมเข้าด้วยกันโดยการกระโดดไปตามแต่ละอันจากสถานะเริ่มต้น


ฉันเขียนกรณีเหล่านี้เรียบร้อย แต่ฉันไม่มีความคิดที่จะเชื่อมโยงพวกเขา ขอขอบคุณ!
hauptbenutzer

4
จริงๆแล้วคุณต้องการแค่สองกรณีเท่านั้น
sdcvvc

@sdcvvc จุดที่ดี :)
Patrick87

SxSy|X|Y;Xx|xX;Yy|yYa+c+SaS|A|;AaB|aA;B|;Bε|B.
Jonas Kölker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.