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 332: | Linia 332: | ||
</math></center> | </math></center> | ||
# <center><math>\displaystyle | # <center><math>\displaystyle | ||
(u_1,v_1)=\left [ \begin{array} {c} aaa\\a \end{array} \right] | (u_1,v_1)=\left [ \begin{array} {c} aaa\\a \end{array} \right], (u_2,v_2)=\left [ \begin{array} {c} b\\b a \end{array} \right], (u_3,v_3)=\left [ \begin{array} {c} bb\\b \end{array} \right], (u_4,v_4)=\left [ \begin{array} {c} ba\\ab \end{array} \right] | ||
(u_2,v_2)=\left [ \begin{array} {c} b\\b a \end{array} \right] | |||
(u_3,v_3)=\left [ \begin{array} {c} bb\\b \end{array} \right] | |||
(u_4,v_4)=\left [ \begin{array} {c} ba\\ab \end{array} \right] | |||
</math></center> | </math></center> | ||
Wersja z 22:31, 26 sie 2006
Ć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.
Ć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 .