IB107 Vyčíslitelnost a složitost polynomiální redukce, SAT, 3 S AT, CLIQUE 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 6/21 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 8/21 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 9/21 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

' 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á | je splnitelná existuje splňující přiřazení <=4> Gmá/c-kliku Zároveň \G\ = 0(M2) a tedy 3SAT