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

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

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

Další NP-úplné problémy

Třídy složitosti P a NP, 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

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

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

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

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

Úvod do informatiky. Miroslav Kolařík

TGH12 - Problém za milion dolarů

Od Turingových strojů k P=NP

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

Matematická logika. Rostislav Horčík. horcik

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

Přijímací zkouška - matematika

Výpočetní složitost algoritmů

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

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

Vrcholová barevnost grafu

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

YZTI - poznámky ke složitosti

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

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

10 Přednáška ze

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

9.Cosipočítstěžkýmproblémem

8 Přednáška z

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

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

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

ALGORITMY A DATOVÉ STRUKTURY

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

Kreslení grafů na plochy Tomáš Novotný

Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda

PROBLÉM ČTYŘ BAREV. Lze obarvit jakoukoliv mapu v rovině čtyřmi barvami tak, aby žádné dvě sousedící oblasti neměly stejnou barvu?

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

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

1. Nejkratší cesta v grafu

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

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

10. Složitost a výkon

12. Globální metody MI-PAA

NP-úplnost problému SAT

Výpočetní složitost I

Úvod do informatiky. Miroslav Kolařík

Vybíravost grafů, Nullstellensatz, jádra

10 Podgrafy, isomorfismus grafů

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

12. Aproximační algoritmy

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

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 podzimu 2016

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

Definice 1 eulerovský Definice 2 poloeulerovský

10. Vektorové podprostory

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

Dynamické programování

Rekurentní rovnice, strukturální indukce

ale je tam plno nadchodů a podchodů. Naším cílem je najít okružní cestu ze startovního místa zpátky na start, abychom

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

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

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

Paralelní grafové algoritmy

1. Toky, řezy a Fordův-Fulkersonův algoritmus

Teorie grafů. Teoretická informatika Tomáš Foltýnek

Metody síťové analýzy

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

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

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

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Rezoluce ve výrokové logice

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

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

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 podzimu 2014

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

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

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Řešení rekurentních rovnic 2. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 11

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

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

TGH09 - Barvení grafů

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

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

Úvod do teorie grafů

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

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

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 podzimu 2015

Inference v deskripčních logikách

efektivně řešit, jde mezi nimi nalézt zajímavé vztahy a pomocí nich obtížnost

Cvičení z Lineární algebry 1

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

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

13. Lineární programování

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

67. ročník matematické olympiády III. kolo kategorie A. Přerov, března 2018

Barevnost grafů MFF UK

Složitost Filip Hlásek

Transkript:

Problémy třídy Pa N P, převody problémů Cvičení 1. Rozhodněte o příslušnosti následujících problémů do tříd Pa N P(N PCověříme později): a)jedanýgrafsouvislý? danýproblémjeztřídy P,řešíhonapř.algoritmyDFS,BFS. b) Jedanýgrafrovinný? danýproblémjeztřídy P,jeznámalgoritmuspracujícívčase O(n 2 ). c) Obsahuje daný graf hamiltonovskou kružnici? N P, dokonce N PC. Dokážeme převodem Hamilton. cyklu(hc) p HK. d) Je dané přirozené číslo číslem složeným? N P, dokonce do P(netriviální důkaz). e) Lze batoh o dané kapacitě zaplnit některými z daných předmětů, aby nepřekročil zadanou váhu a současněmělminimálnícenu? NP,dokonce NPC.DokážemepřevodemSubSetSum p BATOH. e) DNF-SAT. P(stačí splnit jedinou klauzuli, tedy každou závorku otestujeme, zda obsahuje kontradikci, pokud ne, je formule splnitelná). Řešení a návody Chceme-li dokázat, zda daný problém náleží do třídy P(resp. N P), musíme podle definice najít deterministický(resp. nedeterministický) TM, který rozhoduje daný problém v polynomiálním čase. Je to cesta, ale pro některé problémy komplikovaná. Zkusme proto použít analogii v algoritmech(ke každému TM rozhodujícím v polynomiálním čase najdeme algoritmus, který řeší stejný problém také v polynomiálním čase. Něco podobného jste si dokazovali na přednášce u RAM): Třída P :Podaří-lisenámnajítpolynomiálníalgoritmus,takjetodostatečnýdůkaz,žeúlohajezetřídy P. Třída NP : PopsatNTMmůžebýttakéobtížné,atakseznovuzkusímeopřítoalgoritmus,tentokrátnedeterministický. Na přednášce jste měli popis průběhu nedet. algoritmu(1.8.7): Nedeterministický algoritmus pracuje ve dvou fázích: 1. Algoritmus náhodně vygeneruje řetězec s. 2. Deterministický algoritmus(turingův stroj, program pro RAM) na základě vstupu a řetězce s dá odpověď ANO nebo NEVIM. Jaktotopomůžeprotřídu NP?Pokudbynámněkdosdělil(poradil,tipl)řešení(fáze1.),amyho dokázali polynomiálně a deterministicky ověřit(fáze 2.), tak máme vlastnost třídy N P. Navíc tuto vlastnost nemá žádná jiná třída problémů, než právě třída N P. Například ve cvičení d) by řešení vypadalo takto: Kdyby Vám někdo prozradil dělitele zadaného čísla(vygenerovat např. náhodně číslo zabere konstantní čas), tak rychle(myšleno polynomiálně a deterministicky)ověříte,zdatotočíslodělízadanébezezbytku tedymátesplněnyfáze1.a2.,atedy problémje NP. Třída NPC :Chceme-lioproblémudokázat,ženáležítřídě NPC,musímeukázat: 1. je N P (tj. máme-li řešení, ověříme v polynomiálním čase a deterministicky, že je skutečně řešením), 2. lze na tento problém polynomiálně redukovat nějaký již známý problém z N PC.

Řešení: Problém HK: Obsahuje daný graf hamiltonovskou kružnici? N P, dokonce N PC. Dokážeme převodemhc p HK. 1)HKje NP,protožeprovybranoukružnicisnadnootestujeme,zdasejednáokružnici,azda obsahuje všechny vrcholy(projdeme posloupnost uzlů a hran v kružnici a kontrolujeeme počet uzlů a incidenci). 2) Problém HK je podobný problému existence Hamiltonovskému cyklu(hc), o kterém víme, že je NPC. ZkusmetedynajítpolynomiálníredukciHCnaHK(HC p HK).Nejdříveřádně zformulujeme oba problémy: HK Vstup: Je dán neorientovaný graf G. Otázka: Existuje v tomto grafu kružnice přes všechny uzly?(hamiltonovská kružnice) HC Vstup: Je dán orientovaný graf G. Otázka: Existuje v tomto grafu cyklus(orient. kružnice) přes všechny uzly?(hamiltonovský cyklus) 2)Hamiltonovskýcyklus(HC) p Hamiltonovskákružnice(HK). G(V,E) G (V,E ) V V :=V V (druhoukopiikaždéhouzluvodlišímejako v) E E := {{u,v }, {v,v} prokaždouhranu(u,v) EvpůvodnímgrafuG} Konstrukci na příkladu ukazuje následující obrázek: Nyní ukážeme, že instance HC je splněná právě tehdy když je splněna instance HK. Chcemeukázat, žepokudmámeanoinstanciham. cyklu, tedyexistujeham. cyklus C = v 1 e 1 v 2...v n e n v 1, takexistujehamiltonovskákružnice C. Evidentnětatokružnicemápodobu C= v 1 e 1 v 2 e 1v 2...v n e n v ne n v 1 e 0v 1,obsahujevšechnyuzly V. Nyní chceme ukázat naopak, že pokud máme nějako uham. kružnici C, tak v původním grafu muselbýtham.cyklus:označmesikružnici C= v 1 e 1v 2e 1 v 2...v ne nv n e n v 1e 1 v 1.Paksousedníuzly musínutněbýtvajehokopiev,nebov aw(alepakpředv muselobýtv),protožejedinéhrany v novém grafu sjou střídavě mezi očárkovaným a neočárkovaným uzlem. Je-li tedy ham. kružnice vg,máprávěuvedenýtvaraznípakmámvypuštěnímočárkovanýchuzlůahranham. cyklusv původním grafu. Tedy HC existuje. Tento převod(vytvoření instance pro HK z HC) lze realizovat deterministicky v polynomiálním čase

(hodnoty v i jen2xzkopírujemedonovéhografu,taktéžhrany).hkjetedy NPC. Problém BATOH: 1)BATOHje NP,protožeprovybranépředmětysnadnootestujeme,zdasedobatohuvejdou (sečtemeváhy v i aporovnámesv)azdamajícenualespoň C(sečtemeceny c i aporovnáme s C). 2)ProblémBATOHjepodobnýproblémuSubSetSum,okterémvíme,žeje NPC.Zkusmetedy najít polynomiální redukci SubSetSum na BATOH. Nejdříve řádně zformulujeme oba problémy: BATOH Vstup: npředmětů,knimzadanádvěčísla: c i cenapředmětu, v i váhapředmětu, i=1,2,...,n. Dáledvěpřirozenáčísla nosnostbatohu V acena C. Otázka: Lze z těchto předmětů vybrat nějaké tak, aby se vešly do batohu(nepřekročili nosnost, tedy vi V)asoučasněmělyminimálněhodnotu C(tedy c i C)? SubSetSum Vstup: přirozenáčísla a 1,...,a m,číslo K. Otázka:Lzevybratněkteréztěchtočíseltak,abyjejichsoučetbylprávě K(tedy a i = K))? Polynomiální redukce: Musíme instanci(vstup) SubSetSum převést na instanci BATOH a splnit přitom dvě kritéria: Je-li řešitelná instance SubSetSum, musí mít řešení i navržená instance BATOHu. Současně ale pokud není řešitelná instance SubSetSum, nesmí být řešitelná ani ta BATOHu. Zkusme tedypomocí a i ačíslakdefinovatbatohnásledujícímzpůsobem: SubSetSum a 1,...,a n K BATOH c i := a i, i=1,2...,n; n=m v i := a i N:=K C:=K Existuje A {a 1,...,a m } Existuje P {(c 1,v 1 ),...,(c n,v n )} tž. a i A a i= K? tž. c i P c i Cazároveň v i P v i N? Ukážeme, že námi zvolená instance pro BATOH splňuje obě podmínky, je-li řešitelný problém SubSet- Sum. Stačí vzít stejnou podmnožinu předmětů, tedy P:= A(resp. dvě kopie A). Nyní ukážeme, že instance BATOHu je splněná právě tehdy když je splněna instance SubSetSum. Chcemeukázat,žepokudmámeANOinstanciSubSetSum,tedyexistujevýběrAtž. a i A a i= K, tak existuje výběr i pro BATOH: c i = a i = K C, c i P tedy požadavek na cenu je splněn. Ještě váha: je splněna i tato podmínka. v i P a i A v i = a i = K V, A i A

Nyní chceme ukázat naopak, že pokud máme ANO instanci BATOHu, tak pomocí redukce existuje výběr pro SubSetSum: a i = c i C= K, a i A c i P tedymáme,že a a i A i K.Tonestačí,mypotřebujemerovnost.Mámealeještěváhu: a i = v i V= K, a i A v i P tedymáme,že a a i A i K. Podmínkacenyaváhymábýtalesplněnasoučasně,tedymáme podmínku, a i K a i K, a i A a i A ale to je podmínka existence řešení pro SubSetSum. Tento převod(vytvoření instance pro BATOH ze SubSetSum) lze realizovat deterministicky v polynomiálnímčase(hodnoty a i jenzkopírujemedocen,vahakzkopírujemedocav).batohjetedy NPC. U následujících problémů nám pomůže přehled přednáškových N PCproblémů. (CNF) SAT Splnitelnost formule výrokové logiky ϕ. Vstup: Formule varphi Otázka: Existuje ohodnocení, v kterém je ϕpravdivá? 3(CNF)SAT Spl.fle,kdevkaždéklauzulijsoumax.3literály. Vstup: Formule varphi Otázka: Existuje ohodnocení, v kterém je ϕpravdivá? 3-COLOR Obarvení grafu 3 barvami. Vstup: graf G Otázka: Jde graf obarvit 3 barvami tak, aby žádné 2 sousední vrcholy neměly stejnou bravu? K-klika Nalezení největší kliky v grafu. Vstup: Graf G, přirozené číslo K Otázka: Existuje v grafu úplný pograf(klika) o alespoň K vrcholech? ILP Lineární programování.

VP Vrcholové pokrytí grafu. Vstup: Graf G, přirozené číslo K Otázka: Existuje množina velikosti najvýše K, která pokryje HRANY grafu? NEZ Nezávislá množina. Vstup: Graf G, přirozené číslo K Otázka:ExistujemnožinavrcholůNEZ, NEZ K,tž.žádnédvazNEZnejsouspojenyhranou? SubSetSum Výběr podmnožiny s daným součtem z množiny čísel. Vstup: n přirozených čísel a přirozené číslo K Otázka:Existujevýběrztěchtočíseltak,abysoučetbylK? Partition dělení kořisti(dva loupežníci) Vstup: n předmětů dané ceny Otázka: Existuje výběr z těchto předmětů tak, aby součet cen byl polovina loupeže? TSP Obchodní cestující. HK Hamiltonovská kružnice v grafu. Vstup: Graf G Otázka: Existuje v grafu kružnice přes všechny vrholy? HC hamiltonovský cyklus v grafu. Vstup: Graf G Otázka: Existuje v grafu cyklus přes všechny vrcholy? NDC Nejdelšícestavgrafu. Vstup: Graf G s ohodnocením hran reálnými čísly, reálné číslo K Otázka: Existuje v grafu cesta ceny nejvýše K? NKC Nejkratšícestavgrafu. Vstup: Graf G s ohodnocením hran reálnými čísly, reálné číslo K Otázka: Existuje v grafu cesta ceny alespoň K? Cvičení 2. Problém NDC(nejdelší cesta) vstup:grafgsohodnocenímhran(vzdálenosti) a:e R +,nezápornéčíslo K otázka:existujecestacenyalespoň K?HCnaNDC nejdelsicestajen-1, V =n 1) Máme-li cestu, snadno ověříme, zda je ceny alespoň K. 2)Hamiltonovskácesta(HC) p NDC. HC NDC a(e):=1 K:= V 1 Existuje-li v grafu HC, je řešitelný i problém NDC. Není-li řešitelný HC, není řešitelný ani NDC. Tento převod lze realizovat v polynomiálním čase. NDC je tedy N PC.

Cvičení 3. Problém NKC(nejkratší cesta) vstup:grafgsohodnocenímhran(vzdálenosti) a:e R,reálnéčíslo k otázka:existujecestacenynejvýše k?ncnankc otocimcenuhrannazaporne 1) Máme-li cestu, snadno ověříme, zda je délky nejvýše k. 2)NC p NKC. NC NKC a(e) a(e ):= a(e) K k:= K Je-livgrafuGnejdelšícestadélkyalespoňK,jevG cestadélkynejvýšek.anaopak. Tento převod lze realizovat v polynomiálním čase. NKC je tedy N PC. Cvičení 4. Problém DOM(dominantní množina) Vstup: graf G, přirozené číslo k Otázka: Existuje dominantní množina D velikosti nejvýše k? (množinavrcholůdjedominantní,pokud {d,u} E,prokaždývrchol u V\D,d D) 1) Máme-li množinu D, snadno ověříme, zda je velikosti k a zda její vrcholy jsou dominantní. 2)Vrcholovépokrytí(VP) p DOM. VP DOM K k:= K existuje P V, P K, D:=P, D =k, tž.každáhranamájeden tž.každývrcholzv /Dje vrcholvp? spojenhranousvrcholemzd Má-li VP řešení, pak má řešení i DOM.(Každé vrcholové pokrytí je současně dominantní množinou) Naopak,máme-likaždývrcholzV /DspojenhranousvrcholemzD,pakmusíkaždáhranamít jedenvrcholvp??? (CohranamezidvěmauzlymimoP,kteréjsouobaspojenisvrcholyvP?pak nemusíme mít pokrytí!)... asi to nebude dobrá redukce. Ještě promyslím. Tento převod lze realizovat v polynomiálním čase. DOM je tedy N PC. Pozn.:LzetakérealizovatpřevodemMnožinovépokrytí p DOM (http://en.wikipedia.org/wiki/dominating set) Cvičení 5. Problém NK(nejdelší kružnice) Vstup: graf G, přirozené číslo k Otázka: existuje kružnice délky alespoň k? 1) Máme-li kružnici, snadno ověříme, zda je délky alespoň k. 2)Hamiltonovskákružnice(HK) p NK. HK NK

k:= V Existuje-livgrafuHC,existujeiNKvgrafuG.Anaopak. Tentopřevodlzerealizovatvpolynomiálnímčase.NKjetedy NPC.