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 = ^cell A 0start A 4> move A 0accept 0start = "na prvním řádku je iniciální konfigurace pro w = \n\ w2 ... wn" 0 start — start| eO(nk) x^,^,# A x1>2>qb A x1)3>> A ^1,4,^1 A X|,5,i/i/2 A ... A X-|?n+3?M/n A *1,n+4,u A X-|,n+5,u A ... A X-|?A?/<+2,u A Xl5A?/c+3?# ib102 Automaty, gramatiky a složitost, 5.12.2016 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) = {((fe, c, L), (g2j a, IB102 Automaty, gramatiky a složitost, 5.12.2016 5/29 <*> = ^cell A 4>start A 0 move A ^accept ^move = "každé okno tabla je legální" (okna se překrývají) 0 move A 1 a6 A ai a2 a3 a4 a5 a6 0 move e 0(a72/<) IB102 Automaty, gramatiky a složitost, 5.12.2016 <*> = ^cell A 4>start A 0 move A ^accept ^accept = "v tablu je stav qacc" ^accept — \/ xiJ,qacc 1 = ^cell A 4>start A 0 move A ^accept ' převedeme na " v 3cnf pomocí vztahů h v/2 /1 v l2 v /3 /! V l2 V /3 V /4 /i V ^ V ... V /, O" je splnitelná 0' je splnitelná O je splnitelná g e>(n2/c). Tedy /\

, 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 (Cl=csřart A j je polynomiální vzhledem k |w| = n a je pravdivá w e A. Celkem A