3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Podobné dokumenty
4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Složitost Filip Hlásek

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Třídy složitosti P a NP, NP-úplnost

NP-úplnost problému SAT

Od Turingových strojů k P=NP

10. Složitost a výkon

Výpočetní složitost algoritmů

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

YZTI - poznámky ke složitosti

Složitost. Teoretická informatika Tomáš Foltýnek

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

12. Globální metody MI-PAA

11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM:

Problémy třídy Pa N P, převody problémů

13. Lineární programování

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Vzdálenost uzlů v neorientovaném grafu

Algoritmus pro hledání nejkratší cesty orientovaným grafem

ALGORITMY A DATOVÉ STRUKTURY

Přijímací zkouška - matematika

2. Složitost, grafové algoritmy (zapsal Martin Koutecký)

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

11. Tabu prohledávání

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Úvod do informatiky. Miroslav Kolařík

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23

Dynamické programování

Teoretická informatika průběh výuky v semestru 1

Algoritmizace prostorových úloh

NP-úplnost a další. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

NP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32

Výpočetní složitost I

Další NP-úplné problémy

Intervalová data a výpočet některých statistik

2. RBF neuronové sítě

Úvod do teorie grafů

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Univerzální Turingův stroj a Nedeterministický Turingův stroj

TGH12 - Problém za milion dolarů

GRAFY A GRAFOVÉ ALGORITMY

7. Heuristické metody


Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Formální jazyky a automaty Petr Šimeček

Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince / 67

TEORIE GRAFŮ TEORIE GRAFŮ 1

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Třída PTIME a třída NPTIME. NP-úplnost.

Jarníkův algoritmus. Obsah. Popis

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Třída PTIME a třída NPTIME. NP-úplnost.

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

H {{u, v} : u,v U u v }

5.3. Implicitní funkce a její derivace

Návrh asynchronního automatu

Zimní semestr akademického roku 2015/ ledna 2016

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

5.6.3 Rekursivní indexace složitostních tříd Uniformní diagonalizace Konstrukce rekursivních indexací a aplikace uniformní diagonalizace

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

Převoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS HC 1/10

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Úvod do informatiky. Miroslav Kolařík

Paralelní grafové algoritmy

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Složitost a moderní kryptografie

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Metody síťové analýzy

KMI/VCS1 Vyčíslitelnost a složitost

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Ohodnocené orientované grafy

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

1/15. Kapitola 2: Reálné funkce více proměnných

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Konečný automat. Jan Kybic.

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Algoritmy a datové struktury

Stromy, haldy, prioritní fronty

8 Přednáška z

Dynamické programování

MATEMATIKA A 3 Metodický list č. 1

Přijímací zkouška na navazující magisterské studium 2017

Transkript:

Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 3. Třídy P a NP Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO

Složitost problémů problémy neúnosné nadpolynomiální, tj. nadpolynomiálně velký stavový prostor ani to ne únosné polynomiální existuje únosně dlouhá cesta stavovým prostorem k řešení když víme kudy jít P problémy: vždycky víme kudy jít jsou NP P NP 2

Třídy rozhodovacích problémů deterministický model výpočtu třída PSPACE polynomiální čas třída P kódování rozhodovací problémy kontrola třída EXPTIME polynomiální čas třída NP nedeterministický model výpočtu třída co-np 3

Třídy optimalizačních problémů kódování optimalizační problémy deterministický model výpočtu polynomiální čas třída PO polynomiální čas třída NPO 4

Turingův stroj neomezeně dlouhá páska -4-3 -2-1 0 +1+2 +3 +4 čtecí a zápisová hlava zadání každé políčko obsahuje symbol abecedy symbol pohyb hlavy symbol konečné stavové řízení 5

Emulace RAM stroje nejsou ty problémy těžké jen pro primitivní Turingův stroj? výpočet instance velikosti n na stroji s přímým adresováním v čase T(n) na Turingově stroji? v T(n) krocích lze popsat nejvýše T(n) buněk paměti a tedy T(n) políček pásky políčka lze uspořádat souvisle v nejhorším případě je nutno v každém kroku přestavit pásku o T(n) políček výpočet na Turingově stroji v čase T 2 (n) polynomiální poměr 6

Turingův stroj Program: množina Γ symbolů pásky, symbol b Γ Σ Γ množina vstupních symbolů, b Σ množina stavů Q, počáteční stav q 0 Q, koncové stavy q ANO, q NE Q přechodová funkce δ: (Q-{q ANO, q NE }) Γ Q Γ {-1, +1} Inicializace: stav q 0, políčko 1 pásky Konec: q ANO, q NE Výpočet: (q Q, s Γ) (q, s, Δ) stav čtený symbol nový stav zapsaný symbol pohyb pásky 7

Řešení problému deterministickým Turingovým strojem Definice: řešení problému Turingovým strojem Program M pro deterministický Turingův stroj řeší rozhodovací problém Π, jestliže se výpočet zastaví po konečném počtu kroků pro každou instanci problému Π. Program M pro deterministický Turingův stroj řeší rozhodovací problém Π v čase t, jestliže se výpočet zastaví po t krocích pro každou instanci problému Π. 8

Třídy rozhodovacích problémů deterministický model výpočtu třída PSPACE polynomiální čas třída P kódování rozhodovací problémy kontrola třída EXPTIME polynomiální čas třída NP nedeterministický model výpočtu třída co-np 9

... měření složitosti Jak měřit velikost instance? hrubá míra: počet prvků instance (uzlů, čísel, prvků množiny) jemná míra: počet bitů, nutných k zakódování instance Jak měřit čas výpočtu? počet typických operací počet kroků jednotného výpočetního modelu 10

Kódování instance Vstup Turingova stroje: řetěz q* symbolů q Γ Výstup: ano, jestliže q* kóduje instanci problému, která má řešení lze mluvit o P-jazycích, NP-jazycích, jazyce TSP, jazyce SAT abeceda Γ nezávisí na instanci způsob kódování instance neovlivní čas výpočtu více než polynomiálně 11

Kódování grafu G=(V, E) X počet prvků množiny X matice sousednosti: V 2 bitů incidenční matice: V E = O( V 3 ) bitů seznam hran jako dvojic indexů uzlů: O( E log V ) = O( V 2 log V ) bitů schválnost patologický případ matice sousednosti a za ní 2 n nul 12

Třídy rozhodovacích problémů deterministický model výpočtu třída PSPACE polynomiální čas třída P kódování rozhodovací problémy kontrola třída EXPTIME polynomiální čas třída NP nedeterministický model výpočtu třída co-np 13

Třída P Definice: třída P Rozhodovací problém patří do třídy P, jestliže pro něj existuje program pro deterministický Turingův stroj, který jej řeší v čase O(n k ), kde n je velikost instance a k konečné číslo. PSPACE: polynomiální množství paměti (pásky) EXPTIME: v čase O(2 P(n) ), kde P(n) je polynom ve velikosti instance n. 14

Třídy rozhodovacích problémů deterministický model výpočtu třída PSPACE polynomiální čas třída P kódování kontrola třída EXPTIME rozhodovací problémy nedeterministický model výpočtu polynomiální čas třída NP třída co-np 15

Non-deterministically Polynomial NP Nedeterministicky Polynomiální

Nedeterministický Turingův stroj Program:...přechodová relace δ (Q-{q ANO, q NE }) Γ Q Γ {-1, +1} Výpočet: (q Q, s Γ) {(q, s, Δ)} Představa: v každém kroku se stroj naklonuje a každá kopie vykoná jeden konkrétní možný krok Představa: jedna z kopií vykoná onu únosně dlouhou cestu stavovým prostorem, pokud tato cesta existuje, tj. pokud instance má řešení 17

Řešení problému nedeterministickým Turingovým strojem Definice: řešení problému nedeterministickým Turingovým strojem Nechť Π ANO je množina instancí problému Π, které mají výstup ANO. Program M pro nedeterministický Turingův stroj řeší rozhodovací problém Π v čase t, jestliže se výpočet zastaví po t krocích pro každou instanci I Π ANO problému Π. 18

Vlastnosti Nic se neříká o instancích Π NE. Pokud hledáme únosně dlouhou cestu k řešení, na Π NE nemá význam. Věta (výpočetní mohutnost nedeterminismu): Jestliže nedeterministický Turingův stroj řeší problém Π v čase T(n), pak deterministický Turingův stroj řeší Π v čase 2 O(T(n)). 19

Třída NP Definice: třída NP Rozhodovací problém Π patří do třídy NP, jestliže pro něj existuje program pro nedeterministický Turingův stroj, který každou instanci I Π ANO problému Π řeší v čase O(n k ), kde n je délka vstupních dat a k konečné číslo. Definice: třída NP Rozhodovací problém Π patří do třídy NP, jestliže pro každou instanci I Π ANO problému existuje konfigurace Y taková, že kontrola, zda Y je řešením, patří do P. V této souvislosti nazýváme Y certifikátem. omezující podmínky lze vyhodnotit v polynomiálním čase 20

Příklad: Hamiltonova kružnice v grafu (HC), nedeterministický algoritmus 1. Nechť podgraf G = (V, E ) je tvořen libovolným uzlem v původního grafu G=(V,E). 2. V každém kroku, nechť každá kopie algoritmu přidá jednu (různou) hranu e E-E, e = (u,v) takovou, že u V, v V, stupeň u=1 a dále uzel v. 3. Není-li to možné, příslušná kopie končí. 4. Jestliže přidaná hrana utvoří z G 1. kružnici kratší než V, příslušná kopie končí. 2. kružnici délky V, celý algoritmus vydá výstup ano. 21

Nedeterministický algoritmus, poznámky Jestliže graf obsahuje Hamiltonovu kružnici, po V krocích je nalezena. Existuje nedeterministický algoritmus řešící problém HC HC patří do NP V tomto případě máme štěstí pokud Hamiltonovu kružnici nenajdeme po V krocích, pak neexistuje. Obecně tomu tak není 22

Nedeterministický Turingův stroj představa, která vychází z kontroly řešení -4-3 -2-1 0 +1+2 +3 +4 kontrolované řešení zadání orákulum, které věští řešení deterministické konečné stavové řízení 23

Příklad: Hamiltonova kružnice v grafu polynomiální kontrola Konfigurace: podgraf G = (V, E ) původního grafu G=(V,E). Certifikát: podgraf G = (V, E ), o kterém se tvrdí, že je to Hamiltonova kružnice Kontrola: V uzlů O( V ) E E O( V ) žádný uzel dvakrát (řazení) O( V log V ) Existuje deterministický algoritmus kontrolující certifikát HC HC patří do NP 24

Vztah tříd P a NP funkce je zvláštním případem relace deterministický automat je zvláštním případem nedeterministického automatu deterministický Turingův stroj je zvláštním případem nedeterministického Turingova stroje instance I Π ANO jsou podmnožinou všech instancí P NP 25

Vztah tříd P a NP? P NP možná, že P = NP: na každý NP-problém existuje polynomiální algoritmus, ale my o něm nevíme ale jsou příznaky, že P NP jeden z hlavních příznaků: viz příště 26

a dál? NP PSPACE EXPTIME P 27

Problémy mimo NP Je dán graf G=(V,E). Je tento graf prost Hamitonových kružnic? Je dána Booleovská formule F(X) n proměnných X = (x 1, x 2,... x n ). Je tato formule nesplnitelná? Potíž: při odpovědi ano nemáme ceritifikát nemůžeme očekávat únosně dlouhou cestu stavovým prostorem protějšek třídy NP: třída co-np 28

Třída P, NP, co-np NP co-np P 29

Problémy doopravdy mimo NP SAT: Booleovská formule F(X) n proměnných X = (x 1, x 2,... x n ). Y, F(Y) = 1? Booleovská formule F(X 1,X 2 ) 2n proměnných X 1 = (x 1, x 2,... x n ), X 2 = (x n+1, x n+2,... x 2n ) Y 1, Y 2, F(Y 1, Y 2 ) = 1? algoritmus pro SAT musíme použít 2 n krát 30

Kontrola řešení Booleovská formule F(X 1,X 2 ) 2n proměnných X 1 = (x 1, x 2,... x n ), X 2 = (x n+1, x n+2,... x 2n ) Y 1, Y 2, F(Y 1, Y 2 ) = 1? Dáno řešení Y 1, kontrola: platí, že Y 2, F(Y 1, Y 2 ) = 1 neplatí, že Y 2, F(Y 1, Y 2 ) = 0 neplatí, že Y 2, F(Y 1, Y 2 ) = 1 F(Y 1, X 2 ) je nesplnitelná problém kontroly je v co-np 31

Polynomiální hierarchie takto to vypadá právě tehdy, pokud P NP třída problémů, jejichž kontrola leží v předchozí třídě a jejich co- protějšků třída problémů, jejichž kontrola leží v P a jejich co- protějšků NP co-np třída P P 32

Třídy rozhodovacích problémů deterministický model výpočtu třída PSPACE polynomiální čas třída P kódování rozhodovací problémy kontrola třída EXPTIME polynomiální čas třída NP nedeterministický model výpočtu třída co-np 33

Třídy optimalizačních problémů kódování optimalizační problémy deterministický model výpočtu polynomiální čas třída PO polynomiální čas třída NPO 34

Řešení optimalizačního problému Turingovým strojem Definice: řešení optimalizačního problému v čase t Program M pro deterministický Turingův stroj řeší optimalizační problém Π v čase t, jestliže se výpočet zastaví po t krocích pro každou instanci problému Π, která má řešení, a na pásce je zapsán výstup instance. Program M pro deterministický Turingův stroj počítá optimalizační kritérium problému Π v čase t, jestliže pro každé řešení každé instance problému Π, zapsané na pásce jako vstupní data, se výpočet zastaví po t krocích a na pásce je zapsána hodnota optimalizačního kritéria. 35

Třída NPO Definice: optimalizační problém Π patří do třídy NPO, jestliže splňuje následující podmínky: velikost výstupu instance je omezena polynomem ve velikosti instance výstup lze zapsat v polynomiálním čase problém, zda daná konfigurace je řešením, patří do P omezující podmínky lze vyhodnotit v polynomiálním čase existuje program pro Turingův stroj, který vypočítá hodnotu optimalizačního kritéria pro každé řešení každé instance v polynomiálním čase optimalizační kritérium lze vyhodnotit v polynomiálním čase 36

Třída PO Definice (třída PO): optimalizační problém Π patří do třídy PO, jestliže splňuje následující podmínky: patří do NPO existuje program pro Turingův stroj, který každou instanci vyřeší v polynomiálním čase. Příklad: problém nejkratší cesty v grafu G=(V,E) patří do PO velikost výstupu O( E ) ověření omezení O( E log E ) optimalizační kritérium O( E ) existuje polynomiální algoritmus (Dijkstra) 37

Příklad NPO problému: optimalizační TSP Dána množina n měst C={c 1,c 2,,c n }. Pro každá dvě města c i,c j je dána vzdálenost d(c i,c j ). Nalezněte uzavřenou túru, která prochází každým městem právě jednou a má nejmenší délku. Velikost výstupu instance: O( C ) Kontrola túry: O( C log C ) - viz Hamiltonova kružnice Výpočet optimalizačního kritéria: O( C ) 38