Języki, automaty i obliczenia/Ćwiczenia 13: Złożoność obliczeniowa.: Różnice pomiędzy wersjami
Linia 2: | Linia 2: | ||
{{cwiczenie| | {{cwiczenie|1|| | ||
W trakcie wykładu rozważaliśmy język | W trakcie wykładu rozważaliśmy język | ||
<center><math>\displaystyle | <center><math>\displaystyle | ||
Linia 40: | Linia 40: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|2|| | ||
Uzasadnij, że funkcja <math>\displaystyle s(n)=3n</math> jest konstruowalna pamięciowo. | Uzasadnij, że funkcja <math>\displaystyle s(n)=3n</math> jest konstruowalna pamięciowo. | ||
}} | }} | ||
Linia 64: | Linia 64: | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|3|| | ||
Uzasadnij, że funkcja <math>\displaystyle s(n)=3^n</math> jest konstruowalna pamięciowo. | Uzasadnij, że funkcja <math>\displaystyle s(n)=3^n</math> jest konstruowalna pamięciowo. | ||
}} | }} | ||
Linia 90: | Linia 90: | ||
{{cwiczenie| | {{cwiczenie|4|| | ||
Zadanie domowe 2.1 do wykładu 12 polegało na konstrukcji maszyny Turinga | Zadanie domowe 2.1 do wykładu 12 polegało na konstrukcji maszyny Turinga | ||
<math>\displaystyle \mathcal{MT}</math> akceptującej język: | <math>\displaystyle \mathcal{MT}</math> akceptującej język: | ||
Linia 100: | Linia 100: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|5|| | ||
Zadanie domowe 2.2 do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga | Zadanie domowe 2.2 do wykładu 12 polegało na konstrukcji niedeterministycznej maszyny Turinga | ||
<math>\displaystyle \mathcal{NMT}</math> akceptującej język: | <math>\displaystyle \mathcal{NMT}</math> akceptującej język: | ||
Linia 119: | Linia 119: | ||
{{cwiczenie| | {{cwiczenie|6|| | ||
Uzasadnij, że jeśli funkcja <math>\displaystyle s(n)</math> jest konstruowalna pamięciowo, to obliczenie <math>\displaystyle d_1 \mapsto^* d_2</math> z definicji | Uzasadnij, że jeśli funkcja <math>\displaystyle s(n)</math> jest konstruowalna pamięciowo, to obliczenie <math>\displaystyle d_1 \mapsto^* d_2</math> z definicji | ||
konstruowalności pamięciowej (tzn. <math>\displaystyle d_1=\sharp s_0 1^n \sharp</math>, | konstruowalności pamięciowej (tzn. <math>\displaystyle d_1=\sharp s_0 1^n \sharp</math>, | ||
Linia 127: | Linia 127: | ||
}} | }} | ||
{{cwiczenie| | {{cwiczenie|7|| | ||
Uzasadnij, że funkcja <math>\displaystyle n^3</math> jest konstruowalna pamięciowo. | Uzasadnij, że funkcja <math>\displaystyle n^3</math> jest konstruowalna pamięciowo. | ||
}} | }} |
Wersja z 16:43, 3 wrz 2006
Ć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 2.1 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 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 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.