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
Matiunreal (dyskusja | edycje) Nie podano opisu zmian |
Matiunreal (dyskusja | edycje) |
||
Linia 15: | Linia 15: | ||
Punkt 1.<br> | Punkt 1.<br> | ||
Rozważmy słowo <math>\displaystyle a^{n}b^{n}c^n \in L</math>, dla <math>\displaystyle 3n \geqslant N</math>, gdzie <math>\displaystyle N</math> jest stałą z lematu o pompowaniu. | Rozważmy słowo <math>\displaystyle a^{n}b^{n}c^n \in L</math>, dla <math>\displaystyle 3n \geqslant N</math>, gdzie <math>\displaystyle N</math> jest stałą z lematu o pompowaniu. | ||
Podobnie jak w przykładzie [ | Podobnie jak w przykładzie [http://osilek.mimuw.edu.pl/index.php?title=J%C4%99zyki%2C_automaty_i_obliczenia/Wyk%C5%82ad_10:_Lemat_o_pompowaniu_dla_j%C4%99zyk%C3%B3w_bezkontekstowych._W%C5%82asno%C5%9Bci_j%C4%99zyk%C3%B3w_bezkontekstowych._Problemy_rozstrzygalne#prz.1 1.1] pokazujemy, że jedyną możliwością rozłożenia | ||
słowa <math>\displaystyle a^{n}b^{n}c^n = u_1w_1uw_2u_2</math> zgodnym z lematem o pompowaniu jest przyjęcie jako <math>\displaystyle w_1</math> i <math>\displaystyle w_2</math> potęgi | słowa <math>\displaystyle a^{n}b^{n}c^n = u_1w_1uw_2u_2</math> zgodnym z lematem o pompowaniu jest przyjęcie jako <math>\displaystyle w_1</math> i <math>\displaystyle w_2</math> potęgi | ||
jednej z liter <math>\displaystyle a,b,c</math>. To wyklucza dla pewnych <math>\displaystyle i</math> przynależność do języka <math>\displaystyle L</math> słów <math>\displaystyle u_1w_1^i uw_2^iu_2</math>.<br> | jednej z liter <math>\displaystyle a,b,c</math>. To wyklucza dla pewnych <math>\displaystyle i</math> przynależność do języka <math>\displaystyle L</math> słów <math>\displaystyle u_1w_1^i uw_2^iu_2</math>.<br> |
Wersja z 22:43, 26 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ę.
- ,
- ,
- .