Języki, automaty i obliczenia/Ćwiczenia 13: Złożoność obliczeniowa.: Różnice pomiędzy wersjami
Matiunreal (dyskusja | edycje) Nie podano opisu zmian |
Matiunreal (dyskusja | edycje) Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
==Ćwiczenia 13== | ==Ćwiczenia 13== | ||
{{cwiczenie| | {{cwiczenie|1|| | ||
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 38: | Linia 38: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|2|| | ||
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 62: | Linia 62: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|3|| | ||
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 84: | Linia 84: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|4|| | ||
Skonstruuj maszynę Turinga rozpoznającą język zadany gramatyką: | Skonstruuj maszynę Turinga rozpoznającą język zadany gramatyką: | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 110: | Linia 110: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|5|| | ||
Przedstaw ideę działania maszyny Turinga rozpoznającej język | Przedstaw ideę działania maszyny Turinga rozpoznającej język | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 133: | Linia 133: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|6|| | ||
W trakcie wykładu rozważaliśmy zamkniętość klas języków w klasyfikacji Chomsky'ego ze względu na różne działania. Podaj uzasadnienie (ideę konstrukcji) następującego faktu: | W trakcie wykładu rozważaliśmy zamkniętość klas języków w klasyfikacji Chomsky'ego ze względu na różne działania. Podaj uzasadnienie (ideę konstrukcji) następującego faktu: | ||
Linia 156: | Linia 156: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|7|| | ||
Czy któraś z poniższych list słów ma własność Posta? | Czy któraś z poniższych list słów ma własność Posta? | ||
# <center><math>\displaystyle | # <center><math>\displaystyle | ||
Linia 212: | Linia 212: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|8|| | ||
W definicji problemu Posta zakłada się, że alfabet <math>\displaystyle \mathcal{A}</math> | W definicji problemu Posta zakłada się, że alfabet <math>\displaystyle \mathcal{A}</math> | ||
zawiera co najmniej dwa elementy. Wykaż, że gdy to założenie nie jest spełnione (tzn. <math>\displaystyle \mathcal{A}=\left\{1\right\}</math>) problem Posta jest problemem rozstrzygalnym. | zawiera co najmniej dwa elementy. Wykaż, że gdy to założenie nie jest spełnione (tzn. <math>\displaystyle \mathcal{A}=\left\{1\right\}</math>) problem Posta jest problemem rozstrzygalnym. | ||
Linia 261: | Linia 261: | ||
<center>ZADANIA DOMOWE</center> | <center>ZADANIA DOMOWE</center> | ||
{{cwiczenie| | {{cwiczenie|9|| | ||
Zadanie domowe 2.1 do wykładu 12 polegało na konstrukcji maszyny Turinga | Zadanie domowe 2.1 do wykładu 12 polegało na konstrukcji maszyny Turinga | ||
<math>\displaystyle \mathcal{MT}</math> akceptującej język: | <math>\displaystyle \mathcal{MT}</math> akceptującej język: | ||
Linia 271: | Linia 271: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|10|| | ||
Zadanie domowe 2.2 do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga | Zadanie domowe 2.2 do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga | ||
<math>\displaystyle \mathcal{NMT}</math> akceptującej język: | <math>\displaystyle \mathcal{NMT}</math> akceptującej język: | ||
Linia 287: | Linia 287: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|11|| | ||
Uzasadnij, że jeśli funkcja <math>\displaystyle s(n)</math> jest konstruowalna pamięciowo to obliczenie <math>\displaystyle d_1 \mapsto^* d_2</math> z definicji | Uzasadnij, że jeśli funkcja <math>\displaystyle s(n)</math> jest konstruowalna pamięciowo to obliczenie <math>\displaystyle d_1 \mapsto^* d_2</math> z definicji | ||
konstruowalności pamięciowej (tzn. <math>\displaystyle d_1=\sharp s_0 1^n \sharp</math>, | konstruowalności pamięciowej (tzn. <math>\displaystyle d_1=\sharp s_0 1^n \sharp</math>, | ||
Linia 295: | Linia 295: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|12|| | ||
Uzasadnij że funkcja <math>\displaystyle n^3</math> jest konstruowalna pamięciowo. | Uzasadnij że funkcja <math>\displaystyle n^3</math> jest konstruowalna pamięciowo. | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|13|| | ||
Skonstruuj maszynę Turinga akceptującą słowo <math>\displaystyle u=1^n</math> w dokładnie <math>\displaystyle n^2</math> krokach. Jak zmodyfikować konstrukcję maszyny aby | Skonstruuj maszynę Turinga akceptującą słowo <math>\displaystyle u=1^n</math> w dokładnie <math>\displaystyle n^2</math> krokach. Jak zmodyfikować konstrukcję maszyny aby | ||
akceptowała słowo <math>\displaystyle u</math> dokładnie w <math>\displaystyle 2^n</math> krokach? | akceptowała słowo <math>\displaystyle u</math> dokładnie w <math>\displaystyle 2^n</math> krokach? | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|14|| | ||
Wypisz dokładnie wszystkie elementy składowe maszyn Turinga | Wypisz dokładnie wszystkie elementy składowe maszyn Turinga | ||
rozpoznających języki zadane gramatykami: | rozpoznających języki zadane gramatykami: | ||
Linia 313: | Linia 313: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|15|| | ||
Wykaż (podając ideę kontrukcji) że dla maszyn Turinga <math>\displaystyle TM_1</math>, <math>\displaystyle TM_2</math> | Wykaż (podając ideę kontrukcji) że dla maszyn Turinga <math>\displaystyle TM_1</math>, <math>\displaystyle TM_2</math> | ||
istnieje maszyna Turinga <math>\displaystyle \mathcal{M}</math> rozpoznająca język: | istnieje maszyna Turinga <math>\displaystyle \mathcal{M}</math> rozpoznająca język: | ||
Linia 321: | Linia 321: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|16|| | ||
Czy któraś z poniższych list słów ma własność Posta? | Czy któraś z poniższych list słów ma własność Posta? | ||
# <center><math>\displaystyle | # <center><math>\displaystyle | ||
Linia 337: | Linia 337: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|17|| | ||
Udowodnij Twierdzenie 2.1 z wykładu: | Udowodnij Twierdzenie 2.1 z wykładu: | ||
Wersja z 23:05, 26 sie 2006
Ćwiczenia 13
Ćwiczenie 1
W trakcie wykładu rozważaliśmy język
wykazując, że NP .
Uzasadnij, że takżeĆwiczenie 2
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 3
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 4
Skonstruuj maszynę Turinga rozpoznającą język zadany gramatyką:
Ćwiczenie 5
Przedstaw ideę działania maszyny Turinga rozpoznającej język
Ćwiczenie 6
W trakcie wykładu rozważaliśmy zamkniętość klas języków w klasyfikacji Chomsky'ego ze względu na różne działania. Podaj uzasadnienie (ideę konstrukcji) następującego faktu:
Dla dowolnych maszyn Turinga , istnieje maszyna o własności:
Ćwiczenie 7
Czy któraś z poniższych list słów ma własność Posta?
Ćwiczenie 8
W definicji problemu Posta zakłada się, że alfabet zawiera co najmniej dwa elementy. Wykaż, że gdy to założenie nie jest spełnione (tzn. ) problem Posta jest problemem rozstrzygalnym.
Ćwiczenie 9
Zadanie domowe 2.1 do wykładu 12 polegało na konstrukcji maszyny Turinga akceptującej język:
Zmodyfikuj, ewentualnie, tę konstrukcję aby udowodnić P .
Ćwiczenie 10
Zadanie domowe 2.2 do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga akceptującej język:
Zmodyfikuj, ewentualnie, tę konstrukcję aby udowodnić, że
NP .
Podpowiedź: wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego przeprowadź weryfikację w trzech etapach: konstrukcja słów gdzie (wyrocznia), sklejanie, weryfikacja czy .
Ćwiczenie 11
Uzasadnij, że jeśli funkcja jest konstruowalna pamięciowo to obliczenie z definicji
konstruowalności pamięciowej (tzn. ,
) następuję w conajwyżej krokach gdzie jest pewną
stałą niezależną od .
Podpowiedź: przeanalizuj ilość możliwych konfiguracji.
Ćwiczenie 12
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 13
Skonstruuj maszynę Turinga akceptującą słowo w dokładnie krokach. Jak zmodyfikować konstrukcję maszyny aby akceptowała słowo dokładnie w krokach?
Ćwiczenie 14
Wypisz dokładnie wszystkie elementy składowe maszyn Turinga rozpoznających języki zadane gramatykami:
- , ,
Ćwiczenie 15
Wykaż (podając ideę kontrukcji) że dla maszyn Turinga , istnieje maszyna Turinga rozpoznająca język:
Ćwiczenie 16
Czy któraś z poniższych list słów ma własność Posta?
Ćwiczenie 17
Udowodnij Twierdzenie 2.1 z wykładu:
Twierdzenie. Dla każdej gramatyki istnieje równoważna gramatyka tego samego typu taka, że każda produkcja, w której występuje symbol terminalny , jest postaci .