150 likes | 277 Views
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.
E N D
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 p-těž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 2n 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 = (y1 y2) (y2 y3) (y3 y1). L21 ( y2) L11 (y1) L31 (y3) L12 (y2) L32 ( y1) L22 ( y3)
Převod na SAT problém • Najdu úplný podgraf velikosti 3 L21 ( y2) L11 (y1) L31 (y3) L12 (y2) L32 ( y1) L22 ( y3)
Převod na SAT problém • Mám dvě splnitelná ohodnocení • y1, y2, y3 a y1, y2, y3 L21 ( y2) L11 (y1) L31 (y3) L12 (y2) L32 ( y1) L22 ( y3)
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