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


15

กำหนดภาษาเป็นL = { , } * - { W W | W { , } * } กล่าวอีกนัยหนึ่งLมีคำที่ไม่สามารถแสดงออกมาเป็นคำบางคำซ้ำสองครั้ง คือLบริบทฟรีหรือไม่?LL={a,b}{www{a,b}}LL

ฉันได้พยายามตัดกับa b a b แต่ฉันก็ยังไม่สามารถพิสูจน์อะไรได้ ฉันดูทฤษฎีบทของ Parikh ด้วย แต่มันก็ไม่ได้ช่วยอะไรLabab


คำตอบ:


29

มันไม่มีบริบท นี่คือไวยากรณ์:

A a | | a A b | b A b | b A a B b | a B a | a B b | b B b | b B aSA|B|AB|BA
Aa|aAa|aAb|bAb|bAa
Bb|aBa|aBb|bBb|bBa

สร้างคำของความยาวแปลกกับในศูนย์ เหมือนกันสำหรับ BและBAaBb

ฉันจะแสดงหลักฐานว่าไวยากรณ์นี้ถูกต้อง ให้ (ภาษาในคำถาม)L={a,b}{www{a,b}}

ทฤษฎีบท. ) กล่าวอีกนัยหนึ่งไวยากรณ์นี้สร้างภาษาในคำถามL=L(S)

พิสูจน์ นี้อย่างแน่นอนถือสำหรับทุกคำพูดแปลก ๆ ที่มีความยาวตั้งแต่ไวยากรณ์นี้สร้างทั้งหมดคี่ยาวคำพูดเช่นเดียวกับLงั้นลองเน้นคำที่มีความยาวL

สมมติว่ามีความยาวเท่ากัน ผมจะแสดงให้เห็นว่าx L ( G ) โดยเฉพาะฉันอ้างว่าxสามารถเขียนในรูปแบบx = u vโดยที่ทั้งคุณและvมีความยาวคี่และมีตัวอักษรกลางที่แตกต่างกัน ดังนั้นxจะได้รับจากทั้งBหรือB (ตามที่ว่ายู 's ตัวอักษรกลางเป็นหรือ ) การอ้างเหตุผล: อ้างอักษรxของixLxL(G)xx=uvuvxABBAuabixได้รับการชี้แนะเพื่อให้x = x 1 x 2x n จากนั้นตั้งแต่xไม่ได้อยู่ใน{ W W | W { , } n / 2 }ต้องมีดัชนีบางฉันเช่นว่าx ฉันx ฉัน+ n / 2 ดังนั้นเราสามารถใช้u = x 1x 2 i -xix=x1x2xnx{www{a,b}n/2}ixixi+n/2และv= x 2 ฉัน x n ; ตัวอักษรกลางของยูจะ x ฉันและตัวอักษรกลางของโวลต์จะ x ฉัน+ n / 2ดังนั้นโดยการก่อสร้างU,Vมีตัวอักษรกลางที่แตกต่างกันu=x1x2i1v=x2ixnuxivxi+n/2u,v

ต่อไปสมมติว่ามีความยาวเท่ากัน ผมจะแสดงให้เห็นว่าเราจะต้องมีx L ถ้าxมีความยาวแม้มันจะต้องได้มาจากทั้งBหรือB ; โดยไม่สูญเสียของทั่วไปเช่นสมมติว่ามันเป็นได้มาจากBและx = ยูวีที่Uคือได้มาจากและโวลต์คือได้มาจากB ถ้าu , vมีความยาวเท่ากันเราต้องมีu xL(G)xLxABBAABx=uvuAvBu,v (ตั้งแต่พวกเขามีตัวอักษรกลางที่แตกต่างกัน) ดังนั้น x { W W | W { , } * } สมมติว่าคุณ, vมีความยาวต่างกัน, พูดยาวและ n - ตามลำดับ แล้วตัวอักษรกลางของพวกเขา U ( + 1 ) / 2และโวลต์( n - + 1 ) / 2 ความจริงที่ว่าคุณuvx{www{a,b}}u,vnu(+1)/2v(n+1)/2มีแตกต่างกันตัวอักษรกลางหมายความว่ายู( + 1 ) / 2วี( n - + 1 ) / 2 ตั้งแต่ x = ยูวี , ที่นี้หมายถึงว่า x ( + 1 ) / 2x ( n + + 1 ) / 2 หากเราพยายามที่จะย่อยสลาย xเป็น x = w wu,vu(+1)/2v(n+1)/2x=uvx(+1)/2x(n++1)/2xโดยที่ w , w มีความยาวเท่ากันจากนั้นเราจะค้นพบว่า w ( + 1 ) / 2 = x ( + 1 ) / 2x ( n + + 1 ) / 2 = w ( + 1 ) / 2คือ w w ดังนั้น x { w wx=www,ww(+1)/2=x(+1)/2x(n++1)/2=w(+1)/2ww } โดยเฉพาะอย่างยิ่งมันตามที่ x Lx{www{a,b}}xL


2
ฉันได้แก้ไขคำตอบเพื่อแสดงหลักฐานความถูกต้องของไวยากรณ์นี้ตามคำใบ้ / ร่างที่กำหนดโดย Evgeny Eltishev หวังว่ามันควรชัดเจนกว่าตอนนี้ทำไมมันถึงได้ผล
DW

มันสามารถสร้าง "aabb" ได้ไหม?
manasij7479

1
@ manasij7479 ใช่: SABaBa(aBb)aabb
เจ

3

ภาษานี้ไม่มีบริบทที่ได้รับการพิสูจน์ในบทความต่อไปนี้:

Tomaszewski, Zach "ไวยากรณ์ที่ไม่มีบริบทสำหรับสตริงซ้ำ" วารสารข้อมูลและวิทยาศาสตร์คอมพิวเตอร์ , 2012 ( PDF )

ไวยากรณ์เป็นดังนี้:

SEUϵEABBAAZAZaBZBZbUZUZZZab

8
ยินดีต้อนรับ! ต่อไปนี้ไม่ใช่คำวิจารณ์ของคำตอบนี้ วารสารสารสนเทศและวิทยาการคอมพิวเตอร์ถูกตีพิมพ์โดย "ยูเนี่ยวิชาการโลก" ซึ่งเป็นรายการที่อยู่ในอ้อมกอดของของนักล่าผู้เผยแพร่เข้าถึงเปิด เป็นเรื่องน่าเศร้าที่มี บริษัท ในโลกที่จะใช้เงินของผู้คนจำนวนมากในการเผยแพร่เอกสารที่ไม่ได้ทำอะไรมากไปกว่าการแก้ปัญหาการฝึกระดับปริญญาตรี
David Richerby

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

1
CFGCNFCYKSABaAaBaaaBaaabaaab

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