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.