SAT jeNP-těžký SAT = {(cp) I cp je splnitelná Booleovská formule} SAT je NP-těžký, tj. A e NP ^ /l

je splnitelné <=^> existuje akceptující tablo reprezentující výpočet na IB102 Automaty, gramatiky a složitost, 9.12.2013 <*> = ^cell A 4>start A CD move A ^accept d>ceN = "každé x/J?s platí <=^> v tablu na pozici i J je symbol s, kde s g C = Quru{#}" *cell= A í(Vx^>)A ( A n(%A%)) 1 = ^cell A 4>start A CD move A ^accept d>start = "na prvním řádku je iniciální konfigurace pro w = w2... wn" 0 start — A X1)2)ťfc A ^1,3,^1 ^ x1,4,w/2 A . . . *1,n+3,u A Xi,n+4,u A A ^i,n+2,^ A • • • A X-| ?A?/c+3?u A X-| ^+4^ ^startl e 0(77*) IB102 Automaty, gramatiky a složitost, 9.12.2013 4/29 <*> = ^cell A 0start A 4> move A ^accept ^move = "každé dva po sobě jdoucí řádky tabla odpovídají kroku výpočtu" popíšeme pomocí "legálních oken" 2x3 příklady legálních oken pro S(q^, b) = {(g2, c, /.), (g2, a, /?)}: IB102 Automaty, gramatiky a složitost, 9.12.2013 5/29 <*> = ^cell A 4>start A a6 A ai a2 a3 a4 a5 a6 d> move e 0(n2/<) IB102 Automaty, gramatiky a složitost, 9.12.2013 <*> = ^cell A 4>start A = ^cell A 4>start A | = 0(n2k) + 0(nK) + 0(nZK) + 0(nZK) = 0(nZK) 2k ,2/c ,2/c Počet proměnných x,^s závisí na a? = | w\ a není pevně omezen Proměnnou lze zakódovat O(\og rí) znaky. Tedy = 0(n2k log n). ct>) má polynomiální délku vzhledem k a? = | w\ a lze spočítat v polynomiálním čase. Tedy A

' v cnf pomocí ekvivalence (

' převedeme na ekvivalentní " v 3cnf pomocí ekvivalencí h v /2 v /3 /! V /2 V /3 V /4 /! V /2 V ... V /j d>" je ekvivalentní * a |"| e ^(n2*). Tedy ^

í NP-úplný, 4, u}, >, u, 6, c/o, qacc, qKj) S > 0 1 u Qo R) (<7acc> 5 -) <7i ( 5 -) IB102 Automaty, gramatiky a složitost, 9.12.2013 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(Mf) a SMn) = ^ + n + 2. Důkaz. IB102 Automaty, gramatiky a složitost, 9.12.2013 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 /: N -> N definuje prostorové složitostní třídy problémů: SPACE(/r(/i)) = {/_ | L je rozhodovaný nějakým deterministickým TM M s prostorovou složitostí SM(n) = 0(f(n))} NSPACE(/(a?)) = {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, 9.12.2013 18/29 SAT e SPACE(n) SAT = {((p) | (p je splnitelná Booleovská formule} SAT může být rozhodován deterministickým třípáskovým TM M: ■ na 2. pásku postupně zapisujeme všechna ohodnocení proměnných ■ na 3. pásce pro dané ohodnocení ověříme, zda splňuje vstupní formuli ■ akceptujeme, pokud narazíme na splňující ohodnocení ■ zamítneme, pokud žádné ohodnocení není splňující Prostor lze použít opakovaně. IB102 Automaty, gramatiky a složitost, 9.12.2013 19/29 Cas a prostor Věta. Pro každou funkci / : N ->■ N platí: □ TIME(/(A7)) c SPACE(/(n)) B NTIME(/(A7)) c NSPACE(f(n)) El SPACE(/(n)) c TIME(/c^")) pro vhodné k e N □ NSPACE(f(n)) c NTIME(/c^n)) pro vhodné k e N Důkaz. IB102 Automaty, gramatiky a složitost, 9.12.2013 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, 9.12.2013 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(ci, c2, ř), která akceptuje, pokud lze ve stroji J\f během t kroků přejít z konfigurace c-i do c2, jinak zamítá. Je-li cw iniciální konfigurace stroje M pro w, stačí tedy spustit comp(cw, caCc, kf^). coA7?p(c1, c2, ř) lze implementovat rekursivně: IB102 Automaty, gramatiky a složitost, 9.12.2013 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, 9.12.2013 23/29 Polynomiální prostorové složitostní třídy PSPACE = |J SPACE^) NPSPACE = |J NSPACE^) /ceN k€N Věta. PSPACE = NPSPACE Důkaz. Plyne přímo ze Savitchovy věty. IB102 Automaty, gramatiky a složitost, 9.12.2013 Vztahy prostorových a časových tříd P c NP c PSPACE = NPSPACE c EXPTIME c NEXPTIME IB102 Automaty, gramatiky a složitost, 9.12.2013 25/29 Problém TQBF QBF = kvantifikované Booleovské formule (proměnné v doméně {0,1}) 3xVy((x V y) A (-.x V ->y)) Definice. Problém TQBF je problém rozhodnout, zda je daná QBF formule bez volných proměnných pravdivá. TQBF = {( 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, 9.12.2013 27/29 TQBF je PSPACE-těžký Ukážeme A e PSPACE A

1: Cl)C2)ř = 3m V(c3, c4) g {(o,, m), (m, c2)} (^,^1] d> Tedy || je polynomiální vzhledem k | w\ = n a je pravdivá <^> w e A, Celkem A