IB107 Vyčíslitelnost a složitost polynomiální redukce, SAT, 3SAT, CLIQUE, VERTEX-COVER Jan Strejček Fakulta informatiky Masarykova univerzita polynomiální redukce Definice (polynomiální redukce) Necht A c Z* a B c * /sol/ jazyky. Řekneme, že A se polynomiálně redukuje na B, píšeme A

*, která je vyčíslitelná deterministickým Turingovým strojem pracujícím v polynomiálním čase a taková, že w g A <=^> f(w) g B. Funkci f nazveme polynomiální redukcí A na B. Platí A

existuje tabulka reprezentující akceptující výpočet na w IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE, VERTEX-COVER 6/24 SAT je NP-úplný 0 = 0 cell A 0 start A 0 move A 0 accept 0ceN = "každé XjjjS platí <=^> v tabulce na pozici /,/je symbol s, kde seC = Quru{#}" *cell= A [( VX'V>*) A ( /\ ^(%A%)) 1 = move A ^accept 0start = "na prvním řádku je iniciální konfigurace pro w = ... wn" ^start = A X1?2,Qo A Xi,3,> A ^1,4,^ A *i,5,w2 A ... A X-|?n+3?M/n A *1,n+4,u A Xi,n+5,u A ... A X1?p(n)+2?u A X1?p(n)+3?# ^startl e C?(p(n)) IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE, VERTEX-COVER 8/24 SAT je NP-úplný = Ocel, A Ostart A 4> m o ve A ^accept ^move = "každé dva po sobě jdoucí řádky 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), (g2ja, /?)}: IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE, VERTEX-COVER 9/24 SAT je NP-úplný * = cell A start A move A ^accept ^move = "každé okno 2 x 3 v tabulce je legální" (okna se překrývají) 0 move A 1 = move A "^accept ^accept = "v tabulce je stav qacc" 4> accept V l,J,Qacc 1 = ceii a 0start a move a 0accept )| = 0(p2(n) • logn), což znamená |(}| = 0(p2(n) • n). 0} má polynomiální délku vzhledem k n = \ w\ a lze spočítat v polynomiálním čase. Tedy A

; v cnf pomocí ekvivalence (

' převedeme na " v 3cnf pomocí vztahů h v/2 /1 v l2 v /3 /i v/2V/3V/4 /! v ^ v ... v /, <í>" je splnitelná <^> ' je splnitelná <^> je splnitelná | existuje splňující prirazení Gmá/c-kliku Zároveň |G| = e>(M2) a tedy 3SAT

/, c/} u {x, -.x \ x e X} a ■ E ={{a/5 Ď/}, {ah c,-}, {ď/, c,} | 1 < / < /} u {{x, -x} | x g X} u u "hrany mezi literálem a shodným vrcholem x nebo -ix"

je splnitelná <=^> G má vrcholové pokrytí s k = 21 + \X\ vrcholy Zároveň \G\ = 0(\