Języki, automaty i obliczenia/Ćwiczenia 13: Złożoność obliczeniowa.: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „ </math>” na „</math>” |
m Zastępowanie tekstu – „,↵</math>” na „</math>,” |
||
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 5: | Linia 5: | ||
W trakcie wykładu rozważaliśmy język | W trakcie wykładu rozważaliśmy język | ||
<center><math> | <center><math> | ||
L=\{3^k\ : : \ : k=i\cdot j\text{ dla pewnych } i,j> 1\} | L=\{3^k\ : : \ : k=i\cdot j\text{ dla pewnych } i,j> 1\}</math>,</center> | ||
</math></center> | |||
wykazując, że <math>L\in</math> '''NP''' . | wykazując, że <math>L\in</math> '''NP''' . | ||
Linia 37: | Linia 36: | ||
W oczywisty sposób otrzymujemy, że ilość wymaganych kroków czasowych maszyny jest ograniczona przez wielomian (dla dużych <math>n</math>). | W oczywisty sposób otrzymujemy, że ilość wymaganych kroków czasowych maszyny jest ograniczona przez wielomian (dla dużych <math>n</math>). | ||
Dla małych <math>n</math> możemy zawsze rozbudować maszynę tak, aby akceptowała słowa bez żadnego testowania. | Dla małych <math>n</math> możemy zawsze rozbudować maszynę tak, aby akceptowała słowa bez żadnego testowania. | ||
Zatem <math>L\in </math> '''P''' . | Zatem <math>L\in</math> '''P''' . | ||
</div></div> | </div></div> | ||
Linia 94: | Linia 93: | ||
<math>\mathcal{MT}</math> akceptującej język: | <math>\mathcal{MT}</math> akceptującej język: | ||
<center><math> | <center><math> | ||
L_1=\left\{www\ : : \ : w\in \left\{\circ,\bullet,\star\right\}^*\right\} | L_1=\left\{www\ : : \ : w\in \left\{\circ,\bullet,\star\right\}^*\right\}</math></center> | ||
</math></center> | |||
Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{MT}</math>, aby udowodnić <math>L_1 \in</math> '''P''' . | Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{MT}</math>, aby udowodnić <math>L_1 \in</math> '''P''' . | ||
Linia 104: | Linia 102: | ||
<math>\mathcal{NMT}</math> akceptującej język: | <math>\mathcal{NMT}</math> akceptującej język: | ||
<center><math> | <center><math> | ||
L_2=\left\{w_1 w_1 w_2 w_2 \dots w_n w_n \ : : \ : w_i \in \left\{\circ,\bullet\right\}^+, n>0 \right\} | L_2=\left\{w_1 w_1 w_2 w_2 \dots w_n w_n \ : : \ : w_i \in \left\{\circ,\bullet\right\}^+, n>0 \right\}</math></center> | ||
</math></center> | |||
Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{NMT}</math> aby udowodnić, że | Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{NMT}</math> aby udowodnić, że |
Aktualna wersja na dzień 21:46, 11 wrz 2023
Ć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
Zadanie domowe - cwiczenie 6 - do wykładu 12 polegało na konstrukcji maszyny Turinga akceptującej język:
Zmodyfikuj, ewentualnie, tę konstrukcję , aby udowodnić P .
Ćwiczenie 5
Zadanie domowe - cwiczenie 7 - 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 6
Uzasadnij, że jeśli funkcja jest konstruowalna pamięciowo, to obliczenie z definicji
konstruowalności pamięciowej (tzn. ,
) następuje w co najwyżej krokach, gdzie jest pewną
stałą niezależną od .
Podpowiedź: przeanalizuj ilość możliwych konfiguracji.
Ćwiczenie 7
Uzasadnij, że funkcja jest konstruowalna pamięciowo.