Jak można ws z | w | = | s | a my będziemy bez kontekstu, podczas gdy w # s nie jest?


9

Dlaczego (jeśli tak) separator # robi różnicę między tymi dwoma językami?

Powiedzmy:

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

L#={w#s:|w|=|s|w,s∈{0,1}∗,w≠s}

Oto dowód i gramatyk reprezentującyL jak CFL

A poniżej dodam dowód na to L#∉CFL :

Czy #znak naprawdę robi różnicę? jeśli tak, to dlaczego? a jeśli nie, to który z dowodów jest błędny i gdzie?

Udowodnij to L#∉CFL :

Załóżmy w drodze sprzeczności, że L∈CFL. Pozwolićp>0 być stałą pompowania dla L gwarantowane przez pompujący lemat dla języków bezkontekstowych. Rozważamy to słowo s=0m1p#0p1m gdzie m=p!+p więc s∈L. Od|s|>p, zgodnie z lematem pompowania istnieje reprezentacja s=uvxyz, takie że |vy|>0, |vxy|≤p , i uvjxyjz∈L dla każdego j≥0.

Spotyka się sprzeczność w przypadkach:

  • Gdyby v lub y zawierać #: Więc dla i=0rozumiemy uxz nie zawiera #, więc uxz∉L w przeciwieństwie.
  • Jeśli oba v i y są pozostawione #: Więc dla i=0rozumiemy uxz ma formę w#x, gdzie |w|<|x|, więc uxz∉L.

  • Jeśli oba v i y mają rację #: Podobny do ostatniego przypadku.

  • Gdyby v pozostaje do #, y ma rację i |v|<|y|: Więc dla i=0rozumiemy uxz ma formę w#x, gdzie |w|>|x|, więc uxz∉L.

  • Gdyby v pozostaje do #, y ma rację i |v|>|y|: Podobny do ostatniego przypadku.

  • Gdyby v pozostaje do #, y ma rację i |v|=|y|: To najciekawszy przypadek. Od|vxy|≤p, v muszą być zawarte w 1p część s, i y w 0pczęść. Tak to utrzymujev=1k i y=0k za to samo 1≤k≤p (w rzeczywistości musi tak być k<p/2). Dla każdegoj≥0, trzyma to uvj+1xyj+1z=0m1p+j·k#0p+j·k1m, więc jeśli tak się stanie m=p+j·k, to trzyma to uvj+1xyj+1z∉Lw przeciwieństwie. Aby to osiągnąć, musimy wziąćj=(m−p)/k, który jest ważny tylko wtedy, gdy m−p jest podzielny przez k. Przypomnijmy, że wybraliśmym=p+p!, więc m−p=p!, i p! jest podzielny przez kogokolwiek 1≤k≤p jak chciałem.

Odpowiedzi:


7

Twój dowód jest poprawny, a myliłem się. Zajęło mi trochę czasu, aby ustalić, gdzie było moje zamieszanie, ale z pomocą Yuvala chyba to zrozumiałem.

Rozważmy trzy języki

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

Jak widzieliśmy tutaj ,L=jest bezkontekstowy. W gramatyce polega na tym, aby generować symbole „po prawej”, ale policzyć je „po lewej” później (lub na odwrót), upewniając się, że niedopasowane symbole pojawiają się w pasujących pozycjach. Warunek długości jest trywialny, ponieważ zmniejsza się do równej długości.
Możesz zbudować NPDA z podobnym pomysłem, używając stosu, aby dopasować pozycję.

L# jest również pozbawiony kontekstu . Dowód jest jeszcze prostszy: niedopasowane symbole pojawiają się w tej samej odległości od początku wzgl. separator. Nierówne długości można sprawdzić osobno; niedeterminizm „wybiera” między dwiema opcjami.

Teraz, jak pokazujesz, L=#nie jest kontekstowe. Oto dlaczego dowody na pozostałe dwa języki się psują.

  1. W gramatyce dla L=, jeśli musimy wygenerować separator pośrodku, nie możemy „ponownie przypisać” symboli z „lewej” na „prawą”.
  2. Zamiast „zaakceptuj, jeśli długości są nierówne lub niezgodne”, musimy „zaakceptować, jeśli długości są równe i niezgodne”. Niedeterminizm nie może nam pomóc z i !

Sprowadza się więc intuicyjnie do warunków formy „x≠y" i "|x|=|y|„oba są„ bezkontekstowe ”w tym sensie, że można je sprawdzić za pomocą stosu, ale nie przy użyciu kontroli skończonej. Dlatego PDA może wykonać jedno, ale nie jedno i drugie.

PDA dla L=„kody”, ponieważ tak naprawdę nie sprawdzają tych warunkówx i y; dzieli słowo w inny sposób. To już nie jest możliwe, jeśli masz separator.


Uzupełnienie: I śmiało twierdził, żeL=∈CFL⟹L=#∈CFLponieważ CFL jest zamknięty przeciwko odwrotnemu homomorfizmowi. Chociaż to prawdaf(L=#)=L= z f tożsamość oprócz tego, że jest usuwana #, to nie ma znaczenia. f−1(L=)=L#; nic nie można powiedziećL=#.


Dodatek II: Uwaga :L={x#y∣|x|=|y|}jest trywialnie pozbawiony kontekstu. Dlatego zL∩L#=L=# mamy dobry przykład na to, że CFL nie jest zamknięty przed skrzyżowaniem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.