Języki, automaty i obliczenia/Ćwiczenia 13: Złożoność obliczeniowa.: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>”
m Zastępowanie tekstu – „ </math>” na „</math>”
Linia 8: Linia 8:
</math></center>
</math></center>


wykazując, że <math>L\in </math> '''NP''' .
wykazując, że <math>L\in</math> '''NP''' .
Uzasadnij, że także <center><math>L\in </math> '''P''' <math></math>.</center>
Uzasadnij, że także <center><math>L\in</math> '''P''' <math></math>.</center>


}}
}}
Linia 37: Linia 37:
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 97: Linia 97:
</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 108: Linia 108:


Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{NMT}</math> aby udowodnić, że
Zmodyfikuj, ewentualnie, tę konstrukcję <math>\mathcal{NMT}</math> aby udowodnić, że
<math>L_2 \in </math> '''NP''' .<br>
<math>L_2 \in</math> '''NP''' .<br>


''Podpowiedź:'' wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego <math>w</math>
''Podpowiedź:'' wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego <math>w</math>

Wersja z 10:48, 5 wrz 2023

Ćwiczenia 13

Ćwiczenie 1

W trakcie wykładu rozważaliśmy język

L={3k :: :k=ij dla pewnych i,j>1},

wykazując, że L NP .

Uzasadnij, że także
L P .
Wskazówka
Rozwiązanie

Ćwiczenie 2

Uzasadnij, że funkcja s(n)=3n jest konstruowalna pamięciowo.

Wskazówka
Rozwiązanie

Ćwiczenie 3

Uzasadnij, że funkcja s(n)=3n jest konstruowalna pamięciowo.

Wskazówka
Rozwiązanie


Ćwiczenie 4

Zadanie domowe - cwiczenie 6 - do wykładu 12 polegało na konstrukcji maszyny Turinga 𝒯 akceptującej język:

L1={www :: :w{,,}*}.

Zmodyfikuj, ewentualnie, tę konstrukcję 𝒯, aby udowodnić L1 P .

Ćwiczenie 5

Zadanie domowe - cwiczenie 7 - do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga 𝒩𝒯 akceptującej język:

L2={w1w1w2w2wnwn :: :wi{,}+,n>0}.

Zmodyfikuj, ewentualnie, tę konstrukcję 𝒩𝒯 aby udowodnić, że L2 NP .

Podpowiedź: wykorzystaj konstrukcję z wyrocznią. Dla słowa wejściowego w przeprowadź weryfikację w trzech etapach: konstrukcja słów w1,,wn, gdzie n<|w| (wyrocznia), sklejanie, weryfikacja, czy w=w1w1w2w2wnwn.


ZADANIA DOMOWE


Ćwiczenie 6

Uzasadnij, że jeśli funkcja s(n) jest konstruowalna pamięciowo, to obliczenie d1*d2 z definicji konstruowalności pamięciowej (tzn. d1=s01n, d2=s11s(n)w) następuje w co najwyżej c2s(n) krokach, gdzie c jest pewną stałą niezależną od n.
Podpowiedź: przeanalizuj ilość możliwych konfiguracji.

Ćwiczenie 7

Uzasadnij, że funkcja n3 jest konstruowalna pamięciowo.