เป็นส่วนประกอบของ {www | …} ไม่มีบริบทใช่ไหม


12

เป็นที่ทราบกันดีว่าการเติมเต็มของนั้นไม่มีบริบท แต่สิ่งที่เกี่ยวกับส่วนประกอบของ ?{wwwΣ}{wwwwΣ}


1
ฉันได้ค้นพบว่านี่คือทฤษฎีบท 4 ใน P. Dömösi, S. Horváth, M. Ito, L. Kászonyi, M. Katsura: ภาษาทางการซึ่งประกอบด้วยคำดั้งเดิม link.springer.com/chapter/10.1007/3-540-57163-9_15
domotorp

คำตอบ:


11

ยังคงเป็น CFL ฉันเชื่อว่าด้วยการปรับตัวของหลักฐานแบบดั้งเดิม นี่คือภาพร่าง

พิจารณาซึ่งเป็นส่วนประกอบของด้วยคำพูดที่ไม่ได้ลบความยาว modL={xyz:|x|=|y|=|z|(xyyz)}{www}03

ให้\} เห็นได้ชัดว่าเป็น CFL เนื่องจากคุณสามารถคาดเดาตำแหน่งและพิจารณาว่าสิ้นสุดหลังจากนั้น เราแสดงให้เห็นว่าL'L={uv:|u|3|v|30u2|u|/3v|v|/3}Lpup/2L=L

  • LL : LetL สมมติมีดังกล่าวว่าy_p จากนั้นเขียนสำหรับอักขระแรกของของและสำหรับส่วนที่เหลือ ธรรมชาติx_p ตอนนี้คืออะไร? ครั้งแรก: w=xyzLpxpypu3p/2wvu2|u|/3=xpv|v|/3

|v|/3=(|w|3p/2)/3=|w|/3p/2.

ดังนั้นในนี่คือตำแหน่ง: หรือในคำอื่น ๆ ตำแหน่งในYนี้แสดงให้เห็นว่า 3}w

|u|+|v|/3=3p/2+|w|/3p/2=|w|/3+p,
pyu2|u|/3=xpyp=v|v|/3

หากดังนั้นให้เป็นตัวอักษรของดังนั้นคือ ; เป็นส่วนที่เหลือของWจากนั้น: เหตุทำนองเดียวกันz_pypzpu32(|w|/3+p)wu2|u|/3ypvw

|u|+|v|/3=2|w|/3+p
v|v|/3=zp

  • LL : เรากลับกระบวนการก่อนหน้านี้ LetL' เขียน 3 จากนั้น: ดังนั้น , และ (เนื่องจากถ้าเป็นรูปแบบ , มัน ต้องถือสำหรับทั้งหมด)w=uvLp=2|u|/3
    p+|w|/3=2|u|/3+|uv|/3=|u|+|v|/3.
    wp=u2|u|/3v|v|/3=wp+|w|/3wLwxxxwp=wp+|w|/3p

2
ว้าวเหลือเชื่อ! ฉันไม่อ้างว่าฉันได้ติดตามทุกรายละเอียดของการโต้แย้งของคุณเช่นฉันไม่เห็นความหมายของบรรทัดสุดท้าย ('สำหรับบิตสุดท้าย') หรือทำไมคุณไม่แยกกรณีเมื่อแต่วิธีการแก้ปัญหาของคุณทำงานได้ในที่สุด ผมจะสรุปเคล็ดลับสำคัญเป็น3aเคล็ดลับที่คล้ายกันยังสามารถใช้ได้กับส่วนประกอบของใด ๆ\} ฉันสงสัยว่าไม่มีบริบทหรือไม่ 3 a + 3 b = 2 a + ( b - a ) + 2 a + 2 b L r = { w r } L = { x y z : | x | = | y | = | z | ( x y )|w|/3<p/23a+3b=2a+(ba)+2a+2bLr={wr}L={xyz:|x|=|y|=|z|(xy)}
domotorp

1
@domotorp: ไชโย! เอาล่ะ "บิตสุดท้าย" ไม่จำเป็นต้องขอบคุณ! สำหรับ "กรณีเมื่อ " ฉันไม่แน่ใจว่าคุณหมายถึงอะไร ฉันพลาดอะไรไปหรือเปล่า? สำหรับของคุณฉันสงสัยเหมือนกันว่าทำ "พิสูจน์" นี้! ยังไม่แน่ใจ :)L |w|/3<p/2L
Michaël Cadilhac

2
โอ้แย่แล้วถืออยู่เสมอ! p/2|w|/3
domotorp

อาจไม่ใช่ปัญหา แต่อาจแปลกดังนั้นคุณควรจัดการเคสเมื่อเป็นเลขคี่ | คุณ| = 3 p / 2 ( ? ) หน้าp|u|=3p/2(?)p
Marzio De Biasi

@MarzioDeBiasi: ใช่ว่าเป็นเหตุผลที่แม่นยำนี้เป็นร่าง :-)
Michaël Cadilhac

10

นี่คือวิธีที่ฉันคิดเกี่ยวกับการแก้ปัญหานี้ด้วย PDA ในความคิดของฉันมันชัดเจนยิ่งขึ้น

คำไม่อยู่ในรูปแบบ iff (i) (mod 3) ซึ่งง่ายต่อการตรวจสอบหรือ (ii) มีสัญลักษณ์อินพุตบางที่แตกต่างจากสัญลักษณ์ที่เกี่ยวข้องที่เกิดขึ้นตำแหน่งในภายหลัง xwww|x|0ab|w|

เราใช้เคล็ดลับปกติของการใช้สแต็คเพื่อรักษาจำนวนเต็มโดยมีสัญลักษณ์ "bottom-of-stack" ใหม่โดยเก็บค่าสัมบูรณ์เป็นจำนวนตัวนับบนสแต็กและ sgn ( ) โดยสถานะของ PDA ดังนั้นเราสามารถเพิ่มหรือลดลงโดยการดำเนินการที่เหมาะสมtZ|t|tt

เป้าหมายคือการใช้ nondeterminism เพื่อเดาตำแหน่งของสัญลักษณ์สองตัวที่คุณกำลังเปรียบเทียบและใช้สแต็กเพื่อบันทึกโดยที่คือระยะห่างระหว่างสัญลักษณ์ทั้งสองนี้ t:=|x|3dd

เราบรรลุนี้ดังนี้เพิ่มขึ้นสำหรับแต่ละสัญลักษณ์เห็นจนกว่าสัญลักษณ์แรกเดาที่ถูกเลือกและบันทึกในรัฐ สำหรับการป้อนสัญลักษณ์แต่ละที่ตามมาจนกว่าคุณจะตัดสินใจที่คุณเคยเห็นพร่องโดย (สำหรับความยาวป้อนข้อมูลและสำหรับระยะทาง) เดาตำแหน่งของสองสัญลักษณ์และบันทึกว่า b ดำเนินการเพิ่มค่าสำหรับสัญลักษณ์อินพุตที่ตามมา ยอมรับถ้า (ตรวจพบโดยที่ด้านบน) และbtaabt213babtt=0Zab

สิ่งที่ดีเกี่ยวกับเรื่องนี้ก็คือมันควรจะชัดเจนอย่างสมบูรณ์ว่าจะขยายไปสู่อำนาจโดยพลการ


2
แน่นอนเรียบร้อยมาก!
domotorp

1
อ๊ะดีกว่ามากจริง ๆ :-)
Michaël Cadilhac

4

เพียงแค่มุมมองที่แตกต่าง ("เชิงไวยากรณ์") เพื่อพิสูจน์ว่าส่วนเติมเต็มของเป็น CF สำหรับคงที่โดยใช้คุณสมบัติการปิด{wk}k

โน้ตตัวแรกว่าในส่วนเติมเต็มของมีเสมอเช่นว่า1} เรามุ่งเน้นและเริ่มด้วยไวยากรณ์ CF แบบง่ายที่สร้าง:{wk}iwiwi+1w1w2

L={a00...0w1b00...0w2...000...0wk|wi|=n}={a0n1b0n(k1)1}

เช่นเรามี ,k=3L={ab0,a0b000,a00b00000,...}GL={Sab0|aX00,X0X00|0b0}

จากนั้นให้ปิดการใช้งานภายใต้homomorphism ผกผันและสหภาพ :

โฮโมมอร์ฟิซึมแรก:φ(1)a,φ(0)b,φ(1)0,φ(0)0

โฮโมมอร์ฟิซึมที่สอง:φ(0)a,φ(1)b,φ(1)0,φ(0)0

L=φ1(L)φ1(L) ยังไม่มีบริบท

สมัครปิดภายใต้การเปลี่ยนแปลงวงจรเพื่อที่จะได้รับชุดของสตริงของความยาวไม่ได้อยู่ในรูปแบบ :Lknwk

L=Shift(L)={uuwk|u|=kn}\}

ในที่สุดเพิ่มชุดของสตริงปกติที่ความยาวไม่สามารถหารด้วยเพื่อให้ได้ส่วนประกอบทั้งหมดของ :k{wk}

L{{0,1}nnmodk0}={uuwk}

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