10.02.2019 Views

opora

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KAPITOLA 7. SLOŽITOST 157<br />

Řada otázek ostrosti uvedených vztahů pak zůstává otevřená, nicméně z tzv.<br />

teorému hierarchie (nebudeme ho zde přesně uvádět, neboť je velmi technický –<br />

zájemci je naleznou v literatuře) plyne, že exponenciální „mezery“ mezi třídami<br />

jsou „ostré“:<br />

• LOGSPACE, NLOGSPACE ⊂ PSPACE,<br />

• P ⊂ EXP,<br />

• NP ⊂ NEXP,<br />

• PSPACE ⊂ NEXPSPACE,<br />

• EXP ⊂ 2-EXP, ...<br />

7.3.6 Některé další zajímavé výsledky<br />

Věta 7.3.7 (Blumův teorém) Pro každou totální vyčíslitelnou funkci f : N → N<br />

existuje problém, jehož každé řešení s nějakou složitostí t(n) může být zlepšeno<br />

tak, že nové řešení má složitost f(t(n)) pro skoro každé n ∈ N.<br />

Důkaz. Viz literatura.<br />

✷<br />

V důsledku Blumova teorému tedy existují problémy jejichž řešení se složitostí<br />

t(n) je možné donekonečna zrychlovat na lg t(n), lg lg t(n), lg lg lg t(n), ...<br />

Nutnost pracovat s časově konstruovatelnými funkcemi, abychom se vyhnuli<br />

např. tomu, že DT ime[f(n)] = DT ime[2 f(n) ] pro nějaké f(n), vyjadřuje následující<br />

teorém:<br />

Věta 7.3.8 (Gap Theorem) Ke každé rekurzívní funkci φ(n) > n existuje rekurzívní<br />

funkce f(n) taková, že DT ime[φ(f(n))] = DT ime[f(n)].<br />

Důkaz. Viz literatura – založeno na konstrukci funkce f takové, že žádný TS<br />

nezastaví pro vstup délky n počtem kroků mezi f(n) a φ(f(n)).<br />

✷<br />

7.3.7 R redukce, jazyky C-těžké a C-úplné<br />

Až doposud jsme třídy používali jako horní omezení složitosti problémů. Všimněme<br />

si nyní omezení dolního – to zavedeme pomocí redukovatelnosti třídy problémů<br />

na daný problém.<br />

R redukce je (podobně jako v kapitole o vyčíslitelnosti) funkcí, která převádí<br />

problém na problém jiný. V teorii složitosti je ale potřeba, aby vyhovovala i jiným<br />

požadavkům, než je prostá vyčíslitelnost:<br />

Definice 7.3.1 Nechť R je třída funkcí. Jazyk L 1 ⊆ Σ ∗ 1 je R redukovatelný (přesněji<br />

R many-to-one reducible) na jazyk L 2 ⊆ Σ ∗ 2, což zapisujeme L 1 ≤ m R L 2,<br />

jestliže existuje funkce f z R taková, že w ∈ L 1 ⇔ f(w) ∈ L 2 .<br />

Pokud se všechny problémy nějaké třídy R redukují na jistý problém, pak je<br />

tento problém v oné třídě úplný vzhledem k R redukci (alespoň tak těžký, jako<br />

kterýkoliv jiný problém této třídy):<br />

Definice 7.3.2 Nechť R je třída funkcí a C třída jazyků. Jazyk L 0 je C-těžký<br />

(C-hard) vzhledem k R redukovatelnosti, jestliže ∀L ∈ C : L ≤ m R L 0.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!