แยกบริบทด้วยภาษาปกติ


16

จุดตัดของบริบทภาษาอิสระ L กับภาษา M ทั่วไปกล่าวกันว่าเป็นบริบทฟรีเสมอ ฉันเข้าใจหลักฐานการก่อสร้างข้ามผลิตภัณฑ์ แต่ฉันก็ยังไม่เข้าใจว่าทำไมจึงไม่มีบริบท แต่ไม่ใช่ปกติ

ภาษาที่สร้างขึ้นโดยทางแยกดังกล่าวมีสตริงที่ยอมรับได้ทั้งจาก PDA และ DFA เนื่องจาก DFA ได้รับการยอมรับจึงไม่ควรเป็นภาษาปกติ นอกจากนี้หากจุดตัดเป็นปกติก็ยังหมายถึงบริบทฟรีเนื่องจากภาษาปกติทั้งหมดยังไม่มีบริบท

ใครสามารถอธิบายให้ฉันฟังได้ว่าทำไมภาษาที่ได้จากการแยกดังกล่าวไม่ปกติ


12
พิจารณา. * เป็นภาษาปกติและทางแยกด้วยบริบทฟรี
AProgrammer

1
มันจะเป็นสตริงของบริบทอิสระ แต่สตริงเหล่านั้นยังถูกสร้างขึ้นโดยภาษาปกติดังนั้นมันจึงเป็นภาษาที่ไม่มีบริบทซึ่งเป็นเรื่องปกติ
sanjeev mk

8
ภาษาอาจเป็นปกติ แต่มันมักจะไม่ คิดอีกครั้งเกี่ยวกับตัวอย่างตัวอย่างที่ได้รับจาก AProgrammer มันน่าจะเป็นคำตอบ ทุกภาษาที่ไม่มีบริบทเป็นส่วนย่อยของภาษาปกติ เป็นความจริงที่จุดตัดของภาษา CF และ REG จะได้รับการยอมรับจาก DFA ของ REG แต่ก็มีความสำคัญกับสิ่งที่ถูกปฏิเสธ
Karolis Juodelė


1
@DW ที่เกี่ยวข้อง แต่มีคนเสนอว่าเป็นคนล่อแหลมและไม่ใช่ว่า คำถามนี้ถามว่าทำไมการตัดกันนั้นไม่ได้เกิดขึ้นเสมอไป อีกฝ่ายถามว่าทำไมการตัดกันนั้นไม่ได้ไม่ใช่แบบปกติเสมอไป การตั้งค่าคำถามนี้โดยเฉพาะ (การพูดถึงสตริงที่ DFA และ PDA ยอมรับดังนั้นพวกเขาจึงยอมรับโดย DFA ดังนั้นภาษาจึงปกติใช่มั้ย) หมายความว่าคำตอบสำหรับคำถามอื่น ๆ ไม่ได้ ' ไม่ตอบคำถามนี้ดี
David Richerby

คำตอบ:


20

หากปราศจากบริบทดังนั้นจะมี PDA Pที่ยอมรับได้ หากMเป็นปกติแสดงว่ามี DFA Fที่ยอมรับได้ ภาษาที่สี่แยกประกอบด้วยคำที่เป็นที่ยอมรับจากPและFLPMFPF

คำใด ๆ ที่อยู่ในจุดตัดได้รับการยอมรับจากแต่ไม่ใช่ทุกคำที่ยอมรับโดยFอยู่ในจุดตัด: เฉพาะคำที่ยอมรับโดยPเท่านั้นFFP

การพิสูจน์แบบไขว้ประกอบด้วยการสร้างหุ่นยนต์ซึ่งมีกลไกของทั้งPและFและยอมรับเฉพาะคำที่ทั้งสองฝ่ายยอมรับ ออโตเมต้าข้ามผลิตภัณฑ์คือ PDA (และภาษาที่ได้รับการยอมรับนั้นไม่มีบริบท) - โดยสังหรณ์ใจเนื่องจากครอสโปรดักท์ที่มีn- state DFA ประกอบด้วยPFPFnสำเนาของ Pและการเพิ่ม ( Q , , [ Q ] )ลูกศรระหว่างรัฐที่ตรงกันใน Pที่ DFA มีnP(q,a,[q])Paลูกศร ผลที่ได้คือไม่ได้เป็นแน่นอนหุ่นยนต์ทั่วไป (ไม่ได้ไม่ใช่กำหนดหนึ่ง) เพราะส่วนหนึ่งอาศัยอยู่ในกองและความเชื่อมั่นนี้ไม่ได้หายไปในPFทั่วไปPPF

ตัวอย่างเล็ก ๆ น้อย ๆ ก็คือ เป็นปกติและถ้าLคือบริบทฟรี แต่ไม่ปกติแล้วL * =Lคือบริบทฟรี แต่ไม่ปกติALLA=L


2
+1 ฉันเกือบโพสต์คำตอบที่เทียบเท่ากับประโยคสุดท้ายของคุณ คำตอบที่เหลือดูเหมือนไม่จำเป็นเลย :)
Patrick87

ไม่ได้รับ "เพิ่ม (q, a, [q]) ลูกศรระหว่างสถานะการจับคู่ใน P ที่ DFA มีลูกศร" ไม่สามารถมองเห็นว่าผลิตภัณฑ์ PDA จะเป็นอย่างไร
anir
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.