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

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

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

Složitost Filip Hlásek

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

NP-úplnost problému SAT

YZTI - poznámky ke složitosti

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

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

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

TGH12 - Problém za milion dolarů

Od Turingových strojů k P=NP

ALGORITMY A DATOVÉ STRUKTURY

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

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

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

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

10. Složitost a výkon

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

Přijímací zkouška - matematika

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

Úvod do informatiky. Miroslav Kolařík

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.

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

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

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

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

Rekurentní rovnice, strukturální indukce

Výpočetní složitost algoritmů

12. Globální metody MI-PAA

Výroková logika - opakování

Vztah jazyků Chomskeho hierarchie a jazyků TS

Rekurentní rovnice, strukturální indukce

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

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

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

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

Výpočetní složitost I

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

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

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

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

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

10. Techniky formální verifikace a validace

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

1 Pravdivost formulí v interpretaci a daném ohodnocení

Databáze, sítě a techniky programování X33DSP

Základy logiky a teorie množin

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

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

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

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

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

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

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

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

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

Dynamické programování UIN009 Efektivní algoritmy 1

Složitost her. Herní algoritmy. Otakar Trunda

KMI/VCS1 Vyčíslitelnost a složitost

Další NP-úplné problémy

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

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

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

Složitost a moderní kryptografie

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

Dynamické programování

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do složitosti. Jan Konečný. 12. listopadu Jan Konečný Úvod do složitosti 12. listopadu / 27

Základy algoritmizace, návrh algoritmu

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

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 2016

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.

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

Matematická logika. Miroslav Kolařík

Algoritmická matematika 3 Mgr. Petr Osička, Ph.D. ZS Základní pojmy

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

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

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

4. Trojúhelníkový rozklad p. 1/20

13. Lineární programování

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

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

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Podobnostní transformace

Sémantika predikátové logiky

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Systém přirozené dedukce výrokové logiky

Matematická logika. Rostislav Horčík. horcik

Úvod do kvantového počítání

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Požadavky k opravným zkouškám z matematiky školní rok

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška

Transkript:

Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není známo, zda je můžeme efektivně řešit (otevřený problém) pokud ale řešení úlohy známe, můžeme efektivně ověřit jeho správnost jedná se obvykle o grafové a kombinatorické úlohy, které se často objevují v praxi. 1

Rozhodovací problém Rozhodovací problém P : instance problému, odpověď ANO či NE Ekvivalentně - jazyk L : vstupní slovo w, w L nebo w L 2

Polynomiální časová složitost Co je to efektivní algoritmus? každý s polynomiální časovou složitostí ( d O n ).. d je libovolná konstanta Co v případě polynomiálního času s vysokým stupněm polynomu? 100 n Trvá-li vykonání jedné instukce.. 1 μs 100 2 instrukcí.. doba delší než je stáří vesmíru 3

Polynomiální časová složitost 1. Praxe: Časová složitost známých polynomiálních 2 3 4 algoritmů je obvykle nízkého stupně n, n, n, n 2. Robustní pojem: Výpočetní modely lze vzájemně simulovat v polynomiálním čase (RAM a Turingův stroj). 4

Polynomiální vs. exponenciální čas Velikost vstupu Složitost n 2 n 3 n 5 n 10 20 30 40 50 60.00001 s.00002 s.00003 s.00004 s.00005 s.00006 s.0001 s.0004 s.0009 s.0016 s.0025 s.0036 s.001 s.008 s.027 s.064 s.125 s.216 s.1 s 3.2 s 24.3 s 1.7 min 5.2 min 13 min n 2 n 3.001 s 1 s 17.9 min 12.7 dní 35.7 let.059 s 58 min 6.5 let 3855 století 2x10 8 století 366 století 1.3x10 13 století 5

Třída P Množina jazyků (rozhodovacích problémů) L P existuje deterministický Turingův stroj, který rozhoduje L v polynomiálním čase Příklad: Vstup: Ohodnocený graf G a reálné číslo c Otázka: Existuje v G kostra s cenou c? Je ve třídě P. 6

Problém obchodního cestujícího Praha 23 40 Paříž 46 Vídeň 48 Otázka: Existuje trasa s cenou c? Počet všech tras: 1/ 2 V 1 pro V 3 ( )( )! 7

Problém batohu Lze vybrat předměty tak, aby jejich celková hmotnost odpovídala nosnosti batohu? nosnost 12 kg 6 kg 5kg 4 kg 5kg 3kg Počet možných výběrů předmětů: n 2 8

Problém SAT SAT = satisfability (splnitelnost) Vstup: Výroková formule v konjunktivně normální formě. Φ ( x, x x ) = ( x x x ) ( x x ) ( x x ) 1 2, 3 1 3 2 2 1 2 3 Otázka: Je formule splnitelná? Φ( 1,1,1 ) = 1 9

Logický obvod 1? AND OR OR OR OR OR x 1 x 2 x 3 x 4 x 5 x 6 x 7 počet různých vstupních n-tic: n 2 10

Třída NP NP = Nondeterministic polynomial time Definice č.1: L NP existuje nedeterministický TS, který rozhoduje L v polynomiálním čase Definice č.2: L NP existuje verifikační algoritmus s polynomiální časovou složitostí p takový, že A( x, y) x L y : y p( x ) A( x, y) = true y se nazývá ověření 11

Nedeterministický Turingův stroj V dané konfiguraci je možné aplikovat více instrukcí. např.: q, a) ( q, a, ) a q, a) ( q, b, ) ( 0 0 R ( 0 1 L Výpočet se větví výpočetní strom Vstupní slovo u je přijato, pokud existuje výpočetní větev, která skončí v přijímacím stavu. Doba výpočtu pro u: t(u) = počet kroků nejdelší výpočetní větve Nedeterministický Turingův stroj lze simulovat deterministicky průchodem výpočetního stromu do šířky. 12

P vs. NP P =? NP hlavní otevřená otázka v teoretické informace Očekávaný výsledek: P NP Odměna vypsaná za vyřešení: 1.000.000 USD (Clay Mathematics Institute, Cambridge) 13

P vs. NP P w L w L w L 14

NP-úplné problémy S. Cook, 1971 v NP existuje problém, pomocí kterého je možné vyřešit všechny ostatní NP SAT R. Karp, 1972 cca 20 dalších problémů patří do elitního klubu NP NPC 15

Polynomiální převeditelnost Problém (jazyk) X je polynomiálně převeditelný na problém (jazyk) Y právě tehdy, když existuje polynomiální algoritmus (deterministický TS) A takový, že x : x X A( x) Y Algoritmus pro X x Transformace A(x) A Algoritmus pro Y ANO NE Označení: X P Y 16

NP-úplnost Problém Y je NP-úplný jestliže 1. Y NP 2. pro každé X NP platí X P Y Pokud problém NP-těžký. Y splňuje druhou podmínku, říkáme, že je 17

Problém ETERNITY Omezení: čtvercové díly nemůžeme otáčet 18

Zakódování instance ETERNITY instanci problému chceme reprezentovat pomocí slova nad konečnou abecedou ( K, m, n, O) Σ = { 0,1, B} ( ) K posloupnost čtveřic tvaru b H, bl, bd, b m n rozměry čtvercové mřížky O posloupnost 2 m + 2n barev (okraje) R Čísla kódujeme binárně, znak B slouží jako oddělovač. 19

ETERNITY je NP-úplný Podle definice potřebujeme dokázat: 1. ETERNITY je v NP 2. Každý problém v NP je na ETERNITY polynomiálně převeditelný (tj., že je ETERNITY NP-těžký) Nechť M je libovolný nedeterministický TS s polynomiální časovou složitostí p, rozhodující jazyk L. Cíl: ukázat, že L P ETERNITY Pro vstup w stroje M navrhneme mřížku a čtverce tak, aby složení bylo možné pouze tehdy, pokud existuje přijímací výpočet. 20

ETERNITY je NP-úplný Řádky kódují konfigurace stroje M horní okraj je počáteční konfigurace dolní okraj je koncová konfigurace q0, a1) a a n ( 2 p( n) (, ) q A p( n) barvy: Γ Q, { } Q Γ 21

ETERNITY je NP-úplný Typy čtverců: x x x, x Γ q, q Q kopírování symbolu z horního řádku (q,x) q x (q,x) q x (q,x) ( q, x ) provedení instrukce s posunem hlavy R, L a N x q (q,x) x (q,x) q zaznamenání posunu hlavy R a L do příslušného políčka 22

ETERNITY je NP-úplný ( q,a) b c b 0 ( q 0,a) b c b q 1 q 1 b ( q 1,b) c b b ( q 1,b) c b b ( q 3, a) c b b ( q 3, a) b q 3 q c b a 3 b ( 1 q0, a) ( q, b, R) ( q1, b) ( q3, a, N) ( q,c) 1 ( 1 q3, a) ( q, a, R) ( q A, ) 23

SAT je NP-úplný 1. SAT je v NP Φ ( ) ( ) ( ) ( ) x1, x2, x3 = x1 x3 x2 x2 x1 x2 x existuje ověřovací algoritmus 3 2. SAT je NP-těžký P je tranzitivní: X P Y Y P Z X P Z tzn., stačí dokázat ETERNITY P SAT 24

SAT je NP-úplný Instanci problému ETERNITY chceme transformovat na výrokovou formuli, která bude splnitelná právě tehdy, když je možné ETERNITY složit. x, Boolovské proměnné i, j k je k -tý čtverec na pozici ( i, j)? Musí být splněny tyto podmínky: 1. Alespoň 1 čtverec na ( i, j) : 2. Ne víc než 1 čtverec na ( i, j) : 3. Návaznost čtverců v řádcích: 4. Návaznost čtverců ve sloupcích: 5. Podmínky pro obvod: x 1, j, k i, j ( k x i, j, k ) i, j k k ( x i, j, k xi, j k ) i, j k, k ( x i, j, k xi, j+ 1 k ) ( x ),, i, j k, k x i, j, k i+ 1, j, k x n, j, k x i,1, k x i, n, k 25

Shrnutí NPC třída všech NP -úplných problémů P NP NPC je-li P NP Pokud by existovat polynomiální algoritmus pro jeden z NP-úplných problémů, bylo by možné řešit všechny NP-úplné problémy v polynomiálním čase. Seznam významných NP-úplných problémů: http://en.wikipedia.org/wiki/list_of_np-complete_problems 26