Ws ile nasıl | w | = | s | ve w # s bağlamdan bağımsız olurken w # s değil mi?


9

( Öyleyse) ayırıcı neden iki dil arasında fark yaratıyor?#

Diyelim ki:

L={ws:|w|=|s|w,s{0,1},ws}

L#={w#s:|w|=|s|w,s{0,1},ws}

İşte olarak temsil eden bir kanıt ve gramer.LCFL

Ve aşağıda için için bir kanıt ekliyorum :L#CFL

Does işareti gerçekten fark yaratacak? eğer öyleyse, neden böyle? ve eğer değilse, kanıtlardan hangisi yanlış ve nerede?#

olmadığını kanıtlayın :L#CFL

Çelişki yoluyla olduğunu varsayın . Let için pompalama sabit bağlamdan-bağımsız diller için pompalama lemmasının tarafından garanti. Biz kelimenin düşünün nerede böylece . Beri , pompalama , öyle ki , ve her biri için .LCFLp>0Ls=0m1p#0p1mm=p!+psL|s|>ps=uvxyz|vy|>0|vxy|puvjxyjzLj0

Davalarla çelişiriz:

  • Eğer veya içerirler : için Sonra , bunu almak içermiyor yüzden, çelişki.vy#i=0uxz#uxzL
  • Her iki takdirde ve bırakılıyor : için Sonra , bunu almak formun olduğu , neredeBu yüzden .vy#i=0uxzw#x|w|<|x|uxzL

  • Her iki takdirde ve sağa şunlardır : Geçen duruma benzer.vy#

  • Eğer bırakılır , buna doğru olduğunu vev#y|v|<|y|: Bundan dolayıi=0, anlıyoruz uxz formda w#x, nerede |w|>|x|, yani uxzL.

  • Eğer v kaldı #, y haklı ve |v|>|y|: Son duruma benzer.

  • Eğer v kaldı #, y haklı ve |v|=|y|: Bu en ilginç durum. Dan beri|vxy|p, v içinde olmalı 1p parçası s, ve y içinde 0pBölüm. Yani bunu tutarv=1k ve y=0k aynısı için 1kp (aslında, bu olmalı k<p/2). Her biri içinj0, bunu tutar uvj+1xyj+1z=0m1p+j·k#0p+j·k1m, eğer öyle olursa m=p+j·k, sonra tutar uvj+1xyj+1zLaykırı olarak. Bunu başarmak için,j=(mp)/k, yalnızca şu durumlarda geçerlidir mp tarafından bölünebilir k. Seçtiğimizi hatırlayınm=p+p!, yani mp=p!, ve p! herhangi biri tarafından bölünebilir 1kp istediği gibi.

Yanıtlar:


7

Kanıtın doğru ve yanılmışım. Karışıklığımın nerede olduğunu saptamak biraz zaman aldı, ama Yuval'ın yardımıyla bence anladım.

Üç dili ele alalım

L=={xy|x|=|y|,xy},L#={x#yxy}, andL=#={x#y|x|=|y|,xy}.

Gördüğümüz gibi burada ,L=bağlam içermez. Hile, dilbilgisinde, "sağda" semboller oluşturmak, ancak daha sonra (veya başka bir şekilde) "solda" saymaktır ve eşleşen konumlarda eşleşmeyen sembollerin görünmesini sağlar. Uzunluk koşulu, uzunluğa eşit olduğu için önemsizdir.
Pozisyonu eşleştirmek için yığını kullanarak benzer bir fikirle bir NPDA oluşturabilirsiniz.

L# bağlam içermez . Kanıt daha da basittir: uyumsuz semboller başlangıçtan itibaren aynı mesafede görünür. ayırıcı. Eşit olmayan uzunluklar ayrı ayrı kontrol edilebilir; determinizmsizlik iki seçenek arasında "seçer".

Şimdi, gösterdiğiniz gibi, L=#olduğu değil bağlam serbest. İşte bu yüzden diğer iki dilin ispatı bozuluyor.

  1. İçin dilbilgisinde L=, ortada bir ayırıcı oluşturmak zorunda kalırsak, sembolleri "soldan" sağa "yeniden atayamayız.
  2. "Eşit uzunluklar eşit değilse veya eşleşmezse kabul et" yerine " uzunluklar eşit ve uyumsuzsa kabul etmeliyiz ". Determinizm ve bize yardımcı olamaz !

Öyleyse sezgisel olarak, bu formun koşullarıxy" ve "|x|=|y|"ikisi de" bağlamsız "dır, çünkü bir yığınla kontrol edilebilirler, ancak sonlu kontrol kullanamazlar. Bu nedenle, bir PDA bir tane yapabilir, ancak her ikisini birden yapamaz.

İçin PDA L="hileler" çünkü bu koşulları gerçekten kontrol etmiyorx ve y; kelimeyi farklı bir şekilde böler. Ayırıcı varsa artık bu mümkün değil.


Ek: Ben cesaretle iddia olduğunuL=CFLL=#CFLçünkü CFL ters homomorfizmaya karşı kapalıdır. Doğru olsa da,f(L=#)=L= ile f silmesi dışında kimlik #, bu alakalı değil. f1(L=)=L#; hakkında hiçbir şey söylenemezL=#.


Ek II: Not oL={x#y|x|=|y|}önemsizce bağlam içermez. Dolayısıyla,LL#=L=# CFL'nin kavşağa kapalı olmaması için güzel bir örneğimiz var.

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.