Ptk nptk a nppln problmy Ptk problmy Ptk
P-těžké, np-těžké a np-úplné problémy
P-těžké problémy • P-těžký problém je takový, pro který existuje algoritmus, co ho řeší v polynomiálním čase
Np-těžké problémy • Np-těžký problém (nedeterministicky polynomiální problém): existuje nedeterministický algortimus (algoritmus s nápovědou), který problém řeší v polynomiálním čase
Klasifikace problémů podle složitosti • P-těžké • Np-těžké • Problémy řešitelné, ale ani nedetrministicky neřešitelné v polynomiálním čase • Problémy algoritmicky neřešitelné
Co se dá poznat • Problém patří do dané skupiny: stačí najít algoritmus daných vlastností
Co je velmi obtížné poznat • Problém neopatří do dané skupiny: • Je potřeba dokázat, že algoritmus daných vlastností neexistuje • Obecně je dokázat neexistenci algoritmu algoritmicky neřešitelný problém
Vlastnosti np-úplných problémů • Jsou np-těžké • Není znám algortimus pro jejich řešení v polynomiálním čase (pravděpodobně nejsou ptěžké) • Pokud by byl nalezen deterministický algoritmus pro jejich řešení v polynomiálním čase, dal by se z něj odvodit deterministický algoritmus pro řešení všech np-těžkých úloh v polynomiálním čase
SAT problém • Pro danou výrokovou formuli zjistit, zda je splnitelná, či nikoli • Například (A & B) ( A & B) je splnitelná (pro B=TRUE, A libovolné) • (A & B) & ( A & B) není splnitelná
SAT problém • SAT problém je np-těžký • Existuje jednoduchý deterministický algoritmus na řešení problému, který potřebuje 2 n operací • Jestli existuje lepší algoritmus není známo
Modelování výpočtu Turingova stroje pomocí SAT problému • Konfigurace TS: vnitřní stav a obsah pásky • Instrukce TS: možný přechod z jedné konfigurace do druhé • Konfigurace budu kódovat výrokovými proměnnými, možné přechody jejich konjunkcemi, různé varianty disjunkcemi • Zjistit, zda stroj může přejít z konfigurace A do konfigurace B je výpočetně ekvivalentní SAT problému • SAT problém je tedy np-úplný
Problém úplného podgrafu • Je dán graf (V, E) a číslo k, existuje v grafu úplný podgraf s k-vrcholy? • Pro k=3 existuje, pro k=4 ne.
Převod na SAT problém • Výrokovou formuli převedu na konjunkci disjunkcí • F = (y 1 y 2) ( y 2 y 3) (y 3 y 1). L 11 (y 1) L 21 ( y 2) L 31 (y 3) L 12 (y 2) L 32 ( y 1) L 22 ( y 3)
Převod na SAT problém • Najdu úplný podgraf velikosti 3 L 11 (y 1) L 21 ( y 2) L 31 (y 3) L 12 (y 2) L 32 ( y 1) L 22 ( y 3)
Převod na SAT problém • Mám dvě splnitelná ohodnocení • y 1, y 2, y 3 a y 1, y 2, y 3 L 11 (y 1) L 21 ( y 2) L 31 (y 3) L 12 (y 2) L 32 ( y 1) L 22 ( y 3)
Další np-úplné problémy • • • Problém nezávislé množiny v grafu Problém barevnosti grafu TSP Problém batohu Problém dvou loupežníků Problém celočíselného lineárního programování • Problém rozkladu prvočísel
- Slides: 15