Bir dilin bağlamsız olmadığını nasıl kanıtlayabilirim?


88

dillerin sınıfını öğrendik . Hem ile karakterizedir bağlamdan-bağımsız gramerler ve Altbasımlı özdevinirler'in verilen bir dil bağlamından bağımsız olduğunu göstermek kolaydır böylece.CFL

Yine de tam tersini nasıl gösteririm? Benim TA'm, bunu yapabilmek için , eldeki dili tanımlayamadıklarını, tüm gramerlere (veya otomatlara) göstermek zorunda kalacağımızın farkındaydı. Bu büyük bir görev gibi görünüyor!

Bazı pompalama leması hakkında okudum ama gerçekten karmaşık görünüyor.


Ntpick: Bir dilin bağlamsız olup olmadığını göstermek için kararsızdır .
reinierpost

1
@reinierpost Yorumunuzun soru ile nasıl ilişkili olduğunu anlamıyorum. Karar vermek değil (algoritmik olarak) şeyleri kanıtlamakla ilgili .
Raphael

Sadece bu kadar nokta yapma değil bir dil, bağlamdan bağımsız olduğunu göstermek için kolay genelde . Frafl için kolaysa, genel olarak diller için geçerli olmayan, dili tanımlayan bir basma otomatı gibi belirli koşullar nedeniyle olması gerekir.
reinierpost

@reinierpost Bu akıl yürütme çizgisinin kararsızlığın kanıtlanması zor olduğunu (eşittir?) ima ettiği varsayılmaktadır. Acaba bu doğru mu?
Raphael

Yanıtlar:


69

Bildiğim kadarıyla pompalama lemma olduğu arayla en basit ve en çok kullanılan teknikle. Zor bulursanız, önce normal sürümü deneyin , o kadar da kötü değil. Bağlamsız olan diller için başka yollar da var. Örneğin, karar verilemeyen diller temel olarak bağlamsız değildir.

Bununla birlikte, eğer varsa, pompalama lemasından başka tekniklerle de ilgileniyorum.

DÜZENLEME: İşte pompalama lemması için bir örnek: Diyelim ki dili bağlamsal değildir ( , asal sayılar kümesidir). Pompalama lemasında çok fazla niceleyicisi var, bu yüzden biraz oyun gibi yapacağım:P / L={akkP}P/

  1. Pompalama limanı size bir verir.p
  2. Bir kelime vermek uzunluğu en az dili psp
  3. Pompalama leması şöyle yeniden yazar: bazı durumlarda ( | v x y |p ve | v y |1s=uvxyz|vxy|p|vy|1 )
  4. Sen bir tamsayı vermek n0
  5. Eğer değil L , kazanmak, L bağlam özgür değildir.uvnxynzLL

İçin bu özel dil için herhangi bir k (ile k p ve k hile yapacak bir asal sayıdır). Sonra pompalama lemma sen verir u v x y z ile | v y | 1 . Bağlam serbestlik çürütmek, sen bulmalıyız n öyle ki | u v n x y n z | asal bir sayı değil.sakkpkuvxyz|vy|1n|uvnxynz|

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

Ve sonra yapacak: k + k | v y | = K ( 1 + | v y | ) , asıl değildir u v , n x Y , n , Z L . Pompalama lemi uygulanamadığından Ln=k+1k+k|vy|=k(1+|vy|)uvnxynzLL .

İkinci bir örnek ise { w w w { a , b } } dilidir.{www{a,b}} . Elbette bir dizi seçmek zorundayız ve bu beş bölüme ayrılmasının mümkün bir yolu olmadığını ve türetilen her pompalanan dizenin dilde kalmasını sağlamalıyız.

Dize bu kanıtı için uygun bir seçimdir. Şimdi sadece v ve y'nın nerede olabileceğine bakmalıyız . Önemli parçaları bu olan V veya Y içinde bir şey (her ikisi de olabilir) sahip olması ve her iki V ve Y (ve x ) bir uzunluğu içerdiği p substring - böylece birbirinden çok uzak olamaz.s=apbpapbpvyvyvyxp

Bu dizgede ve y'nin olabileceği yerler için bir takım olasılıklar var , ancak durumların birçoğunun gerçekte oldukça benzer göründüğü ortaya çıktı.vy

  1. veya v y b . Sonra ikisi de continguous bölümlerinden birinde bulunan konum bir s veya b s. Tür İçinde bulundukları hangi fark etmez, iddia nispeten kolay vaka olduğunu varsayın. | v y | = k s . vyavybab|vy|=kp
    • Onlar ilk bölümünde iseniz s, o zaman pompa zaman, yeni dizenin ilk yarısıdır bir p + k b p - k / 2 ve ikinci b k / 2 a p b s . Açıkçası bu w w biçiminde değil .aap+kbpk/2bk/2apbpww
    • Diğer üç bölümden herhangi birinin argümanı hemen hemen aynı şekilde çalışır, sadece ve k / 2'nin endekslerde bittiği yerdir .kk/2
  2. bölümlerin ikisini dizginler. Bu durumdaaşağıpompalamasenin arkadaşın. Yine bunun olabileceği birkaç yer var (3 tam olarak), ama ben sadece bir tane açıklayıcı örnek yapacağım ve gerisi oradan kolayca anlaşılabilir. vxy
    • Varsayalım ilk sınırını iki taraftan destekleyen bir bölümü ve birinci b bölümü. Let v y = a k 1 b k 2 (burada tam da fark etmez bir s ve b ler içindedir v ve y , ama biz onlar sırayla olduğunu biliyorum). Sonra aşağı indiğimizde (yani i = 0 durumu), yeni dizgeyi s = a p - k 1 b p - k 2 olarak alırız.vxyabvy=ak1bk2abvyi=0 , ama eğer s ' bölünmüş olabilir ağırlık ağırlık , orta nokta, ikinci yerde olması gerekir , bir ilk devre böylece, bölüm bir p - k 1 b s - k 2 , bir ( k 1 + k 2 ) / 2 , ve ikinci yarısı bir p - ( k 1 + k 2 ) / 2 b ss=apk1bpk2apbpswwaapk1bpk2a(k1+k2)/2ap(k1+k2)/2bp. Açıkçası bunlar aynı dize değil, o yüzden ve y'yi oraya koyamayız.vy

Kalan davalar oradan oldukça şeffaf olmalıdır - aynı fikirdedir, ilk örnekte diğer 3 noktada ve y'yi , ikinci durumda ise 2 noktayı koyuyorlar. Yine de her durumda, ipi ikiye böldüğünüzde sıralamanın net bir şekilde dağılmasını sağlayacak şekilde pompalayabilirsiniz.vy


Gerçekten de, kozen oyunu buna devam etmenin yoludur.
socrates

45

Ogden's Lemma

Lemma (Ogden). Let bir bağlam-dil ol. Daha sonra, her z L ve z'nin “ayırt edici pozisyonlar” olarak N veya daha fazla konumunu (sembollerini) işaretlemenin herhangi bir yolu için , o zaman z , z = u v w x y olarak yazılabilecek şekilde sabit bir N vardır.LNzL Nzzz=uvwxy

  1. en az bir ayırt edici konuma sahip.vx
  2. en fazla N seçili konuma sahip.vwxN
  3. Tüm için , u v i W x i y L .i0uviwxiyL

Örnek. Let . L' nin bağlamsız olduğunu ve N'nin Ogden'in lemması tarafından verilen değişmez olabileceğini varsayalım . Let z = bir N b N + N ! c N + 2 N ! (ki ait L ), ve herhalde sembol olarak ayırt edici tüm pozisyonları aL={aibjck:ij,jk,ik}LNz=aNbN+N!cN+2N!L işaretlemeka(yani, z'nin ilk konumu ). Let z = u v w X y bir ayrışma olarak z Ogden lemma gelen koşulları karşılayan.Nzz=uvwxyz

  • Eğer ya da X farklı semboller içeren, daha sonra u v 2 w x 2 y L yanlış sırada semboller olacaktır, çünkü,.vxuv2wx2yL
  • Biri en az ve x tek sembol içermelidir bir , çünkü sadece bir sitesindeki ayırt edilmiştir. Böylece, eğer x L ( b ) veya x L ( c ) ise , v L ( A + ) . Let s = | v | . Sonra 1 p N , p ise N'yi böler ! . LetvxaaxL(b)xL(c)vL(A+)p=|v|1pNpN! . Daha sonra z = u v 2 q + 1 w x 2 q + 1 y L'ye ait olmalıdır. Ancak, v 2 q + 1 = a 2 p q + p = a 2 N ! + s . Yana u w y tam sahip N - p simgeleri bir , daha sonra zq=N!/pz=uv2q+1wx2q+1yLv2q+1=a2pq+p=a2N!+puwyNpa varz sembolleri a . Ancak her iki V ve X yok c ', böylece, s z ' de var 2 N ! + N sembolleri c , z L anlamına gelirve bu Ogden'in lemması ile çelişir. Benzer bir çelişki meydana gelmesi durumunda X L ( A + ) ya da X L ( c * ) . L sonucuna vardık2N!+Navxcz2N!+NczLxL(A+)xL(c)L bağlam içermez.

Egzersiz. Ogden's Lemma'sini kullanarak bağlamsız olmadığını gösterin .L={aibjckd:i=0 or j=k=}

Lemma Pompası

Bu, tüm pozisyonların ayırt edildiği Ogden'in Lemması'nın özel bir halidir.

Lemma. Let bir bağlam-dil ol. Daha sonra, sabit bir olduğu , N , her için böyle z L , Z aşağıdaki gibi ifade edilebilir z = u v w X y , öyle kiLNzLzz=uvwxy

  1. .|vx|>0
  2. .|vwx|N
  3. Tüm için , u v i W x i y L .i0uviwxiyL

Parikh Teoremi

Bu Ogden's Lemma'dan bile daha teknik.

Tanım. Let . Bu tanımlar Ψ Σ : Σ *N N ile Ψ Σ ( ağırlık ) = ( m, 1 , ... , m , n ) , m i görünüşe sayısıdır bir i içinde ağırlık .Σ={a1,,an}ΨΣ:ΣNn

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

Tanım. Bir alt arasında K n olarak adlandırılır doğrusal bu yazılabilir edin: S = { u 0 + Σ 1 i k bir i u ı :  bazı kümesi için  u ıK , n  ve  bir iN }SNn

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

Tanım. Bir alt arasında K n olarak adlandırılır yarı doğrusal doğrusal sonlu kümeler toplama birliği ise.SNn

Teoremi (Parikh). Let üzerinde dili Σ . Eğer L bağlam içermeyen, daha sonra Ψ Σ [ L ] = { Ψ Σ ( w ) : ağırlık L } yarı doğrusaldır.LΣL

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

Egzersiz. Parikh teoremi kullanılarak göstermektedir bağlam serbest değildir.L={0m1n:m>n or (m is prime and mn)}

Egzersiz. Parikh Teoremi'ni kullanarak, tek bir alfabe üzerindeki herhangi bir bağlamsız dilin de düzenli olduğunu gösterin.


1
Jmad'in cevabını kabul ettim çünkü soru açıkça Pumping Lemma'dan bahsediyor. Yine de cevabınızı çok takdir ediyorum; Burada toplanmış tüm büyük yöntemlere sahip olmak harika bir şey.
Raphael

1
Sorun değil, ama pompalama
lemasının Ogden'in lemmasının

Tabii ki. Yine de çoğu insan önce PL'yi deneyecek; birçoğu OL bile tanımıyor.
Raphael

1
Parikh'ın teoremine dayanan Ginsburg ve Spanier teoremi, sınırlanmış durumda bağlam-inceliği için gerekli ve yeterli bir şart veriyor. math.stackexchange.com/a/122472
sdcvvc

Lütfen diğer operasyonlar açısından "ayırt edici pozisyonları" tanımlayabilir misiniz? Ya da en azından gayri resmi olarak? OL kopyalanan sözlü ifadesini birçok farklı yerde buluyorum, ancak bunların hiçbiri bunun ne anlama geldiğini açıklamaya özen göstermedi.
wvxvw

34

Kapama Özellikleri

CFL

LCFLLCFLLCFLLCFL

Bu genellikle daha az önceden bilgi kullanan diğer sonuçlardan birini kullanmaktan daha kısadır (ve genellikle daha az hataya eğilimlidir). Aynı zamanda, her çeşit nesne sınıfına uygulanabilen genel bir kavramdır.

Örnek 1: Normal Dillerle Kesişme

L(e)e

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

LL(abc)={anbncnnN}CFL

CFLLCFL

Örnek 2: (Ters) Homomorfizm

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

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

ϕ(L)={a2nb2na2nnN}.

Şimdi birlikte

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

L1=ψ1(ϕ(L)))

L1L2=L(abc)L3={anbncnnN}

L3=L2ψ1(ϕ(L))

LCFLL3L3LCFL


Kavşak Lemma

Değişim lemması [1] den daha da güçlü bir bağlama serbestliğe için gerekli bir koşul önermektedir Ogden Önsavı . Örneğin, bunu göstermek için kullanılabilir.

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

diğer birçok yönteme direniyor. Bu lemma:

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

Şu anda, serbestçe ulaşılabilen bir referansım yok ve yukarıdaki formülasyon 1981'den [1] 'in bir ön baskısından alınmıştır. Aynı mülkün yakın zamanda keşfedildiği anlaşılıyor [2].


Diğer Gerekli Koşullar

Boonyavatana ve Slutzki [3] Pumping ve Interchange Lemma ile benzer koşulları araştırmaktadır.


  1. W. Ogden, RJ Ross ve K. Winklmann (1985) tarafından Bağlamsız Diller için “Interchange Lemma”
  2. Düzenli ve Bağlam Dışı Diller İçin Değişen Lemmalar T. Yamakami (2008)
  3. Kavşak veya pompa (DI) , R. Boonyavatana ve G. Slutzki (1988) tarafından bağlamsız diller için lemmalar


19

Bağlamsız dillerin ayarlanması yarı kararsız olmadığından (akare) genel bir yöntem yoktur. Genel bir yöntem olsaydı, bu seti yarı karar vermek için kullanabilirdik.

Durum daha da kötü, çünkü iki CFL verildiğinde, kesişimlerinin de bir CFL olup olmadığına karar vermek mümkün değildir.

Referans: Hopcroft ve Ullman, "Otomatlar Teorisine Giriş, Diller ve Hesaplama", 1979.


2
İlginç (ancak muhtemelen daha gelişmiş ve açık uçlu bir soru), belirli bir yöntem kullanılarak CFL dışı olduğu kanıtlanabilecek CFL olmayanların alt sınıfını kategorize edecektir.
Kaveh

Hesaplanabilir bir yöntem değil, kalem ve kağıt prova teknikleri için arıyorum . İkincisi mutlaka ilki anlamına gelmez.
Raphael

13

Ogden'ın durumunun daha güçlü bir versiyonu ( OC )

Bader-Moura'nın durumu (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(Σ)

Kaynak: Bader, C., Moura, A., Ogden'in Lemmasının Genelleştirilmesi. JACM 29, hayır. 2, (1982), 404-407


2
Neden sadece Dömösi ve Kudlek'in genellemesine kadar gitmiyoruz dx.doi.org/10.1007/3-540-48321-7_18 ...
András Salamon

@ AndrásSalamon: Bilmiyordum! :-) ... belki OC, BMC, PC'nin özel durumlar olduğunu söyleyerek yeni bir cevap olarak gönderebilirsiniz (hepsi seçkin ya da hariç tutulan pozisyonlar yok).
Vor,

gönderebilirsiniz, şu an vaktiniz yok.
András Salamon

Bu cevap bir örnekten kazanç sağlayacaktır.
Raphael
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.