Języki, automaty i obliczenia/Ćwiczenia 13: Złożoność obliczeniowa.: Różnice pomiędzy wersjami
Matiunreal (dyskusja | edycje) |
Matiunreal (dyskusja | edycje) |
||
Linia 55: | Linia 55: | ||
# Jeśli słowo wejściowe jest puste to stop. | # Jeśli słowo wejściowe jest puste to stop. | ||
# Jeśli słowo wejściowe jest inne niż <math>\displaystyle 1^n</math> to odrzuć. | # Jeśli słowo wejściowe jest inne niż <math>\displaystyle 1^n</math> to odrzuć. | ||
# Przepisz słowo wejściowe tak aby znajdowało się na taśmie <math>\displaystyle I</math> a taśma <math>\displaystyle S</math> była pusta (gdy zaczynamy symulować | # Przepisz słowo wejściowe tak aby znajdowało się na taśmie <math>\displaystyle I</math> a taśma <math>\displaystyle S</math> była pusta (gdy zaczynamy symulować dwie taśmy musimy przejść do innego zestawu symboli w którym rozróżniamy taśmy). | ||
dwie taśmy musimy przejść do innego zestawu symboli w którym rozróżniamy taśmy). | |||
# Kopiujemy słowo wejściowe na taśmę <math>\displaystyle S</math>. | # Kopiujemy słowo wejściowe na taśmę <math>\displaystyle S</math>. | ||
# Symulujemy maszynę <math>\displaystyle MT_4</math> na taśmie <math>\displaystyle S</math>. | # Symulujemy maszynę <math>\displaystyle MT_4</math> na taśmie <math>\displaystyle S</math>. |
Wersja z 08:41, 24 sie 2006
1. ĆWICZENIA 13
Ćwiczenie 1.1
W trakcie wykładu rozważaliśmy język
wykazując, że NP .
Uzasadnij, że takżeĆwiczenie 1.2
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 1.3
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 1.4
Skonstruuj maszynę Turinga rozpoznającą język zadany gramatyką:
Ćwiczenie 1.5
Przedstaw ideę działania maszyny Turinga rozpoznającej język
Ćwiczenie 1.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 1.7
Czy któraś z poniższych list słów ma własność Posta?
Ćwiczenie 1.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.
2. Zadania domowe
Ćwiczenie 2.1
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 2.2
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 2.3
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 2.4
Uzasadnij że funkcja jest konstruowalna pamięciowo.
Ćwiczenie 2.5
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 2.6
Wypisz dokładnie wszystkie elementy składowe maszyn Turinga rozpoznających języki zadane gramatykami:
- , ,
Ćwiczenie 2.7
Wykaż (podając ideę kontrukcji) że dla maszyn Turinga , istnieje maszyna Turinga rozpoznająca język:
Ćwiczenie 2.8
Czy któraś z poniższych list słów ma własność Posta?
Ćwiczenie 2.9
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 .