Języki, automaty i obliczenia/Ćwiczenia 10: Lemat o pompowaniu dla języków bezkontekstowych. Własności języków bezkontekstowych. Problemy rozstrzygalne: Różnice pomiędzy wersjami
Linia 75: | Linia 75: | ||
u_1uu_2=M-p</math>, to mamy <math>\displaystyle \sharp_a z = 2M!+p+(M-p)=2M!+M</math>, ale jednocześnie <math>\displaystyle \sharp_c z = 2M!+M = \sharp_a z</math>. Otrzymaliśmy sprzeczność. | u_1uu_2=M-p</math>, to mamy <math>\displaystyle \sharp_a z = 2M!+p+(M-p)=2M!+M</math>, ale jednocześnie <math>\displaystyle \sharp_c z = 2M!+M = \sharp_a z</math>. Otrzymaliśmy sprzeczność. | ||
W pozostałych przypadkach w analogiczny sposób dochodzimy do takiej | W pozostałych przypadkach w analogiczny sposób dochodzimy do takiej sprzeczności. Zatem <math>\displaystyle L</math> nie jest bezkontekstowy. | ||
sprzeczności. Zatem <math>\displaystyle L</math> nie jest bezkontekstowy. | |||
</div></div> | </div></div> | ||
Wersja z 10:11, 27 sie 2006
Ćwiczenia 10
Ćwiczenie 1
Wykorzystując lemat o pompowaniu, udowodnij, że następujące języki nie są bezkontekstowe:
Lemat 1 (Ogden)
Dla dowolnego języka bezkontekstowego istnieje liczba naturalna taka, że każde słowo , w którym wyróżniono lub więcej pozycji, można przedstawić w formie , gdzie oraz
- zawiera przynajmniej jedną wyróżnioną pozycję,
- zawiera co najwyżej wyróżnionych pozycji,
- dla
Lemat o pompowaniu jest szczególnym przypadkiem lematu Ogdena. Lemat Ogdena można próbować stosować w tych przypadkach, w których lemat o pompowaniu nie działa.
Ćwiczenie 2
Stosując lemat Ogdena pokaż, że język nie jest bezkontekstowy.
Ćwiczenie 3
Udowodnij, że dla dowolnego języka nad alfabetem jednoelementowym
Ćwiczenie 4
Udowodnij, że język Parser nie mógł rozpoznać (błąd składni): {\displaystyle \displaystyle L=\left\{ a^{n}b^{n}:n \;} nie jest wielokrotnością liczby jest bezkontekstowy.
Ćwiczenie 5
jest jednoznaczna?
Ćwiczenie 6
Określ gramatyki generujące języki:
- ,
- .
Czy gramatyki te są jednoznaczne?
Ćwiczenie 7
Dana niech będzie gramatyka ( jest symbolem początkowym):
Używając algorytmu Cocke'a-Youngera-Kasamiego, sprawdź, czy poniższe słowa należą do języka generowanego przez tę gramatykę:
- ,
- ,
- .
Ćwiczenie 8
Wykorzystując lemat o pompowaniu, udowodnij, że następujące języki nie są bezkontekstowe:
Ćwiczenie 9
Stosując lemat Ogdena, pokaż, że język gdzie nie jest bezkontekstowy.
Ćwiczenie 10
Udowodnij, że język jest bezkontekstowy.
Ćwiczenie 11
Czy gramatyka poprawnych nawiasów
rozważana w przykładzie 1.2 jest jednoznaczna?
Ćwiczenie 12
Określ gramatyki generujące języki:
- ,
- .
Czy gramatyki te są jednoznaczne? Wykaż, że język jest jednoznaczny.
Ćwiczenie 13
Napisz algorytmy rozstrzygające, czy dany język bezkontekstowy jest:
- nieskończny,
- niepusty.
Ćwiczenie 14
Dana niech będzie gramatyka ( jest symbolem początkowym):
Używając algorytmu Cocke'a-Youngera-Kasamiego, sprawdź, czy poniższe słowa należą do języka generowanego przez tę gramatykę:
- ,
- ,
- .