10.02.2019 Views

opora

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!