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>,”
 
(Nie pokazano 3 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''' .
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 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
<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>

Aktualna wersja na dzień 21:46, 11 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.