SAT jeNP-těžký SAT = {(cp) | Lp 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, 5.12.2016
<*> = ^cell A 4>start A 0 move A 0accept
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 , U}, >, U, 5, q0l Qacc, Qrej)
S > 0 1 u
Qo (Qo,>,Fl) (cfe,0,fí) (Qi, 1, \Qacc-, ~■> -)
<7i (Qrej,-, -) (Qi, 1, \Qacc-, ~■> -)
IB102 Automaty, gramatiky a složitost, 5.12.2016
16/29
Komprese prostoru
Věta. Pro každý deterministický úplný TM M a pro každé m > 1 lze zkonstruovat deterministický úplný TM M! tak, že L(M) = L(Mř) a
SM>(n) =
SM(n)
m
+ a7 + 2.
Důkaz.
IB102 Automaty, gramatiky a složitost, 5.12.2016
Prostorové složitostní třídy problémů
prostorová složitost problému = nejmenší prostorová složitost, s jakou lze daný problém rozhodnout
Definice. Každá funkce f: N0 -> K+ definuje prostorové složitostní třídy problémů:
SPACE(/r(n)) = {L | L je rozhodovaný nějakým deterministickým TM M
s prostorovou složitostí SM(n) = 0(f(n))}
NSPACE(ř(n)) = {L\L\e rozhodovaný nějakým nedet. TM J\í
s prostorovou složitostí Sx(n) = 0(f(n))}
IB102 Automaty, gramatiky a složitost, 5.12.2016
18/29
SAT G SPACE(n)
SAT = {( • K+ platí:
D TIME(f(n)) c NTIME(ŕ(n))
B SPACE(f(n)) c NSPACE(f(n))
Q TIME(/(n)) c SPACE(/(n))
□ NTIME(ř(n)) c NSPACE(f(n))
m SPACE(f(n)) c TIME(/cř(n)) pro vhodné /c e N
Q NSPACE(f(n)) c NTIME(frřC>) pro vhodné k e N
Důkaz.
IB102 Automaty, gramatiky a složitost, 5.12.2016
20/29
Savitchova věta
Savitchova věta. Pro každou funkci f: N0 -> K+ splňující f(ri) > n platí
NSPACE(ř(n)) c SPACE(ř2(n))
Standardní převod nedeterministického TM na deterministický nefunguje
IB102 Automaty, gramatiky a složitost, 5.12.2016
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 comp{c^, 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, 5.12.2016
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 ď stroje J\f využívající max. f (n) políček
spustíme comp{c^, ď, [|]) a comp(cř, c2, [|]).
Pokud obojí akceptuje, akceptujeme. Pokud žádné d nevedlo k akceptování, zamítneme.
Prostorová složitost:
■ comp potřebuje prostor na c-i, c2, d a t (a něco konstantního):
■ hloubka rekurzivního volání:
■ celkem: □
IB102 Automaty, gramatiky a složitost, 5.12.2016 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, 5.12.2016 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, 5.12.2016
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) | cp je pravdivá QBF formule bez volných proměnných} Věta. TQBF je PSPACE-úplný.
Důkaz. Ukážeme, že TQBF e PSPACE a že TQBF je PSPACE-těžký. □
IB102 Automaty, gramatiky a složitost, 5.12.2016 26/29
TQBF g PSPACE
TQBF lze rozhodovat pomocí rekurzivní procedury ř(^):
□ Pokud (p neobsahuje kvantifikátory, snadno vyhodnotíme a akceptujeme, pokud je 0]) a t(cpr[x h> 1]). Pokud alespoň jedno z volání akceptuje, akceptujeme. Jinak zamítneme.
B Je-li (p tvaru Vx(^/), spustíme t((př[x h> 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, 5.12.2016
27/29
TQBF je PSPACE-těžký
Ukážeme A e PSPACE A 'c c d(nk) říkající, že existuje výpočet stroje M z £| do c2 s nejvýše gK"*) kroky:
■ ^c, co 1 Je pravdivá, právě když ci = c2 nebo d ho-c2.
prof>1: ^c.cfe.ř = 3mV(c3,c4)e{(c1,m),(/77,c2)} (0^ ^ ,
Pak0 = 3d,C2 (