Čtení: 60 minHodnotí se: ústní zkouška

6 Teorie k ústní zkoušce

Varování 6.1 (Stav materiálů)

Seznam témat ke zkoušce ještě nebyl zveřejněn a v materiálech jsou přednášky jen do 6. Tato kapitola je proto výběr toho nejpodstatnějšího, ne oficiální okruhy. Po zveřejnění ji upravíme.

Po přečtení umíš
  • vysvětlit vlastními slovy hlavní třídy a vztahy mezi nimi
  • popsat myšlenku klíčových vět bez detailního důkazu
  • odpovědět na typické doplňující otázky

U ústní zkoušky se počítá, že umíš věc vysvětlit a uvést příklad. Každou odpověď si proto řekni nahlas dřív, než si ji rozklikneš.

6.1 Mapa tříd

L⊆NL⊆P⊆NP⊆PSPACE=NPSPACE⊆EXP\mathrm{L} \subseteq \mathrm{NL} \subseteq \mathrm{P} \subseteq \mathrm{NP} \subseteq \mathrm{PSPACE} = \mathrm{NPSPACE} \subseteq \mathrm{EXP}
Třída Co znamená Typický problém
L prostor O(log⁡n)O(\log n) jednoduché počítání
NL nedeterministický prostor O(log⁡n)O(\log n) dosažitelnost v grafu
P polynomiální čas souvislost grafu
NP řešení lze ověřit v polynomiálním čase SAT, Clique
PSPACE polynomiální paměť Geografie, TQBF
EXP exponenciální čas

Z časové hierarchie víme, že P ≠ EXP. Takže aspoň jedna inkluze mezi P a EXP je ostrá, ale která, nevíme.

6.2 Otázky

Kvíz

1. Proč v teorii složitosti používáme Turingův stroj a rozhodovací problémy?
Ukázat řešeníDokázat, že něco nejde, vyžaduje formální model všech algoritmů. Rozhodovací problém je jazyk L⊆Σ∗L \subseteq \Sigma^* a o optimalizaci nepřijdeme, protože prahové kk vyhledáme binárně.

2. Co je HaltingProblem a proč je nerozhodnutelný?
Ukázat řešeníVstupem je stroj MM a slovo xx, otázka zní, zda MM na xx skončí. Plyne z nepočitatelnosti funkce UC diagonalizací: kdyby stroj existoval, sestrojíme stroj, který na vlastním popisu udělá opak. Důsledek: nelze napsat univerzální analyzátor kódu.

3. Co říká časová hierarchie?
Ukázat řešeníS asymptoticky více času spočítáme ostře víc: pro časově konstruovatelné funkce, kde flog⁡f=o(g)f \log f = o(g), platí DTIME(f)⊊DTIME(g)\mathrm{DTIME}(f) \subsetneq \mathrm{DTIME}(g). Proto P ≠ EXP.

4. Co je třída NP? Uveď obě definice.
Ukázat řešeníJazyky rozhodované NDTS v polynomiálním čase. Ekvivalentně: jazyky s polynomiálním deterministickým verifikátorem a polynomiálně dlouhým certifikátem. Certifikát odpovídá posloupnosti nedeterministických voleb.

5. Je nedeterminismus paralelismus?
Ukázat řešeníNe. Je to matematická definice přijetí: stačí jedna přijímající větev. Paralelní stroj má jen konečně mnoho procesorů, zatímco větví může být exponenciálně.

6. Co je redukce a NP-úplnost? Proč jsou užitečné?
Ukázat řešeníA≤pBA \le_p B převádí instance v polynomiálním čase a zachovává odpověď. NP-úplný problém je v NP a každý problém z NP se na něj redukuje. Pokud by byl v P, pak P = NP. V praxi přestaneme hledat přesný polynomiální algoritmus.

7. Popiš myšlenku Cook-Levinovy věty.
Ukázat řešeníPro L∈L \in NP se výpočet polynomiálního NDTS zapíše do tabulky čas krát prostor. Formule popisuje správný začátek, každou lokální změnu podle přechodové funkce a přijetí. Přednáška to ukazuje přes dlaždičkování. Formule je polynomiálně velká a splnitelná právě tehdy, když výpočet přijímá.

8. Jaký je rozdíl mezi slabou a silnou NP-těžkostí?
Ukázat řešeníSilně těžký problém zůstává těžký i při unárních číslech. Slabě těžký má pseudopolynomiální algoritmus: Subset Sum v O(nT)O(nT), Knapsack. Silně těžký je 3-Partition. V praxi: slabě těžký s malými čísly vyřeší dynamické programování.

9. Proč je NP-úplný problém s pseudopolynomiálním algoritmem v souladu s P ≠ NP?
Ukázat řešeníČas O(nT)O(nT) závisí na hodnotě TT, ale délka vstupu je jen log⁡T\log T. Vůči délce vstupu je to exponenciální.

10. Co říká Savitchova věta a proč je překvapivá?
Ukázat řešeníNSPACE(S)⊆DSPACE(S2)\mathrm{NSPACE}(S) \subseteq \mathrm{DSPACE}(S^2) pro prostorově konstruovatelné S≥log⁡nS \ge \log n. Odstranění nedeterminismu stojí jen kvadraticky, u času neznáme nic takového. Myšlenka: rekurzivně hledáme prostřední konfiguraci výpočtu, hloubka je O(S)O(S) a každá úroveň potřebuje O(S)O(S) paměti. Důsledek: PSPACE = NPSPACE.

11. Proč je prostor silnější zdroj než čas, ale čas prostor omezuje?
Ukázat řešeníZa čas TT se nedá zapsat víc než TT políček, takže DTIME(T)⊆DSPACE(T)\mathrm{DTIME}(T) \subseteq \mathrm{DSPACE}(T). Naopak prostor lze používat opakovaně a konfigurací je až exponenciálně v prostoru, proto PSPACE ⊆ EXP.

12. Co je PSPACE-úplný problém a příklad?
Ukázat řešeníJe v PSPACE a každý problém z PSPACE se na něj redukuje. Příklady: TQBF a Geografie, hra dvou hráčů. Pro hry je typické střídání tahů, odpovídající střídání kvantifikátorů.

13. Co je NL\mathrm{NL} a proč je dosažitelnost v grafu zajímavá?
Ukázat řešeníNL je nedeterministický logaritmický prostor. Dosažitelnost je v NL: pamatujeme si jen aktuální vrchol a počítadlo kroků. Immerman-Szelepcsényi: NL je uzavřené na doplněk, což se u NP neví.

6.3 Jak odpovídat

  1. Začni definicí jednou větou.
  2. Přidej příklad.
  3. Řekni, proč je to důležité.
  4. Pokud nevíš, popiš, kam až vidíš. Mlčení je nejhorší.

6.4 Tahák

Tahák
  • L ⊆ NL ⊆ P ⊆ NP ⊆ PSPACE = NPSPACE ⊆ EXP, a P ≠ EXP.
  • NP = hádej a ověř = certifikát.
  • NP-úplný = v NP a vše z NP se na něj redukuje.
  • Cook-Levin: výpočet jako tabulka, formule popisuje lokální pravidla.
  • Slabě těžký: O(nT)O(nT) existuje. Silně těžký: nepomůžou ani malá čísla.
  • Savitch: S→S2S \to S^2, hledání středu konfigurace.
  • HaltingProblem: diagonalizace, nerozhodnutelné.

Zdroje

  • NI-ICC přednáška 1: vyčíslitelnost, UC, HaltingProblem strany 23–26, DTIME a hierarchie 28–33
  • NI-ICC přednáška 2: NDTS 3–14, verifikátor 15–20
  • NI-ICC přednáška 3: UNP 7–9, Cook-Levin 11–22
  • NI-ICC přednáška 5: silná a slabá NP-těžkost 36–41
  • NI-ICC přednáška 6: prostorová složitost, Savitch 9–10, L a NL 20
  • NI-ICC proseminář 6: Geografie