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
m Zastępowanie tekstu – „.</math>” na „</math>” |
m Zastępowanie tekstu – „,...,” na „,\ldots,” |
||
Linia 93: | Linia 93: | ||
Przyjmijmy <math>n=M!</math>. Wówczas dla każdego słowa <math>w \in L</math> o długości <math>|w| > N</math> mamy | Przyjmijmy <math>n=M!</math>. Wówczas dla każdego słowa <math>w \in L</math> o długości <math>|w| > N</math> mamy | ||
<math>w(a^n)^*=w(a^k)^{\frac{n}{k}}\subset L \subset \{a\}^*</math>. <br> | <math>w(a^n)^*=w(a^k)^{\frac{n}{k}}\subset L \subset \{a\}^*</math>. <br> | ||
Dla <math>i=1, | Dla <math>i=1,\ldots,n</math> oznaczmy przez | ||
<center><math>L_i = a^{p+i}(a^n)^* \cap L</math>.</center> | <center><math>L_i = a^{p+i}(a^n)^* \cap L</math>.</center> | ||
Aktualna wersja na dzień 21:58, 15 wrz 2023
Ć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 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ę:
- ,
- ,
- .