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 163<br />

Funkce f vytvoří z formule φ v CNF graf G a číslo k takové, že formule φ<br />

je splnitelná, právě tehdy když graf G obsahuje úplný podgraf tvořený k vrcholy.<br />

Číslo k odpovídá počtu klauzulí ve formuli. Vrcholy grafu G odpovídají<br />

literálům vyskytujícím se ve formuli. Hrana v G mezi dvěma vrcholy, které<br />

odpovídají dvěma literálům, existuje právě tehdy, když tyto literály nejsou<br />

komplementární a nacházejí se ve dvou různých klauzulích.<br />

⇐:<br />

Předpokládejme, že formule φ je splnitelná a funkce H : {x1, . . . , x n } →<br />

{0, 1} je přiřazení, které splňuje φ. Při tomto přiřazení existuje v každé<br />

klauzuli aspoň jeden literál, který má po tomto přiřazení hodnotu 1. Mezi<br />

každými dvěma vrcholy odpovídajícími těmto literálům existuje hrana, jelikož<br />

nejsou komplementární a nacházejí se v různých klauzulích. Tudíž vzniklý<br />

graf patří do KLIKY .<br />

⇒:<br />

Předpokládejme že vrcholy k1, . . . , k k jsou vrcholy grafu, které tvoří úplný<br />

podgraf. Jelikož mezi každými dvěma vrcholy je hrana, musí být odpovídající<br />

literály v navzájem různých klauzulích a zároveň nemohou být komplementární.<br />

Tudíž těmto literálům můžeme přiřadit hodnotu 1 a dostaneme<br />

splňující přiřazení pro φ.<br />

Turingovy stroje jsou často používány také pro popis a klasifikaci časové a<br />

paměťové složitosti složitosti problémů (algoritmů). K nejdůležitějším složitostním<br />

třídám problémů (jazyků) patří třídy P, NP a NPC, avšak i ostatní třídy<br />

mají význam pro charakterizaci obtížnosti výpočtu. Reprezentativním problémem<br />

třídy NPC je SAT problém.<br />

7.6 Cvičení<br />

Příklad 7.6.1<br />

1. Dokažte, že problém DoubleSat = {φ| formule φ v CNF která má dvě splnitelné<br />

přiřazení } je NP-úplný.<br />

2. Dokažte, že problém rozhodnout, zda existuje obarvení neorientovaného grafu<br />

třemi barvami, tak aby každé dva sousední vrcholy měly různou barvu je NPúplný.<br />

3. Uvažme problém 2SAT. Rozhodněte, zda je NP úplný nebo leží v P.<br />

Příklad 7.6.2<br />

1. Definujte časovou a prostorovou složitost výpočtu Turingova stroje nad daným<br />

jazykem.<br />

2. Proč se zavádí asymptotické omezení složitosti? Pro danou funkci f definujte<br />

množinu funkcí O(f(n)), Ω(f(n)) a Θ(f(n)).<br />

3. Definujte následující složitostní třídy P, NP, PSPACE, LOGSPACE,<br />

NLOGSPACE a uveďte příklady problémů patřící do výše uvedených tříd.<br />

4. Uveďte jaký vliv má použití vícepáskových TS a nedeterministických TS na<br />

složitost výpočtů.<br />

5. Vysvětlete Savitchův teorém a jeho význam.

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

Saved successfully!

Ooh no, something went wrong!