Bagaimana cara membuktikan bahwa suatu bahasa tidak bebas konteks?


88

Kami belajar tentang kelas bahasa bebas konteks . Ini dicirikan oleh tata bahasa bebas konteks dan automata pushdown sehingga mudah untuk menunjukkan bahwa bahasa yang diberikan adalah bebas konteks.CFL

Bagaimana saya menunjukkan yang sebaliknya? TA saya bersikeras bahwa untuk melakukannya, kami harus menunjukkan kepada semua tata bahasa (atau automata) bahwa mereka tidak dapat menjelaskan bahasa yang ada. Ini sepertinya tugas besar!

Saya telah membaca tentang beberapa lemma yang memompa tetapi terlihat sangat rumit.


Ntpick: tidak dapat dipungkiri untuk menunjukkan apakah suatu bahasa bebas konteks.
reinierpost

1
@reinierpost Saya tidak melihat bagaimana komentar Anda terkait dengan pertanyaan. Ini tentang membuktikan berbagai hal, bukan memutuskan (secara algoritmik).
Raphael

Mengatakan bahwa tidak mudah untuk menunjukkan bahwa suatu bahasa bebas konteks, secara umum . Jika mudah untuk frafl, itu pasti karena kondisi khusus tertentu yang tidak berlaku untuk bahasa pada umumnya, seperti diberi otomat pushdown yang menjelaskan bahasa.
reinierpost

@reinierpost Garis penalaran itu tampaknya menganggap bahwa yang tidak dapat dipastikan menyiratkan (sama dengan?) sulit dibuktikan. Saya ingin tahu apakah itu benar.
Raphael

Jawaban:


69

Untuk pengetahuan saya lemma memompa adalah jauh teknik yang paling sederhana dan paling sering digunakan. Jika Anda merasa kesulitan, coba versi reguler dulu, itu tidak terlalu buruk. Ada beberapa cara lain untuk bahasa yang jauh dari konteks bebas. Misalnya, bahasa yang tidak dapat diputuskan secara sepele tidak bebas konteks.

Yang mengatakan, saya juga tertarik pada teknik selain lemma pemompaan jika ada.

EDIT: Berikut adalah contoh untuk lemma pemompaan: misalkan bahasa bebas konteks ( adalah himpunan bilangan prima). Lemma pemompaan memiliki banyak , jadi saya akan membuatnya seperti permainan:P / L={akkP}P/

  1. Lemma pemompaan memberi Andap
  2. Anda memberikan kata dari bahasa panjang setidaknyahalsp
  3. Lemma pemompaan menulis ulang seperti ini: dengan beberapa kondisi ( dan )| v x y | p | v y | 1s=uvxyz|vxy|p|vy|1
  4. Anda memberikan bilangan bulatn0
  5. Jika tidak dalam , Anda menang, tidak bebas konteks.L LuvnxynzLL

Untuk bahasa ini khusus untuk setiap (dengan dan adalah bilangan prima) akan melakukan trik. Kemudian lemma pemompaan memberi Anda dengan . Jangan menyangkal konteks-kehijauan, Anda perlu menemukan sehinggabukan bilangan prima.a k k p k u v x y z | v y | 1 n | u v n x y n z |sakkpkuvxyz|vy|1n|uvnxynz|

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

Dan kemudian akan melakukan: tidak prima sehingga . Lemma pemompaan tidak dapat diterapkan sehingga tidak bebas konteks.k + k | v y | = k ( 1 + | v y | ) u v n x y n z L Ln=k+1k+k|vy|=k(1+|vy|)uvnxynzLL

Contoh kedua adalah bahasa . Kita (tentu saja) harus memilih string dan menunjukkan bahwa tidak ada cara yang mungkin dapat dipecah menjadi lima bagian dan setiap senar yang dipompa tetap dalam bahasa tersebut.{www{a,b}}

String adalah pilihan yang cocok untuk bukti ini. Sekarang kita hanya harus melihat di mana dan bisa berada. Bagian kuncinya adalah bahwa atau harus memiliki sesuatu di dalamnya (mungkin keduanya), dan bahwa baik dan (dan ) terkandung dalam panjang substring - sehingga mereka tidak bisa terlalu jauh. v y v y v y x ps=apbpapbpvyvyvyxp

String ini memiliki sejumlah kemungkinan untuk di mana dan mungkin, tetapi ternyata beberapa kasus benar-benar terlihat sangat mirip.yvy

  1. v y b a b | v y | = k pvya atau . Jadi mereka berdua yang terkandung dalam salah satu bagian dari continguous s atau s. Ini adalah kasus yang relatif mudah untuk diperdebatkan, karena tidak masalah mereka masuk. Asumsikan bahwa . vybab|vy|=kp
    • Jika mereka berada di bagian pertama dari s, maka ketika kita pompa, paruh pertama string baru adalah , dan yang kedua adalah . Jelas ini bukan dari .a p + k b p - k / 2 b k / 2 a p b p w waap+kbpk/2bk/2apbpww
    • Argumen untuk salah satu dari tiga bagian lainnya berjalan hampir sama, itu hanya di mana dan berakhir di indeks.k / 2kk/2
  2. vxy mengangkangi dua bagian. Dalam hal ini memompa bawah adalah teman Anda. Sekali lagi ada beberapa tempat di mana ini bisa terjadi (tepatnya 3), tapi saya hanya akan melakukan satu ilustrasi, dan sisanya harus mudah untuk mencari tahu dari sana.
    • Asumsikan bahwa mengangkangi perbatasan antara bagian pertama dan bagian pertama . Misalkan (tidak masalah tepatnya di mana dan s berada di dan , tetapi kami tahu bahwa mereka berurutan). Kemudian ketika kita memompa (yaitu kasus ), kita mendapatkan string baru , tapi kemudian jika dapat dibagi menjadi , titik tengah harus berada di suatu tempat di kedua bagian, sehingga babak pertama adalaha b v y = a k 1 b k 2 a b v y i = 0 s ' = a p - k 1 b p - k 2 a p b p s ' w w a a p - k 1 b p - k 2 a ( k 1 + k 2 )vxyabvy=ak1bk2abvyi=0s=apk1bpk2apbpswwaapk1bpk2a(k1+k2)/2, Dan babak kedua adalah . Jelas ini bukan string yang sama, jadi kita tidak bisa meletakkan v dan y di sana.ap(k1+k2)/2bpvy

Kasing yang tersisa harus cukup transparan dari sana - itu adalah ide yang sama, hanya menempatkan dan y di 3 titik lainnya pada contoh pertama, dan 2 titik pada contoh kedua. Namun dalam semua kasus, Anda dapat memompanya sedemikian rupa sehingga urutannya jelas kacau ketika Anda membagi tali menjadi dua.vy


memang, permainan kozen adalah cara untuk melakukan ini.
Socrates

45

Lemma Ogden

Lemma (Ogden). Biarkan menjadi bahasa bebas konteks. Lalu ada konstanta N sehingga untuk setiap z L dan cara apa pun untuk menandai N atau lebih posisi (simbol) dari z sebagai "posisi berbeda", maka z dapat ditulis sebagai z = u v w x y , sedemikian rupa sehinggaLNzL Nzzz=uvwxy

  1. memiliki setidaknya satu posisi berbeda.vx
  2. memiliki paling banyak N posisi terhormat.vwxN
  3. Untuk semua , u v i w x i y L .i0uviwxiyL

Contoh. Misalkan . Asumsikan L bebas konteks, dan misalkan N adalah konstanta yang diberikan oleh lemma Ogden. Biarkan z = a N b N + N ! c N + 2 N ! (milik L ), dan anggaplah kita menandaiL={aibjck:ij,jk,ik}LNz=aNbN+N!cN+2N!Lsebagai dibedakan semua posisi simbol (yaitu posisi N pertama z ). Biarkan z = u v w x y menjadi dekomposisi z yang memenuhi kondisi dari lemma Ogden.aNzz=uvwxyz

  • Jika atau x berisi simbol yang berbeda, maka u v 2 w x 2 y L , karena akan ada simbol dengan urutan yang salah.vxuv2wx2yL
  • Setidaknya satu dari dan x hanya boleh mengandung simbol a , karena hanya a yang telah dibedakan. Jadi, jika x L ( b ) atau x L ( c ) , maka v L ( A + ) . Biarkan p = | v | . Kemudian 1 p N , yang berarti p membagi N ! . Biarkan qvxaaxL(b)xL(c)vL(A+)p=|v|1pNpN! . Kemudian z ' = u v 2 q + 1 w x 2 q + 1 y harus milik L . Namun, v 2 q + 1 = a 2 p q + p = a 2 N ! + p . Sejak u w y memiliki tepat N - p simbol sebuah , maka zq=N!/pz=uv2q+1wx2q+1yLv2q+1=a2pq+p=a2N!+puwyNpa Memiliki 2 N ! + N simbol. Tetapi keduadantidak memiliki, jadijuga memilikisimbol, yang berarti, dan ini bertentangan dengan lemma Ogden. Kontradiksi serupa terjadi jikaatau. Kami menyimpulkantidak bebas konteks.z2N!+Nv x c z 2 N ! + N c z L x L ( A + ) x L ( c ) Lavxcz2N!+NczLxL(A+)xL(c)L

Olahraga. Menggunakan Ogden's Lemma, tunjukkan bahwa tidak bebas konteks.L={aibjckd:i=0 or j=k=}

Memompa Lemma

Ini adalah kasus khusus dari Ogden's Lemma di mana semua posisi dibedakan.

Kata pengantar singkat. Biarkan menjadi bahasa bebas konteks. Lalu ada konstanta sehingga untuk setiap , dapat ditulis sebagai , sedemikian rupa sehinggaN z L z z = u v w x yLNzLzz=uvwxy

  1. |vx|>0 .
  2. |vwx|N .
  3. Untuk semua , .u v i w x i y Li0uviwxiyL

Teorema Parikh

Ini bahkan lebih teknis daripada Lemma Ogden.

Definisi. Biarkan . Kami mendefinisikan oleh mana adalah jumlah penampilan dari di .Ψ Σ : Σ N n Ψ Σ ( w ) = ( m 1 , , m n ) , m i a i wΣ={a1,,an}ΨΣ:ΣNn

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

Definisi. Subset dari disebut linear jika dapat ditulis: N n S = { u 0 + Σ 1 i k a i u i :  untuk beberapa set  u iN n  dan  a iN }SNn

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

Definisi. Subset dari disebut semi-linear jika merupakan gabungan dari kumpulan set linier yang terbatas.N nSNn

Teorema (Parikh). Biarkan menjadi bahasa lebih dari . Jika bebas konteks, maka bersifat semi-linear.Σ L Ψ Σ [ L ] = { Ψ Σ ( w ) : w L }LΣL

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

Olahraga. Dengan menggunakan Teorema Parikh, tunjukkan bahwa tidak bebas konteks.L={0m1n:m>n or (m is prime and mn)}

Olahraga. Menggunakan Teorema Parikh, tunjukkan bahwa bahasa bebas konteks apa pun di atas alfabet unary juga teratur.


1
Saya menerima jawaban jmad karena pertanyaannya secara eksplisit menyebutkan Pumping Lemma. Saya sangat menghargai jawaban Anda; mengumpulkan semua metode utama di sini adalah hal yang hebat.
Raphael

1
Tidak apa-apa, tetapi perhatikan bahwa lemma yang memompa adalah kasus khusus dari lemma Ogden ;-)
Janoma

Tentu saja. Namun, kebanyakan orang akan mencoba PL terlebih dahulu; banyak yang bahkan tidak tahu OL.
Raphael

1
Sebuah teorema oleh Ginsburg dan Spanier, yang dibangun di atas teorema Parikh, memberikan kondisi yang diperlukan dan memadai untuk kelayakan konteks dalam kasus yang dibatasi. math.stackexchange.com/a/122472
sdcvvc

Bisakah Anda mendefinisikan "posisi terhormat" dalam hal operasi lain? Atau setidaknya secara informal? Saya menemukan definisi OL disalin kata demi kata di banyak tempat berbeda, tetapi sejauh ini tidak ada yang peduli untuk menjelaskan apa artinya itu.
wvxvw

34

Properti Penutupan

Setelah Anda memiliki koleksi kecil bahasa non-bebas konteks Anda sering dapat menggunakan properti penutupan dari seperti ini:CFL

Asumsikan . Kemudian, dengan menutup properti X (bersama dengan Y), . Ini bertentangan dengan yang kita tahu harus dipegang, oleh karena itu .L C F L L C F L L C F LLCFLLCFLLCFLLCFL

Ini seringkali lebih pendek (dan seringkali lebih rentan kesalahan) daripada menggunakan salah satu hasil lain yang menggunakan pengetahuan sebelumnya. Ini juga merupakan konsep umum yang dapat diterapkan semua jenis kelas objek.

Contoh 1: Persimpangan dengan Bahasa Reguler

Kami mencatat bahasa reguler yang ditentukan oleh ekspresi reguler apa saja .eL(e)e

Biarkan . SebagaiL={ww{a,b,c},|w|a=|w|b=|w|c}

LL(abc)={anbncnnN}CFL

dan ditutup di bawah persimpangan dengan bahasa biasa, .CFLLCFL

Contoh 2: Homomorfisma (Invers)

Misalkan . Dengan homomorfismeL={(ab)2ncmd2nm(aba)nm,nN}

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

kami memilikiϕ(L)={a2nb2na2nnN}.

Sekarang dengan

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

kita mendapatkan .L1=ψ1(ϕ(L)))

Akhirnya, memotong dengan bahasa biasa kita mendapatkan bahasa .L1L2=L(abc)L3={anbncnnN}

Secara total, kami memiliki .L3=L2ψ1(ϕ(L))

Sekarang asumsikan bahwa bebas konteks. Kemudian, karena tertutup terhadap homomorfisme, homomorfisme terbalik, dan persimpangan dengan set reguler, juga bebas konteks. Tetapi kita tahu (melalui Pumping Lemma, jika perlu) bahwa tidak bebas konteks, jadi ini adalah kontradiksi; kami telah menunjukkan bahwa .LCFLL3L3LCFL


Pertukaran Lemma

The Interchange Lemma [1] mengusulkan kondisi yang diperlukan untuk keharmonisan konteks yang bahkan lebih kuat dari Lemma Ogden . Misalnya, dapat digunakan untuk menunjukkan itu

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

yang menolak banyak metode lain. Inilah lemma:

Biarkan . Lalu ada konstanta sehingga untuk setiap integer , setiap set dan setiap integer dengan ada string denganLCFLcLn2QnLn=LΣnmnm2k|Qn|cLn2ziQn

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

Menerapkannya berarti menemukan dan sedemikian rupa sehingga 1.-4. tahan tetapi 5. dilanggar. Contoh aplikasi yang diberikan dalam makalah aslinya sangat bertele-tele dan karena itu ditinggalkan di sini.n,mQn

Saat ini, saya tidak memiliki referensi yang tersedia secara bebas dan formulasi di atas diambil dari pracetak [1] dari tahun 1981. Saya menghargai bantuan dalam melacak referensi yang lebih baik. Tampaknya properti yang sama telah (baru) ditemukan baru-baru ini [2].


Ketentuan yang Diperlukan Lainnya

Boonyavatana dan Slutzki [3] mensurvei beberapa kondisi yang mirip dengan Pumping dan Interchange Lemma.


  1. “Interchange Lemma” untuk Bahasa Bebas Konteks oleh W. Ogden, RJ Ross dan K. Winklmann (1985)
  2. Swapping Lemmas untuk Bahasa Biasa dan Bebas Konteks oleh T. Yamakami (2008)
  3. Lemma pertukaran atau pompa (DI) untuk bahasa bebas konteks oleh R. Boonyavatana dan G. Slutzki (1988)


19

Tidak ada metode umum karena set non-konteks-bahasa-bebas tidak semi-decidable (akare). Jika ada metode umum, kita bisa menggunakannya untuk semi-set set ini.

Situasinya bahkan lebih buruk, karena diberikan dua CFL, tidak mungkin untuk memutuskan apakah persimpangan mereka juga CFL.

Referensi: Hopcroft dan Ullman, "Pengantar Teori Automata, Bahasa, dan Perhitungan", 1979.


2
Sebuah pertanyaan yang menarik (tapi mungkin lebih maju dan terbuka) akan mengkategorikan subkelas non-CFL yang dapat dibuktikan non-CFL menggunakan metode tertentu.
Kaveh

Saya tidak mencari metode yang dapat dihitung tetapi untuk teknik bukti pena & kertas. Yang terakhir tidak selalu berarti yang pertama.
Raphael

13

Versi yang lebih kuat dari kondisi Ogden ( OC ) adalah

Kondisi Bader-Moura (BMC)

Bahasa memenuhi BMC jika ada konstanta sedemikian rupa sehingga jika dan kami label di dalamnya "posisi" yang membedakan dan "dikecualikan" posisi, dengan , maka kita dapat menulis sedemikian rupa sehingga:LΣnzLd(z)e(z)d(z)>ne(z)+1z=uvwxy

  1. e ( v x ) = 0d(vx)1 dane(vx)=0
  2. d(vwx)ne(vwx)+1 dan
  3. untuk setiap , dalam .u v i w x i y Li0uviwxiyL

Kami mengatakan bahwa bahasa jika memenuhi kondisi Bader-Moura.LLBMC(Σ)L

Kami memiliki , jadi BMC benar-benar lebih kuat dari OC.CFL(Σ)BMC(Σ)OC(Σ)

Referensi: Bader, C., Moura, A., Generalisasi Lemma Ogden. JACM 29, tidak. 2, (1982), 404-407


2
Mengapa tidak pergi saja ke generalisasi Dömösi dan Kudlek dx.doi.org/10.1007/3-540-48321-7_18 ...
András Salamon

@ AndrásSalamon: Saya tidak tahu itu! :-) ... mungkin Anda dapat mempostingnya sebagai jawaban baru yang mengatakan bahwa OC, BMC, PC adalah kasus khusus (semua posisi terhormat atau tidak ada yang dikecualikan).
Vor

Anda dipersilakan mempostingnya, tidak punya waktu sekarang.
András Salamon

Jawaban ini akan mendapat manfaat dari sebuah contoh.
Raphael
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.