จะพิสูจน์ได้อย่างไรว่าภาษานั้นไม่มีบริบท


88

เราได้เรียนรู้เกี่ยวกับการเรียนของภาษาบริบทฟรี L มันโดดเด่นด้วยทั้งไวยากรณ์ที่ไม่มีบริบทและออโตมาดาวน์CFLดังนั้นมันจึงง่ายต่อการแสดงให้เห็นว่าภาษาที่ให้นั้นไม่มีบริบท

ฉันจะแสดงสิ่งที่ตรงกันข้ามได้อย่างไร? TA ของฉันได้ยืนกรานว่าในการที่จะทำเช่นนั้นเราจะต้องแสดงให้ทุกคนได้เห็นไวยากรณ์ (หรือออโตมาตะ) ว่าพวกเขาไม่สามารถอธิบายภาษาในมือ ดูเหมือนว่าจะเป็นงานใหญ่!

ฉันได้อ่านเกี่ยวกับบทแทรกซึมบ้าง แต่มันดูซับซ้อนจริงๆ


Ntpick: ไม่สามารถพิสูจน์ได้ว่าภาษาไม่มีบริบทหรือไม่
reinierpost

1
@reinierpost ฉันไม่เห็นว่าความคิดเห็นของคุณเกี่ยวข้องกับคำถามอย่างไร มันเกี่ยวกับการพิสูจน์สิ่งต่าง ๆ ไม่ใช่การตัดสินใจ (อัลกอริทึม)
Raphael

เพียงแค่การทำจุดนั้นมันไม่ง่ายที่จะแสดงให้เห็นว่าภาษาเป็นบริบทฟรีทั่วไป หากเป็นเรื่องง่ายสำหรับ frafl นั่นต้องเป็นไปตามเงื่อนไขพิเศษบางอย่างที่ไม่ถือเป็นภาษาโดยทั่วไปเช่นได้รับการกดตัวเลขอัตโนมัติที่อธิบายภาษา
reinierpost

@reinierpost บรรทัดของการให้เหตุผลดูเหมือนว่าสมมติไม่สามารถบอกได้ (เท่ากับ?) ยากที่จะพิสูจน์ ฉันสงสัยว่ามันจริงหรือเปล่า
Raphael

คำตอบ:


69

เพื่อความรู้ของฉันสูบน้ำแทรกคือไกลโดยเทคนิคที่ง่ายและใช้มากที่สุด หากคุณพบว่ามันยากลองรุ่นปกติก่อนไม่ใช่เรื่องเลวร้าย มีวิธีการอื่นสำหรับภาษาที่อยู่ห่างจากบริบทฟรี ยกตัวอย่างเช่นภาษา undecidable ไม่บริบทฟรี

ที่กล่าวว่าฉันยังสนใจในเทคนิคอื่น ๆ นอกเหนือจากบทแทรกถ้ามี

แก้ไข: นี่คือตัวอย่างของบทแทรก: สมมติว่าภาษาไม่มีบริบท ( Pคือชุดของจำนวนเฉพาะ) lemma ที่สูบมีจำนวนมากของ/ quantifiers ดังนั้นฉันจะทำให้มันเป็นเหมือนเกม:L={akkP}P/

  1. บทแทรกซึมช่วยให้คุณได้รับp
  2. คุณให้คำของภาษาที่มีความยาวอย่างน้อยหน้าsp
  3. บทแทรกจะเขียนดังนี้: ด้วยเงื่อนไขบางอย่าง ( | v x y |pและ| v y |1s=uvxyz|vxy|p|vy|1 )
  4. คุณให้จำนวนเต็มn0
  5. ถ้าไม่ได้อยู่ในL , คุณชนะLไม่บริบทฟรีuvnxynzLL

สำหรับภาษานี้โดยเฉพาะอย่างยิ่งสำหรับใด ๆk (กับk Pและkเป็นจำนวนเฉพาะ) จะทำเคล็ดลับ แล้วสูบน้ำจะช่วยให้คุณแทรก U v x Y Zกับ| v y | 1 อย่าพิสูจน์หักล้างบริบท freeness คุณต้องไปหาnเช่นที่| คุณv n x y n z | ไม่ใช่จำนวนเฉพาะsakkpkuvxyz|vy|1n|uvnxynz|

|uvnxynz|=|s|+(n1)|vy|=k+(n1)|vy|

จากนั้นจะทำ: k + k | v y | = k ( 1 + |วีY | )ไม่ได้เป็นนายกดังนั้นU v n x Y n Z L ไม่สามารถใช้บทปั๊มน้ำได้ดังนั้นLจะไม่ใช้บริบทn=k+1k+k|vy|=k(1+|vy|)uvnxynzLL

ตัวอย่างที่สองคือภาษา } เรา (แน่นอน) ต้องเลือกสตริงและแสดงว่าไม่มีทางเป็นไปได้ที่มันจะถูกแบ่งออกเป็นห้าส่วนและมีสตริงที่ได้รับจากการปั๊มทุกครั้งที่ยังคงอยู่ในภาษา{www{a,b}}

สตริงเป็นตัวเลือกที่เหมาะสมสำหรับการพิสูจน์นี้ ตอนนี้เราแค่ต้องดูว่าvและyสามารถอยู่ที่ไหน ส่วนสำคัญคือvหรือyต้องมีบางอย่างในนั้น (อาจเป็นได้ทั้งคู่) และทั้งvและy (และx ) มีอยู่ในสตริงย่อยpความยาว- ดังนั้นพวกเขาจึงไม่สามารถอยู่ห่างกันได้s=apbpapbpvyvyvyxp

สตริงนี้มีความเป็นไปได้หลายอย่างที่และyอาจเป็นไปได้ แต่ปรากฎว่าหลาย ๆ กรณีมีลักษณะคล้ายกันมากvy

  1. หรือวีแกน y B * ดังนั้นแล้วพวกเขากำลังทั้งที่มีอยู่ในส่วนใดส่วนหนึ่งของ continguousหรือ s นี่เป็นกรณีที่ค่อนข้างง่ายที่จะโต้แย้งเนื่องจากมันไม่สำคัญว่าพวกเขาจะอยู่ที่ไหนสมมติว่า | v y | = k P vyavybab|vy|=kp
    • ถ้าพวกเขาอยู่ในส่วนแรกของs แล้วเมื่อเราปั๊มครึ่งแรกของสตริงใหม่เป็นP + kพี- k / 2 , และสองคือk / 2 พีบีพี เห็นได้ชัดว่านี้ไม่ได้อยู่ในรูปแบบW Waap+kbpk/2bk/2apbpww
    • อาร์กิวเมนต์ของส่วนอื่น ๆ ทั้งสามนั้นมีค่าเท่ากันมันก็แค่ที่และk / 2จบลงด้วยดัชนีkk/2
  2. เลาะเลียบไปสองส่วน ในกรณีนี้การปั๊มลงคือเพื่อนของคุณ อีกครั้งมีหลายสถานที่ซึ่งสิ่งนี้สามารถเกิดขึ้นได้ (3 เป็นที่แน่นอน) แต่ฉันจะทำเพียงตัวอย่างเดียวและที่เหลือควรจะเข้าใจได้ง่ายจากที่นั่น vxy
    • สมมติว่าเลาะเลียบชายแดนระหว่างแรกส่วนและเป็นครั้งแรกส่วน ให้v y = a k 1 b k 2 (มันไม่สำคัญว่าที่aและb s อยู่ในvและyแต่เรารู้ว่าพวกมันอยู่ในระเบียบ) จากนั้นเมื่อเราปั๊มลง (เช่นกรณีi = 0 ) เราจะได้สตริงใหม่s = a p - k 1 b p - k 2vxyabvy=ak1bk2abvyi=0แต่แล้วถ้า s 'อาจถูกแบ่งออกเป็น W W , จุดกึ่งกลางจะต้องเป็นหนึ่งในสองส่วนดังนั้นครึ่งแรกเป็นพี- k 1พี- k 2 ( k 1 + k 2 ) / 2และครึ่งหนึ่งที่สองคือพี- ( k 1 + k 2 ) / 2พีs=apk1bpk2apbpswwaapk1bpk2a(k1+k2)/2ap(k1+k2)/2bp. เห็นได้ชัดว่านี่ไม่ใช่สตริงเดียวกันดังนั้นเราจึงไม่สามารถใส่และy ที่นั่นได้vy

กรณีที่เหลือควรมีความโปร่งใสพอสมควร - เป็นแนวคิดเดียวกันเพียงแค่ใส่และyในอีก 3 จุดในตัวอย่างแรกและ 2 จุดในตัวอย่างที่สอง ในทุกกรณีคุณสามารถปั๊มในลักษณะที่ทำให้การสั่งซื้อเกิดความสับสนเมื่อคุณแยกสตริงออกเป็นครึ่งvy


แน่นอนเกมของ kozen เป็นวิธีที่จะไปเกี่ยวกับเรื่องนี้
โสกราตีส

45

เล็มม่าของ Ogden

เล็มม่า (Ogden) ให้เป็นภาษาที่ไม่มีบริบท จากนั้นก็มีค่าคงที่Nเช่นนั้นสำหรับทุกz Lและวิธีการทำเครื่องหมายNหรือตำแหน่งใด ๆ (สัญลักษณ์) ของzเป็น "ตำแหน่งที่แตกต่าง" ใด ๆ ก็ตามจากนั้นzสามารถเขียนเป็นz = u v w x yเช่นนั้นLNzL Nzzz=uvwxy

  1. มีตำแหน่งที่แตกต่างอย่างน้อยหนึ่งตำแหน่งvx
  2. มีตำแหน่งไม่เกิน Nตำแหน่งมากที่สุดvwxN
  3. สำหรับทั้งหมดที่ , U v ฉัน W x ฉัน Y Li0uviwxiyL

ตัวอย่าง. Let } สมมติว่าLไม่มีบริบทและให้Nเป็นค่าคงที่ที่กำหนดโดยบทแทรกของ Ogden ให้z = a N b N + N ! c N + 2 N ! (ซึ่งเป็นของL ) และสมมติว่าเราL={aibjck:ij,jk,ik}LNz=aNbN+N!cN+2N!Lทำเครื่องหมายตามที่ได้จำแนกตำแหน่งทั้งหมดของสัญลักษณ์a(เช่นตำแหน่งแรกของz ) ปล่อยให้z = u v w x yเป็นการสลายตัวของzตามเงื่อนไขจากบทของ OgdenNzz=uvwxyz

  • หากหรือxมีสัญลักษณ์ที่แตกต่างกันดังนั้นคุณv 2 w x 2 y Lเนื่องจากจะมีสัญลักษณ์ในลำดับที่ไม่ถูกต้องvxuv2wx2yL
  • อย่างน้อยหนึ่งของและxจะต้องมีสัญลักษณ์เพียงเพราะเพียง's ได้รับความโดดเด่น ดังนั้นหากx L ( * )หรือx L ( * )แล้ววีL ( + ) ให้p = | v | . จากนั้น1 p Nซึ่งหมายความว่าpหารN ! . ให้qvxaaxL(b)xL(c)vL(A+)p=|v|1pNpN!พี แล้ว Z ' = ยูวี2 Q + 1 W x 2 Q + 1ปีควรจะเป็นของL อย่างไรก็ตาม v 2 q + 1 = a 2 p q + p = a 2 N ! + P ตั้งแต่ U W Yมีตรง N - Pสัญลักษณ์แล้ว Zq=N!/pz=uv2q+1wx2q+1yLv2q+1=a2pq+p=a2N!+puwyNpaมี 2 N ! + Nสัญลักษณ์ แต่ทั้ง vและ xไม่มี cดังนั้น z ก็มี 2 N ! +สัญลักษณ์ N cซึ่งหมายถึง z Lและสิ่งนี้ขัดแย้งกับบทแทรกของ Ogden ความขัดแย้งที่คล้ายกันเกิดขึ้นถ้า x L ( + )หรือ x L ( * ) เราสรุป Lz2N!+Navxcz2N!+NczLxL(A+)xL(c)L ไม่ใช่บริบท

การออกกำลังกาย การใช้อ็อกเดนแทรกแสดงให้เห็นว่าไม่บริบทฟรีL={aibjckd:i=0 or j=k=}

สูบน้ำเลมม่า

นี่เป็นกรณีพิเศษของเล็มม่าของ Ogden ซึ่งทุกตำแหน่งมีความโดดเด่น

บทแทรก ให้เป็นภาษาที่ไม่มีบริบท จากนั้นก็มีค่าคงที่Nเช่นนั้นสำหรับทุกz L , zสามารถเขียนเป็นz = u v w x yเช่นนั้นLNzLzz=uvwxy

  1. 0|vx|>0
  2. N|vwx|N
  3. สำหรับทั้งหมดที่ , U v ฉัน W x ฉัน Y Li0uviwxiyL

ทฤษฎีบทของ Parikh

นี่เป็นเรื่องทางเทคนิคมากกว่า Ogma's Lemma

คำนิยาม ให้ } เรากำหนดΨ Σ : Σ *N nโดยΨ Σ ( W ) = ( ม. 1 , ... , ม. n ) ,ที่ม. ฉันคือจำนวนของการปรากฏตัวของฉันในWΣ={a1,,an}ΨΣ:ΣNn

ΨΣ(w)=(m1,,mn),
miaiw

คำนิยาม เซตของN nเรียกว่าเชิงเส้นถ้ามันสามารถเขียน: S = { U 0 + Σ 1 ฉันkฉันU ฉัน :  สำหรับชุดของบาง  U ฉันN n  และ  ฉันN }SNn

S={u0+1ikaiui: for some set of uiNn and aiN}

คำนิยาม เซตย่อยของN nเรียกว่ากึ่งเชิงเส้นหากเป็นการรวมกันของกลุ่มชุดเชิงเส้น จำกัดSNn

ทฤษฎีบท (Parikh) ให้เป็นภาษาเหนือΣ ถ้าLคือบริบทฟรีแล้วΨ Σ [ L ] = { Ψ Σ ( W ) : W L }กึ่งเชิงเส้นLΣL

ΨΣ[L]={ΨΣ(w):wL}

การออกกำลังกาย การใช้ทฤษฎีบทของ Parikh แสดงให้เห็นว่าไม่ปราศจากบริบทL={0m1n:m>n or (m is prime and mn)}

การออกกำลังกาย การใช้ทฤษฎีบทของ Parikh แสดงให้เห็นว่าภาษาที่ไม่มีบริบทใด ๆ


1
ฉันยอมรับคำตอบของ jmad เพราะคำถามดังกล่าวระบุอย่างชัดเจนถึงการปั๊มเลมม่า ฉันขอขอบคุณคำตอบของคุณเป็นอย่างมาก การรวบรวมวิธีการสำคัญทั้งหมดที่นี่เป็นสิ่งที่ยอดเยี่ยม
Raphael

1
ไม่เป็นไร แต่โปรดทราบว่าบทแทรกการสูบน้ำเป็นกรณีเฉพาะของบทแทรกของ Ogden ;-)
Janoma

แน่นอน. อย่างไรก็ตามคนส่วนใหญ่จะลองใช้ PL ก่อน หลายคนไม่รู้จัก OL
Raphael

1
ทฤษฎีบทของ Ginsburg และ Spanier ซึ่งสร้างขึ้นตามทฤษฎีบทของ Parikh ทำให้เกิดเงื่อนไขที่จำเป็นและเพียงพอสำหรับบริบท - ความเป็นอิสระในกรณีขอบเขต math.stackexchange.com/a/122472
sdcvvc

คุณช่วยนิยาม "ตำแหน่งที่แตกต่าง" ในแง่ของการปฏิบัติการอื่น ๆ ได้ไหม หรืออย่างน้อยก็ไม่เป็นทางการ? ฉันค้นหาคำจำกัดความของ OL ที่คัดลอกคำต่อคำในหลาย ๆ ที่แล้ว แต่ก็ยังไม่มีใครสนใจที่จะอธิบายความหมายของมัน
wvxvw

34

คุณสมบัติการปิด

เมื่อคุณมีคอลเล็กชั่นภาษาที่ไม่มีบริบทคุณสามารถใช้คุณสมบัติการปิดของดังนี้:CFL

LCFLLCFLLCFLLCFL

ซึ่งมักจะสั้นกว่า (และมักจะเกิดข้อผิดพลาดน้อยกว่า) กว่าการใช้หนึ่งในผลลัพธ์อื่น ๆ ที่ใช้ความรู้ก่อนหน้าน้อยลง นอกจากนี้ยังเป็นแนวคิดทั่วไปที่สามารถใช้คลาสของวัตถุทุกชนิด

ตัวอย่างที่ 1: จุดตัดที่มีภาษาปกติ

L(e)e

L={ww{a,b,c},|w|a=|w|b=|w|c}

LL(abc)={anbncnnN}CFL

CFLLCFL

ตัวอย่างที่ 2: (ตรงกันข้าม) Homomorphism

L={(ab)2ncmd2nm(aba)nm,nN}

ϕ(x)={ax=aεx=bbx=cx=d

ϕ(L)={a2nb2na2nnN}.

ตอนนี้ด้วย

ψ(x)={aax=ax=cbbx=bandL1={xnbnynx,y{a,c}nN},

L1=ψ1(ϕ(L)))

L1L2=L(abc)L3={anbncnnN}

L3=L2ψ1(ϕ(L))

LCFLL3L3LCFL


เลมม่า

Interchange แทรก [1] เสนอเงื่อนไขที่จำเป็นสำหรับบริบท freeness ที่แม้แข็งแกร่งกว่าอ็อกเดนแทรก ตัวอย่างเช่นมันสามารถใช้เพื่อแสดงให้เห็นว่า

{xyyzx,y,z{a,b,c}+}CFL

ซึ่งต่อต้านวิธีการอื่น ๆ นี่คือบทแทรก:

LCFLcLn2QnLn=LΣnmnm2k|Qn|cLn2ziQn

  1. zi=wixiyii=1,,k
  2. |w1|=|w2|==|wk|
  3. |y1|=|y2|==|yk|
  4. m|x1|=|x2|==|xk|>m2
  5. wixjyiLn(i,j)[1..k]2

n,mQn

ในเวลานี้ฉันไม่มีข้อมูลอ้างอิงที่ใช้ได้อย่างอิสระและสูตรด้านบนได้มาจากการพิมพ์ [1] จากปี 1981 ฉันขอขอบคุณสำหรับความช่วยเหลือในการติดตามการอ้างอิงที่ดีกว่า ปรากฏว่ามีการค้นพบคุณสมบัติเดิมอีกครั้ง [2]


เงื่อนไขที่จำเป็นอื่น ๆ

Boonyavatana และ Slutzki [3] สำรวจเงื่อนไขหลายอย่างที่คล้ายกับ Pumping และ Interchange Lemma


  1. "Interchange Lemma" สำหรับภาษาที่ไม่มีบริบทโดย W. Ogden, RJ Ross และ K. Winklmann (1985)
  2. การเปลี่ยนเล็มมาสสำหรับภาษาปกติและปราศจากบริบทโดย T. Yamakami (2008)
  3. การแลกเปลี่ยนหรือปั๊ม (DI) บทแทรกสำหรับภาษาที่ไม่มีบริบทโดย R. Boonyavatana และ G. Slutzki (1988)


19

ไม่มีวิธีการทั่วไปเนื่องจากชุดที่ไม่ใช่บริบทไม่มีภาษาไม่ใช่กึ่ง decidable (akare) หากมีวิธีการทั่วไปเราสามารถใช้มันเพื่อตัดสินใจครึ่งชุดนี้

สถานการณ์ยิ่งแย่ลงเนื่องจากได้รับ CFL สองรายการเป็นไปไม่ได้ที่จะตัดสินใจว่าจุดตัดของพวกเขาเป็น CFL หรือไม่

การอ้างอิง: Hopcroft และ Ullman, "รู้เบื้องต้นเกี่ยวกับทฤษฎีออโตมาตะ, ภาษาและการคำนวณ", 1979


2
คำถามที่น่าสนใจ (แต่อาจสูงกว่าและคำถามปลายเปิด) จะจัดหมวดหมู่ subclass ของ non-CFL ที่สามารถพิสูจน์ได้ว่าไม่ใช่ CFL โดยใช้วิธีการเฉพาะ
Kaveh

ฉันไม่ได้มองหาวิธีการคำนวณแต่สำหรับเทคนิคการพิสูจน์ปากกาและกระดาษ หลังไม่จำเป็นต้องหมายถึงอดีต
Raphael

13

สภาพที่แข็งแกร่งของ Ogden ( OC ) คือ

สภาพของ Bader-Moura (BMC)

LΣnzLd(z)e(z)d(z)>ne(z)+1z=uvwxy

  1. d(vx)1e(vx)=0
  2. d(vwx)ne(vwx)+1
  3. i0uviwxiyL

LBMC(Σ)L

CFL(Σ)BMC(Σ)OC(Σ)

การอ้างอิง: Bader, C. , Moura, A. , A ลักษณะทั่วไปของ Lemma ของ Ogden JACM 29 ไม่ใช่ 2, (1982), 404–407


2
ทำไมไม่ลองไปที่Dömösiและ Kudlek 's generalization dx.doi.org/10.1007/3-540-48321-7_18 ...
András Salamon

@ AndrásSalamon: ฉันไม่รู้! :-) ... บางทีคุณสามารถโพสต์มันเป็นคำตอบใหม่ที่บอกว่า OC, BMC, PC เป็นกรณีพิเศษของมัน (ทุกตำแหน่งที่แตกต่างหรือไม่มีตำแหน่งที่ยกเว้น)
Vor

คุณยินดีที่จะโพสต์มันไม่มีเวลาตอนนี้
András Salamon

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