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

0*, 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. IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE 2/17 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

* /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

■ AeP ■ B e NP — > AeNP IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE 5/17 polynomiální redukce a složitostní třídy Věta Necht A

existuje tabulka reprezentující akceptující výpočet na w IB107 Vyčíslitelnost a složitost: polynomiální redukce, SAT, 3SAT, CLIQUE 11/17 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 13/17 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 14/17 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 = 4>cell A start 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