Języki, automaty i obliczenia/Ćwiczenia 12: Języki kontekstowe i automat liniowo ograniczony. Maszyna Turinga: Różnice pomiędzy wersjami
Matiunreal (dyskusja | edycje) Nie podano opisu zmian |
|||
Linia 1: | Linia 1: | ||
==1. ĆWICZENIA 12== | |||
{{cwiczenie|1|| | |||
{{cwiczenie||| | |||
Rozważmy maszynę Turinga <math>\displaystyle TM_2</math> z wykładu (Przykład 1.2) akceptującą | Rozważmy maszynę Turinga <math>\displaystyle TM_2</math> z wykładu (Przykład 1.2) akceptującą | ||
język palindromów, czyli: | język palindromów, czyli: | ||
Linia 129: | Linia 127: | ||
</div></div> | </div></div> | ||
{{cwiczenie||| | {{cwiczenie|2|| | ||
Niech będzie dany alfabet <math>\displaystyle \Sigma_I =\left\{0,1,\clubsuit\right\}</math>. Zaprojektuj maszynę Turinga akceptująca język postaci: | Niech będzie dany alfabet <math>\displaystyle \Sigma_I =\left\{0,1,\clubsuit\right\}</math>. Zaprojektuj maszynę Turinga akceptująca język postaci: | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 222: | Linia 220: | ||
</div></div> | </div></div> | ||
{{cwiczenie||| | {{cwiczenie|3|| | ||
W trakcie wykładu rozważaliśmy język | W trakcie wykładu rozważaliśmy język | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 262: | Linia 260: | ||
</div></div> | </div></div> | ||
{{cwiczenie||| | {{cwiczenie|4|| | ||
Uzasadnij że funkcja <math>\displaystyle s(n)=3n</math> jest konstruowalna pamięciowo. | Uzasadnij że funkcja <math>\displaystyle s(n)=3n</math> jest konstruowalna pamięciowo. | ||
}} | }} | ||
Linia 288: | Linia 286: | ||
</div></div> | </div></div> | ||
{{cwiczenie||| | {{cwiczenie|5|| | ||
Uzasadnij że funkcja <math>\displaystyle s(n)=3^n</math> jest konstruowalna pamięciowo. | Uzasadnij że funkcja <math>\displaystyle s(n)=3^n</math> jest konstruowalna pamięciowo. | ||
}} | }} | ||
Linia 316: | Linia 314: | ||
==Zadania domowe== | ==Zadania domowe== | ||
{{cwiczenie||| | {{cwiczenie|6|| | ||
Skonstruuj maszynę Turinga <math>\displaystyle \mathcal{MT}</math> akceptującą język: | Skonstruuj maszynę Turinga <math>\displaystyle \mathcal{MT}</math> akceptującą język: | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 324: | Linia 322: | ||
}} | }} | ||
{{cwiczenie||| | {{cwiczenie|7|| | ||
Uzasadnij, że język | Uzasadnij, że język | ||
<center><math>\displaystyle | <center><math>\displaystyle |
Wersja z 10:15, 25 sie 2006
1. ĆWICZENIA 12
Ćwiczenie 1
Rozważmy maszynę Turinga z wykładu (Przykład 1.2) akceptującą język palindromów, czyli:
Sprawdź, że
- oraz, że
- .
Ćwiczenie 2
Niech będzie dany alfabet . Zaprojektuj maszynę Turinga akceptująca język postaci:
Zaprojektuj maszynę Turinga która akceptuje język . Następnie:
- Wypisz elementy składowe maszyny , tzn. zbiory oraz funkcję przejścia
(zapewnij aby ).
- Wykonaj symulację maszyny na słowie
- słowie
- oraz słowie .
Ćwiczenie 3
W trakcie wykładu rozważaliśmy język
wykazując, że NP .
Uzasadnij, że takżeĆwiczenie 4
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 5
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Zadania domowe
Ćwiczenie 6
Skonstruuj maszynę Turinga akceptującą język:
Ćwiczenie 7
Uzasadnij, że język
jest rozpoznawany przez pewną niedeterministyczna maszynę Turinga .
Podpowiedź: wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego przeprowadź weryfikację w trzech etapach: konstrukcja słów gdzie (wyrocznia), sklejanie, weryfikacja czy .