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


15

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

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


คำตอบ:


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 aS→A|B|AB|BA
A→a|aAa|aAb|bAb|bAa
B→b|aBa|aBb|bBb|bBa

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

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

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

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

สมมติว่ามีความยาวเท่ากัน ผมจะแสดงให้เห็นว่าx ∈ L ( G ) โดยเฉพาะฉันอ้างว่าxสามารถเขียนในรูปแบบx = u vโดยที่ทั้งคุณและvมีความยาวคี่และมีตัวอักษรกลางที่แตกต่างกัน ดังนั้นxจะได้รับจากทั้งBหรือB (ตามที่ว่ายู 's ตัวอักษรกลางเป็นหรือข ) การอ้างเหตุผล: อ้างอักษรxของix∈Lx∈L(G)xx=uvuvxABBAuabixได้รับการชี้แนะเพื่อให้x = x 1 x 2 ⋯ x n จากนั้นตั้งแต่xไม่ได้อยู่ใน{ W W | W ∈ { , ข} n / 2 }ต้องมีดัชนีบางฉันเช่นว่าx ฉัน ≠ x ฉัน+ n / 2 ดังนั้นเราสามารถใช้u = x 1 ⋯ x 2 i -xix=x1x2⋯xnx{ww∣w∈{a,b}n/2}ixi≠xi+n/2และv= x 2 ฉัน ⋯ x n ; ตัวอักษรกลางของยูจะ x ฉันและตัวอักษรกลางของโวลต์จะ x ฉัน+ n / 2ดังนั้นโดยการก่อสร้างU,Vมีตัวอักษรกลางที่แตกต่างกันu=x1⋯x2i−1v=x2i⋯xnuxivxi+n/2u,v

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


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

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

1
@ manasij7479 ใช่: ข S→AB→aB→a(aBb)→aabb
— เจ

3

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

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

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

S→E∣U∣ϵE→AB∣BAA→ZAZ∣aB→ZBZ∣bU→ZUZ∣ZZ→a∣b

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

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

1
CFG→CNF→CYKS→AB→aAaB→aaaB→aaabaaab

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