Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
KAPITOLA 7. SLOŽITOST 162<br />
7.5.4 Význačné NP-úplné problémy<br />
• Satisfiability: Je boolovský výraz splnitelný?<br />
• Clique: Obsahuje neorientovaný graf kliku velikosti k?<br />
• Vertex cover: Má neorientovaný graf dominantní množinu mohutnosti k?<br />
• Hamilton circuit: Má neorientovaný graf Hamiltonovskou kružnici?<br />
• Colorability: Má neorientovaný graf chromatické číslo k?<br />
• Directed Hamilton circuit: Má neorientovaný graf Hamiltonovský cyklus?<br />
• Set cover: Je dána třída množin S 1 , S 2 , . . . , S n . Existuje podtřída k množin<br />
S i1 , S i2 , . . . , S ik taková, že ⋃ k<br />
j=1 S ij = ⋃ n<br />
j=1 S j ?<br />
• Exact cover: Je dána třída množin S 1 , S 2 , . . . , S n . Existuje množinové pokrytí<br />
(set cover) tvořené podtřídou po dvojicích disjunktních množin?<br />
7.5.5 Použití redukcí k důkazu úplnosti<br />
Příklad 7.5.3 Dokážeme, že problém 3SAT ={φ| splnitelné formule φ v CNF<br />
obsahující v každé klauzuli nanejvýš 3 literály } je NP-úplný.<br />
Musíme ukázat:<br />
• a) 3SAT ∈ NP<br />
NTS si nedeterministicky zvolí přiřazení jednotlivým proměnným v 3SAT<br />
formuli a v polynomiálním čase ověří, zda jde o splňující přiřazení.<br />
• b) SAT ≤ p 3SAT<br />
Zkonstruujeme polynomiálně vyčíslitelnou funkci f, pro kterou platí:<br />
A ∈ SAT ⇔ f(A) ∈ 3SAT<br />
Funkce f pracuje následovně:<br />
Nechť K = (a 1 , a 2 , a 3 , ....a n ) je klauzule v SAT která má víc než 3 literály.<br />
Klauzuli K nahradíme klauzulemi K 1 = (a 1 , a 2 , b) a K 2 = (¬b, a 3 , ..., a n ),<br />
kde literál b se nevyskytuje v původní formuli. Je zřejmé, že platí:<br />
K 1 ∪ K 2 je splnitelná ⇔ K je splnitelná<br />
a navíc klauzule K 2 má o jeden literál méně než původní klauzule K. Analogicky<br />
postupujeme, dokud formule obsahuje klauzule obsahující více než 3<br />
literály. Je zřejmé, že funkce f je polynomiálně vyčíslitelná a navíc pro ni<br />
platí výše uvedený vztah.<br />
Příklad 7.5.4 Dokážeme, že problém KLIKA = {(G, k)| G obsahuje úplný<br />
podgraf tvořený k vrcholy} je NP-úplný Musíme ukázat:<br />
• a) KLIKA ∈ NP<br />
NTS si nedeterministicky zvolí k vrcholů a v polynomiálním čase ověří zda<br />
tvoří úplný podgraf.<br />
• b) SAT ≤ p KLIKA<br />
Zkonstruujeme polynomiálně vyčíslitelnou funkci f, pro kterou platí:<br />
A ∈ SAT ⇔ f(A) ∈ KLIKA