SAT jeNP-těžký SAT = {(cp) | cp je splnitelná Booleovská formule} SAT je NP-těžký, tj. A e NP A
existuje akceptující tablo reprezentující výpočet na
IB102 Automaty, gramatiky a složitost, 8.12.2014
<*> = ^cell A 4>start A 0 move A ^accept
cDceN = "každé Xjj^s platí <=^> v tablu na pozici i J je symbol s, kde s g C = Quru{#}"
*cell= A í(Vx^>)A ( A n(%A%))
1< flfr+l
1 ' převedeme na ekvivalentní í NP-úplný, 4 N platí:
□ TIME(/(n)) c SPACE(/(n))
B NTIME(/(/7)) c NSPACE(/(n))
□ SPACE(/(n)) c TIME(/c'(n)) pro vhodné /c g N
□ NSPACE(f(n)) c NTIME(/c'(n)) pro vhodné k e N
Důkaz.
IB102 Automaty, gramatiky a složitost, 8.12.2014
Savitchova věta
Savitchova věta. Pro každou funkci /: N -> N splňující f(rí) > n platí
NSPACE(/(a?)) c SPACE(/2(a?))
Standardní převod nedeterministického TM na deterministický nefunguje
IB102 Automaty, gramatiky a složitost, 8.12.2014
21/29
Savitchova věta
Důkaz. Nechť A/" je nedeterministický TM s prostorovou složitostí f(ri). Stroj upravíme tak, aby před akceptováním smazal pásku a posunul hlavu zcela vlevo. Má tedy jen jednu akceptující konfiguraci cacc. Výpočet stroje má maximálně kf^ kroků.
Ekvivalentní deterministický stroj M implementuje proceduru coA7?p(c1, c2, ř), která akceptuje, pokud lze ve stroji J\f během nejvýše t kroků přejít z konfigurace c-i do c2, jinak zamítá. Je-li cw iniciální konfigurace stroje J\f pro w, stačí tedy spustit comp(cw, cacc, kf^).
comp(ci, c2, ř) lze implementovat rekursivně:
IB102 Automaty, gramatiky a složitost, 8.12.2014
22/29
Savitchova věta
Algoritmus pro comp{^, c2, t):
t = 1: Otestujeme, zda platí c-i = c2 nebo Ci h/vr °2-Pokud platí, akceptujeme, jinak zamítneme.
t > 1: Pro každou konfiguraci c7 stroje J\f využívající max. f (n) políček
spustíme coA7?p(c1, c', [|]) a comp(d, c2, [|]).
Pokud obojí akceptuje, akceptujeme. Pokud žádné ď nevedlo k akceptování, zamítneme.
Prostorová složitost:
■ comp potřebuje prostor na c-i, c2, d a ř (a něco konstantního):
■ hloubka rekurzivního volání:
■ celkem: □
IB102 Automaty, gramatiky a složitost, 8.12.2014 23/29
Polynomiální prostorové složitostní třídy
PSPACE = [J SPACEJ) NPSPACE = |J NSPACE^)
Věta. PSPACE = NPSPACE
Důkaz. Plyne přímo z definice (c) a ze Savitchovy věty Q). □
IB102 Automaty, gramatiky a složitost, 8.12.2014 24/29
Vztahy prostorových a časových tříd
P c NP c NPSPACE = PSPACE c EXPTIME c NEXPTIME
IB102 Automaty, gramatiky a složitost, 8.12.2014
25/29
Problém TQBF
QBF = kvantifikované Booleovské formule (proměnné v doméně {0,1})
3xVy((xvy) A(-xv-y))
Předpokládáme, že QBF formule jsou v prenexní formě (tedy kvantifikátory jsou pouze na začátku formule).
Definice. Problém TQBF je problém rozhodnout, zda je daná QBF formule bez volných proměnných pravdivá.
TQBF = {(cp) | 0]) a t((p'[x h> 1]). Pokud alespoň jedno z volání akceptuje, akceptujeme. Jinak zamítneme.
B Je-li (p tvaru Vx(^'), spustíme r( 0]) a r( 1]). Pokud obě volání akceptují, akceptujeme. Jinak zamítneme.
Prostorová složitost:
■ v jednom zavolání t si stačí pamatovat pouze něco konstantního.
■ hloubka rekurzivního volání:
■ celkem:
IB102 Automaty, gramatiky a složitost, 8.12.2014
27/29
TQBF je PSPACE-těžký
Ukážeme A e PSPACE A , která je pravdivá, právě když existuje výpočet stroje M z iniciální konfigurace pro w cstart do akceptující konfigurace cacc s nejvýše kroky.
IB102 Automaty, gramatiky a složitost, 8.12.2014 28/29
TQBF je PSPACE-těžký
Induktivně definujeme formuli