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í.

Podobné dokumenty
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).

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

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

Složitost Filip Hlásek

Předpokládané znalosti: v rozsahu KMA/DMA Diskrétní matematika. Skripta DMA: - R J. Holenda, Z. Ryjáček: Lineární algebra II - Skripta

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

NP-úplnost problému SAT

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

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

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

YZTI - poznámky ke složitosti

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

TGH12 - Problém za milion dolarů

Matematická analýza pro informatiky I. Limita funkce

Úvod do informatiky. Miroslav Kolařík

Limita funkce. FIT ČVUT v Praze. (FIT) Limita funkce 3.týden 1 / 39

Naproti tomu gramatika je vlastně soupis pravidel, jak

Od Turingových strojů k P=NP

Další NP-úplné problémy

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

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

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

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

0.1 Úvod do lineární algebry

10. Složitost a výkon

Limita a spojitost funkce

Výroková logika. Teoretická informatika Tomáš Foltýnek

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

Limita a spojitost funkce. 3.1 Úvod. Definice: [MA1-18:P3.1]

Výroková a predikátová logika - III

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

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Vztah jazyků Chomskeho hierarchie a jazyků TS

Limita a spojitost LDF MENDELU

Báze a dimenze vektorových prostorů

DMA Přednáška Rekurentní rovnice. takovou, že po dosazení odpovídajících členů do dané rovnice dostáváme pro všechna n n 0 + m pravdivý výrok.

Základy matematické analýzy

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Dijkstrův algoritmus

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

1. DIFERENCIÁLNÍ POČET FUNKCE DVOU PROMĚNNÝCH

Lineární algebra Operace s vektory a maticemi

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Výroková a predikátová logika - III

( + ) ( ) f x x f x. x bude zmenšovat nekonečně přesný. = derivace funkce f v bodě x. nazýváme ji derivací funkce f v bodě x. - náš základní zápis

Spojitost a limita funkce

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

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0

Usuzování za neurčitosti

Matematická logika. Rostislav Horčík. horcik

1 LIMITA FUNKCE Definice funkce. Pravidlo f, které každému x z množiny D přiřazuje právě jedno y z množiny H se nazývá funkce proměnné x.

Funkce a limita. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

Lineární algebra : Polynomy


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

7B. Výpočet limit L Hospitalovo pravidlo

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

Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.

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

1 Linearní prostory nad komplexními čísly

Interpolace Lagrangeovy polynomy. 29. října 2012

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Nejčastějšími funkcemi, s kterými se setkáváme v matematice i v jejích aplikacích, jsou

3.10 Rezoluční metoda ve výrokové logice

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

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

2. Schurova věta. Petr Tichý. 3. října 2012

Výpočetní složitost algoritmů

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.

Lineární algebra : Lineární prostor

Ohodnocené orientované grafy

Minimalizace KA - Úvod

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Vzdálenost uzlů v neorientovaném grafu

Výroková a predikátová logika - II

10 Přednáška ze

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

Operace s maticemi. 19. února 2018

Vrcholová barevnost grafu

19. Druhý rozklad lineární transformace

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

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

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

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

Lineární algebra. Soustavy lineárních rovnic

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

1. Jordanův kanonický tvar

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Výroková a predikátová logika - V

Kapitola 4: Extrémy funkcí dvou proměnných 1/5

Výroková a predikátová logika - II

Matematika III. Miroslava Dubcová, Daniel Turzík, Drahoslava Janovská. Ústav matematiky

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

1 Homomorfismus a isomorfismus grafů, souvislost, stromy, kostry, minimální kostra 2. 2 Metrika grafu, minimální cesta, distanční matice grafu 4

Operační výzkum. Síťová analýza. Metoda CPM.

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Transkript:

9.5 Třída NP 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í. Příklad. Uvažujme problém IND a následující algoritmus. Vstup: graf G s uzly u 1,..., u n. 1) X := 0 (inicializace) 2) pro i = 1, 2,..., n proveď: a) buďto X := X {u i }, b) nebo X := X (nedeterministický krok) 3) Jestliže {u i, u j } H(G) pro některé u i, u j X, pak REJECT (test nezávislosti) 4) Je-li X k pak ACCEPT, jinak REJECT (test X k) Vlastnosti: v důsledku nedeterminističnosti 2. kroku je 2 n možných různých výpočtů, v G existuje nezávislá množina o alespoň k uzlech právě když existuje výpočet, končící ACCEPT. 1

Definice 9.5. Nedeterministický přijímací počítač má (navíc oproti dříve definovanému přijímacímu počítači) příkaz CHOOSE L1, L2, kde L1, L2 jsou návěští. Definice 9.6. Řekneme, že slovo w je přijímáno nedeterministickým přijímacím počítačem M, jestliže existuje přípustný výpočet počítače M s počáteční konfigurací danou slovem w a končící ACCEPT. V opačném případě řekneme, že nedeterministický přijímací počítač odmítá slovo w. Řekneme, že M přijímá jazyk J, jestliže pro každé slovo w je w J M přijímá w. Definice 9.7. Řekneme, že nedeterministický přijímací počítač M zpracuje slovo w v čase nejvýše t, jestliže: - buďto M přijímá w, a existuje přípustný výpočet určený slovem w a končící ACCEPT po nejvýše t krocích, - nebo M odmítá w a každý přípustný výpočet končí po nejvýše t krocích. Definice 9.8. Řekneme, že nedeterministický přijímací počítač M pracuje v polynomiálně omezeném čase, jestliže existuje polynom p takový, že libovolné slovo délky n zpracuje v čase nejvýše p(n). 2

Definice 9.9. Třída NP je třída všech jazyků J takových, že existuje nedeterministický přijímací počítač, který pracuje v polynomiálně omezeném čase a přijímá jazyk J. Věta 9.3. P NP. (i) Je J P? (ii) Je alespoň J NP? (iii) Hledáme přesné řešení postupy typu hrubá síla. (iv) Použijeme heuristiku a spokojíme se s přibližným řešením. Algoritmus Deterministický Polynomiální Přijímá J (i) Dokazuje J P ANO ANO ANO (ii) Dokazuje J NP NE ANO ANO (iii) Hrubá síla ANO NE ANO (iv) Heuristika ANO ANO NE 3

Polynomiální redukce a NP-úplné problémy Definice 9.10. Překládací počítač je počítač M s libovolným přístupem takový, že pro každý jeho výpočet (daný libovolnou počáteční konfigurací) platí: - každé provedení WRITE zapíše na vstupní pásku číslo 0 nebo 1, - po konečném počtu kroků se výpočet zastaví provedením STOP. Posloupnost nul a jedniček, zapsanou na výstupní pásce při výpočtu určeném slovem w, označíme M(w). Definice 9.11. Řekneme, že jazyk J 1 je redukovatelný na jazyk J 2 (značíme J 1 J 2 ), jestliže existuje deterministický překládací počítač M pracující v polynomiálně omezeném čase takový, že pro každé slovo w je w J 1 M(w) J 2. Věta 9.4. 1) J 1 J 2, J 2 J 3 J 1 J 3 (tranzitivita) 2) J 1 J 2, J 2 NP J 1 NP 3) J 1 J 2, J 2 P J 1 P J 1 J 2 znamená, že J 2 je alespoň tak těžký jako J 1. 4

Definice 9.12. Jazyk J se nazývá NP-úplný, jestliže platí 1) J NP 2) pro každý J NP je J J. Třídu NP-úplných jazyků označíme NPC ( NP-complete ). Věta 9.5. Platí: buď P = NP, nebo P NP C =. Jazyk J se nazývá NP-těžký, jestliže pro každý J NP platí J J. 5

NP-úplnost problému SAT Cookova věta Věta 9.6. (Cook) SAT NPC. 1. SAT NP. 2. Pro každý J NP je J SAT. Nechť - J NP, - M je nedeterministický přijímací počítač, přijímající J v čase omezeném polynomem p. Úkol: pro každé slovo w J nalézt formuli f w v KNF tak, že f w je splnitelná, právě když M přijímá w. Označíme: n - délka slova w, m = p(n), q - počet příkazů programu počítače M. To znamená, že - pouze prvních n polí vstupní pásky obsahuje čísla 0, - pouze prvních m paměťových buněk obsahje číslo 0, - v žádné paměťové buňce není číslo větší než m, - počet kroků počítače je nejvýše m. 6

K popisu všech konfigurací stačí znát hodnoty logických proměnných: a i, i = 1,..., n : a i = 1 v i-tém poli vstupní pásky je číslo 1 b it, i = 1,..., n, t = 0..., m: b it = 1 po t-tém kroku je vstupní hlava na i-tém poli pásky c ijt, i = 0... m, j = 0, ±1,..., ±m, t = 0,... m : c ijt = 1 v t-té konfiguraci je v i-té paměťové buňce číslo j d jt, j = 1,..., q, t = 0,..., m : d jt = 1 v t-té konfiguraci je v programovém registru číslo j 7

Mají-li proměnné popisovat kroky počítače M, který v m krocích přijme slovo w, musí splňovat následující podmínky: 1) hodnoty a i se shodují s 0 a 1 ve slově w, 2) hlava nemůže být současně na dvou místech: pro každé t existuje nejvýše jedno i tak, že b it = 1, 3) v každé paměťové buňce je právě jedno číslo: pro každé i, t existuje právě jedno j tak, že c ijt = 1, 4) totéž pro programový registr: pro každé t existuje právě jedno j tak, že d jt = 1, 5) jestliže d jm = 1, pak j je návěští některého příkazu ACCEPT, 6) vztah hodnot proměnných mezi t 1 a t musí odpovídat prováděnému příkazu počítače. Položíme f w = f w1 f w2 f w3 f w4 f w5 f w6, kde f wi je formule daná podmínkou i, i = 1,..., 6. 8