เพิ่มเติมความคิดเห็นที่ขยายด้วยการคาดเดา แต่นี่เป็นเงื่อนไขที่ดูเหมือนว่าจะจับปัญหาในบริบทของปกติสำหรับS ( L )ที่จะไม่มีบริบทLS(L)
เงื่อนไข
ใน DFA ขั้นต่ำสำหรับLพา ธ ที่ยอมรับจะมีมากที่สุดหนึ่งลูปAL
ข้อยกเว้น:อนุญาตให้มีสองลูปหากป้ายกำกับและป้ายกำกับของคำนำหน้าก่อนที่ลูปแรกจะเดินทางทั้งหมดและคำต่อท้ายหลังจากลูปที่สองจะว่างเปล่า ยกตัวอย่างเช่น*ข( ) *เป็น okaa∗b(aa)∗
จำได้ว่าสองคำและVเดินทางถ้าพวกเขามีพลังของคำเดียวกันที เราสามารถสมมติว่าคำต่อท้ายว่างเปล่าเพราะมันไม่สามารถไม่ว่างเปล่าและเดินทางด้วยฉลากของวงที่สองใน DFAuvt
พอเพียง
สมมติว่าเงื่อนไขคุณสร้าง PDA สำหรับโดยปฏิบัติต่อแต่ละรูปแบบการยอมรับx u yของAที่คุณติดป้ายวนรอบอย่างง่าย เราต้องการที่จะยอมรับคำในรูปแบบx U n Y x U n Y เราอ่านxดันสัญลักษณ์สำหรับการเกิดขึ้นของทุกยูอ่านY xแล้วปรากฏสัญลักษณ์สำหรับการเกิดขึ้นของทุกยูและในที่สุดก็อ่านYLxuyAuxunyxunyxuyxuy
เกี่ยวกับข้อยกเว้นถ้าเราอยู่ในกรณีนี้พา ธ การยอมรับขั้นพื้นฐานจะอยู่ในรูปแบบโดยที่u , vเป็นเลเบลของลูป เรายอมรับคำศัพท์ในรูปแบบx u n y v m x u n y v mแต่โดยการสันนิษฐาน ( x , u , v commute) มันเหมือนกับu n x y u n v m x y v mซึ่งสามารถ ทำได้โดย PDA: push nxuyvu,vxunyvmxunyvmx,u,vunxyunvmxyvmnครั้ง (สำหรับการเกิดขึ้นของ ), อ่านx y , ป๊อปnครั้ง, ผลักmครั้ง (สำหรับv ), อ่านx y , ป๊อปmครั้งuxynmvxym
PDA สุดท้ายคือการรวมกันของ PDA สำหรับแต่ละรูปแบบ
จำเป็น
(handwaving) หากมีเส้นทางที่มีสอง loops แม้ในกรณีที่ง่ายที่สุดที่คุณจะต้องใช้เวลาหนึ่งแล้วอื่น ๆ (เช่น* B * )คุณต้องจำไว้ว่ากี่ครั้งที่แต่ละคนจะได้รับการ แต่โครงสร้างสแต็ค ป้องกันไม่ให้คุณทำซ้ำในลำดับเดียวกัน ขอให้สังเกตว่าข้อเท็จจริงที่ว่า DFA นั้นมีความสำคัญน้อยที่สุดในลักษณะของตัวละครเพื่อหลีกเลี่ยงการใช้สองลูปเมื่อมีใครพอเพียงa∗b∗
สำหรับตอนนี้ส่วนที่จำเป็นเป็นเพียงการคาดเดาและอาจจำเป็นต้องมีข้อยกเว้นเพิ่มเติมเพื่อให้ได้เงื่อนไขที่แน่นอนฉันจะสนใจตัวอย่างที่เคาน์เตอร์