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

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

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

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

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

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

12. Globální metody MI-PAA

NP-úplnost problému SAT

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

Další NP-úplné problémy

TGH12 - Problém za milion dolarů

YZTI - poznámky ke složitosti

10. Složitost a výkon

Úvod do informatiky. Miroslav Kolařík

Výpočetní složitost algoritmů

Od Turingových strojů k P=NP

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

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.

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

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

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

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

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

Složitost Filip Hlásek

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

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

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

Základní datové struktury III: Stromy, haldy

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

Stromy, haldy, prioritní fronty

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

TGH02 - teorie grafů, základní pojmy

13. Lineární programování

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

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Výroková logika - opakování

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

Úvod do informatiky. Miroslav Kolařík

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

TGH02 - teorie grafů, základní pojmy

Dynamické programování

TGH02 - teorie grafů, základní pojmy

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

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

ALGORITMY A DATOVÉ STRUKTURY

Metody síťové analýzy

Výpočetní složitost I

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.

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

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

10. Techniky formální verifikace a validace

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

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řijímací zkouška - matematika

Minimalizace KA - Úvod

2. přednáška 8. října 2007

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

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

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

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

Lineární algebra : Násobení matic a inverzní matice

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

8 Přednáška z

10 Přednáška ze

Centrální plánování cest pro mnoho agentů Centralized Multi-agent Path Planning

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

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Úvod do teorie grafů

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

11. Tabu prohledávání

MATEMATIKA A 3 Metodický list č. 1

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

TGH05 - Problém za milion dolarů.

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

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

Další partie teorie složitosti. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51

5 Orientované grafy, Toky v sítích

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

popel, glum & nepil 16/28

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

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

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

2. RBF neuronové sítě

Cvičení z Lineární algebry 1

Cvičení MI-PRC I. Šimeček

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Sekvenční logické obvody

Modely Herbrandovské interpretace

Hledáme efektivní řešení úloh na grafu

Lineární algebra : Násobení matic a inverzní matice

3. Grafy a matice. Definice 3.2. Čtvercová matice A se nazývá rozložitelná, lze-li ji napsat ve tvaru A =

Matematika pro informatiky

Úvod do informatiky. Miroslav Kolařík

Dynamické programování

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Maturitní témata z matematiky

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

c) nelze-li rovnici upravit na stejný základ, logaritmujeme obě strany rovnice

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

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 4. NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce NP-úplné problémy (NPC) Cookova věta Turingova redukce NP-těžké problémy (NPH) problémy mezi P a NPC EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

NP-úplné (NPC) a NP-těžké (NPH) problémy Karpova redukce NP-úplné problémy (NPC) Cookova věta Turingova redukce NP-těžké problémy (NPH) problémy mezi P a NPC 2

Vztah tříd P a NP? P NP možná, že P = NP: na každý NPproblé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ů: nejtěžší problémy v NP je jich mnoho polynomiální alg. na jeden polynomiální alg. na všechny 3

Pojmy X-těžký a X-úplný (X-complete a X-hard) Problém Π je X-těžký, jestliže se efektivní řešení všech problémů z třídy X dá zredukovat na efektivní řešení problému Π. Problém Π je X-úplný, jestliže je X-těžký a sám patří do třídy X. efektivní řešení: v polynomiálním čase (jindy např. s omezenou chybou) zredukovat: vyřešit pomocí za X dosadit: NP, NPO, APX 4

NPH a NPC Karpova redukce (pro NP problémy) Cookova věta: NPC existuje NP nejtěžší problémy v NP srovnatelně těžké problémy mimo NP NPC NPH Turingova redukce (pro jiné problémy) 5

Co jsou nejtěžší problémy v NP? Co je lehčí a těžší problém? instance problému Π 1 snadný převod instance problému Π 2 získali jsme algoritmus na Π 1 který není horší než algoritmus na Π 2 algoritmus na Π 2 Π 1 je nejvýše tak těžký jako Π 2 Π 2 je nejméně tak těžký jako Π 1 shodný výstup 6

Který problém je nejtěžší? instance problému Π 1 snadný převod instance problému Π 2 Π 1 je nejvýše tak těžký jako Π 2 Π 2 je nejméně tak těžký jako Π 1 Ten, na který jdou převést všechny ostatní. 7

Karpova redukce (polynomiální transformace) Definice Karpovy redukce Rozhodovací problém Π 1 je Karpredukovatelný na Π 2 (Π 1 Π 2 ), jestliže existuje polynomiální program pro (deterministický) Turingův stroj, který převede každou instanci I 1 problému Π 1 na instanci I 2 problému Π 2 tak, že výstup obou instancí je shodný. Jiné značení: 8

Vlastnosti Tranzitivita Π 1 Π 2 Π 2 Π 3 Π 1 Π 3 Π 2 Π 1 Π 3 Třídy polynomiální ekvivalence Π 1 Π 2 Π 2 Π 1 Π 1 a Π 2 jsou polynomiálně ekvivalentní. 9

Příklad: HC TSP Dán graf G=(V,E). Obsahuje tento graf Hamiltonovu kružnici? převést 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 )>0. Existuje uzavřená túra, která prochází každým městem právě jednou a má délku nejvýše B? 10

Karpova redukce HC TSP Algoritmus: V, E C, d(c i, c j ), B Nechť každému uzlu v i odpovídá jiné město c i. Je-li (v i, v j ) E, nechť d(c i, c j )=1 jinak d(c i, c j )=2 Nechť B= V. Osnova důkazu, že je Karpovou redukcí: 1. HC TSP má polynomiální složitost 2. výstup je stejný 2.1 kružnice v G túra v C 2.2 túra v C kružnice v G 11

Důkaz HC TSP 1. HC TSP má polynomiální složitost (n= V ) Konstrukce měst: O(n); vzdáleností: O(n 2 ); B: O(1) složitost O(n 2 ); 2.1 kružnice v G túra v C (v 1,v 2,... v n,v 1 ) Hamiltonova kružnice v G. (c 1,c 2,... c n,c 1 ) je túra v C o délce n.1 (každý úsek túry odpovídá hraně) n B. 2.2 túra v C kružnice v G (c 1,c 2,... c n,c 1 ) je túra délky nejvýše B. n úseků, délka B=n každý úsek túry má délku 1 každý úsek odpovídá hraně (v 1,v 2,... v n,v 1 ) Hamiltonova kružnice v G. Q.e.d. 12

Třída NP-úplný (NP-Complete, NPC) Definice (třída NP-úplný): Problém Π je NP-úplný, jestliže Π NP pro všechny problémy Π NP, Π Π Důsledek: Π NP, Π NPC, Π Π Π NPC Π Π Π Π Π NPC Π 1 Π 2 Π 3 Π 4 Π NPC tranzitivita 13

NP-úplný jako třída ekvivalence Všechny NPC problémy tvoří třídu ekvivalence Π 1, Π 2 NPC ( Π 1 NP, Π 2 NP) Π 1 Π 2 (protože Π 1 NP, Π 2 NPC) Π 2 Π 1 (protože Π 2 NP, Π 1 NPC) Q.e.d. existuje vůbec nějaký NPC problém? Π 1 NPC Π 1 Π 1 Π 2 Π 2 Π 1 Π 2 Π a Π 2 NPC Π b Π c Π d 14

Cookova věta a důsledky SAT je NP-úplný říká, že NPC není prázdná otevírá cestu k důkazům NP-úplnosti převodem jsou známy tisíce NPC problémů které tvoří třídu ekvivalence polynomiální program na jeden polynomiální program na všechny nevypadá to, že by P=NP 15

P, NP, NPC (a NPH) NPC P NPH vzájemně převoditelné, nejtěžší problémy v NP NP 16

Osnova důkazu SAT NPC? SAT NP Π NP, Π SAT každou instanci I každého problému Π převést na booleovskou formuli v polynomiálním čase I má výstup ano formule je splnitelná 17

Důsledky Π NP, I Π ANO Existuje program M pro Turingův stroj, který kontroluje certifikát Y instance I v čase p(n), kde p je polynom a n velikost instance I a skončí ve stavu q ANO. Velikost certifikátu je nejvýše p(n). Rozsah políček pásky je -p(n) p(n)+1. 18

Konstruovaná formule Jestliže I Π ANO, pak formule, která vyjadřuje výrok proběhl výpočet stroje M, který se zastavil ve stavu q ANO má ohodnocení proměnných, při kterém nabývá hodnoty true. Náhrada naprogramovaného počítače kombinačním obvodem Musí obsahovat vlastnosti Turingova stroje program M výsledek ano 19

Celkový stav Turingova stroje Stav řídícího automatu Obsah všech políček pásky Pozice hlavy na pásce Výpočet Turingova stroje Posloupnost celkových stavů v čase 0 t, kde t je celkový čas výpočtu proměnné formule 20

Proměnné formule r počet stavů; v počet symbolů abecedy pásky Q[i, k] v čase i je M ve stavu q k O(p(n) 2 ) proměnných k=0 r H[i, j] v čase i je hlava na políčku j j=-p(n) p(n)+1 S[i, j, k] v čase i je obsah políčka j symbol s k j=-p(n) p(n)+1 k=0 v čas i=0 p(n) 21

Klauzule formule musí být splněny současně (součin) počítá to jako Turingův stroj v každém čase i, řízení je v právě jednom stavu v každém čase i, hlava je na právě jednom políčku v každém čase i, každé políčko obsahuje právě jeden symbol v čase 0, celkový stav je inicializován výstup je ano v čase p(n), řízení je ve stavu q ANO program v každém čase i, celkový stav je výsledkem aplikace přechodové funkce na předchozí celkový stav 22

Ukázky konstrukce některých skupin v každém čase i, řízení je v právě jednom stavu v nejvýše jednom stavu ( Q[i, 0].Q[i, 1] ) = = ( Q[i, 0] + Q[i, 1] ) v alespoň jednom stavu ( Q[i, j] + Q[i, j ] ) i=0 p(n) j=-p(n) p(n)+1 j =j+1 p(n)+1 ( Q[i, 0] + Q[i, 1] + +Q[i, r] ) i=0 p(n) k=0 r 23

v každém čase i, celkový stav je výsledkem aplikace přechodové funkce když hlava není na políčku j, na předchozí celkový obsah se nezmění stav ( S[i, j, l] + H[i, j] + S[i+1, j, l] ) Ukázky konstrukce některých skupin i=0 p(n) a b = a + b j=-p(n) p(n)+1 l=0 v ( H[i, j] + Q[i, k] + S[i, j, l] + H[i+1, j+ ] ) ( H[i, j] + Q[i, k] + S[i, j, l] + Q[i+1, k ] ) ( H[i, j] + Q[i, k] + S[i, j, l] + S[i+1, j, l ] ) i=0 p(n) j=-p(n) p(n)+1 l=0 v k=0 r 24

Polynomiální složitost Ukázat, že velikost výsledné formule F je polynomiální s n velikostí původní instance velikost formule s množinou C klauzulí nad množinou X proměnných: X. C r, v konstantní pro daný problém Π X = O(p(n) 2 ) C = O(p(n) 2 ) F = O(p(n) 4 ) 25

Osnova důkazu SAT NP vyhodnocení P SAT NPC? Π NP, Π SAT SAT NPC Q. e. d. UF V každou instanci I každého problému Π převést na booleovskou formuli V v polynomiálním čase I má výstup ano formule je splnitelná V 26

Dokazování NP-úplnosti Π Z definice lehce nepraktické, že Π NPC je speciálním případem Π Π NP, Π NPC, Π Π Π NPC Π NP, SAT Π Π NPC SAT NPC SAT Π Π 1 Π 2 Π 3 Π 4 tranzitivita 27

Na počátku je SAT trojná svatba problém rozkladu 3D MATCHING PARTITION problém batohu KNAPSACK SAT 3-SAT klika CLIQUE uzlové pokrytí HC a takto to bylo dál VERTEX COVER Hamiltonova kružnice TSP dnes 28

Bestiarium 3-SAT: každá klauzule má právě 3 literály Trojná svatba: dány disjunktní množiny W, X, Y, W = X = Y =q, množina M W X Y; existuje M M taková, že M =q a žádné dva prvky M se neshodují ani v jedné souřadnici? Uzlové pokrytí: dán graf G=(V,E), celé číslo K V ; existuje V V taková, že V K a (u,v) E, u V nebo v V? 29

Bestiarium Klika: ( politická klika ) dán graf G=(V,E), celé číslo K V ; existuje úplný podgraf G =(V,E ) grafu G takový, že V K? Problém rozkladu: dána množina A={a 1,,a n } a funkce s: A Z + ; existuje podmnožina A A taková, že s(a) = s(a) a A a A-A (rozklad na podmnožiny se stejnou cenou) 30

Bestiarium Steinerův problém dán graf G=(V,E) dána podmnožina V V sestrojit minimální souvislý podgraf H=(W,F) takový, že V W. Mnoho variant na speciálních grafech 31

Bestiarium Steinerův problém v pravoúhlé metrice 32

Bestiarium Problém plánování (jeden z mnoha) Dána množina T operací o jednotkové době trvání, dále je dáno částečné uspořádání < na T a maximální doba výpočtu D Z +. Existuje takový plán : T {0, 1,... D } že v každém okamžiku z {0, 1,... D } je naplánováno nejvýše m operací a je-li t i < t j pak (t i ) < (t j ) Úloha je NP-těžká; je-li však < zobrazitelné množinou stromů, je polynomiální. 33

NPH a NPC Karpova redukce (pro NP problémy) NP nejtěžší problémy v NP srovnatelně těžké problémy mimo NP NPC NPH Turingova redukce (pro jiné problémy) 34

P, NP, NPC, PO, NPO, NPH NPC NPH P PO NP NPO 35

Turingova redukce (Turingova transformace) Definice Turingovy redukce Rozhodovací problém Π 1 je Turingredukovatelný na Π 2 (Π 1 Π 2 ), jestliže existuje polynomiální program pro (deterministický) Turingův stroj, který řeší každou instanci I 1 problému Π 1 tak, že používá program M 2 pro problém Π 2 jako podprogram (jehož trvání považujeme za jeden krok). Jiné značení: T 36

Třída NP-těžký (NP-Hard, NPH) Definice (třída NP-těžký): Problém Π je NP-těžký, jestliže pro všechny problémy Π NP, Π Π Karpova redukce je speciálním případem Turingovy redukce (volání podprogramu jednou, přímé použití výsledku) NPC NPH 37

Rozhodovací (TS) a optimalizační (TSO) verze TSP A TS TSO existuje túra délky nejvýše B? B zkonstruovat nejkratší túru A spočítat nejkratší túru pomocí TSO porovnat 38

Turingova redukce TSE NP TS NPC TSE TS TSE TS TS TSO B B 1 B 2 TSE TSE: 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 ). Dále dána mez B a cesta procházející K městy. Dá se prodloužit na túru délky nejvýše B? 39

TSE: Dána množina n měst C={c 1,c 2,,c n }, vzdálenost d(c i,c j ). Dále mez B a cesta procházející K městy. Dá se prodloužit na túru délky B? Víme, že B min =n, B max =n.max {d(ci,cj)} TSO TSE Velikost instance měřme N = n+log 2 B max Nechť existuje program TSE (C, d,, B). Jak pomocí něj vyřeším TSO? 1. Určím B* pomocí log 2 B max volání TSE (C, d, {c 1 }, B). 2. Určím další město k C 1 pomocí TSE (C, d, {c 1, c i }, B*). 3. Opakuji, až určím celou kružnici B 2 O(log 2 B max ) + O(n 2 ) = O(N 2 ) 40

K předchozímu důkazu 1. Určím B* pomocí log 2 B max volání TSE (C, d, {c 1 }, B). B max ¾.B max ½.B max TSE (C, d, {c1}, ½.B max )=NE TSE (C, d, {c1}, ½.B max )=ANO ¼.B max 0 41

TS a TSO TS TSO B B 1 B 2 TSE TS a TSO jsou Turing-ekvivalentní a tedy stejně těžké. A 42

NP-intermediate (NPI) NPH NPC NPI P NP NPI: problémy, které nemohou mít polynomiální algoritmus ani na ně nikdy nemůže být převeden SAT, pokud P NP NP-P-NPC: problémy, pro které ani neumíme nalézt polynomiální algoritmus, ani na ně převést SAT. Např. izomorfismus grafů, do r. 2004 také test prvočíselnosti 43

NPI není prázdná Důsledek obecnější věty (Ladner 1975): Nechť Π je NP-úplný problém a I množina jeho instancí. Pak existuje podmnožina I jeho instancí, rozpoznatelná polynomiálním algoritmem taková, že problém Π vzniklý omezením Π na I není ani NPC, ani P. Příklad: musí existovat množina grafů, pro kterou HC není ani NPC, ani P. Zatím nalezeny jen zcela nepřirozené případy 44

Kandidát NPI: isomorfismus grafů Dány grafy G=(V,E) a H=(W,F). Existuje prosté zobrazení f: V W takové, že pro každé u,v V platí (u,v) E právě tehdy, když (f(u),f(v)) F? Pokud by tento problém byl NPC, polynomiální hierarchie by zkolabovala (minulá přednáška) 45

Otevřené verze problémů: problém plánování m 1 m 2 m 3 m 4 m 100 m libovolné < libovolné < strom < prázdné P NP-P-NPC NPC podproblém Garey a Johnson 46