TGH12 - Problém za milion dolarů

Podobné dokumenty
TGH05 - Problém za milion dolarů.

TGH08 - Optimální kostry

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

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

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

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky

TGH10 - Maximální toky

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.

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

TGH02 - teorie grafů, základní pojmy

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

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

TGH09 - Barvení grafů

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy

Složitost Filip Hlásek

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

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

Výpočetní složitost algoritmů

10. Složitost a výkon

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

Jan Březina. 7. března 2017

Úvod do informatiky. Miroslav Kolařík

10 Podgrafy, isomorfismus grafů

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

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

Metody síťové analýzy

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

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

Hledání kořenů rovnic jedné reálné proměnné metoda sečen Michal Čihák 23. října 2012

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

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

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

TGH06 - Hledání nejkratší cesty

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

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

Od Turingových strojů k P=NP

ALGORITMY A DATOVÉ STRUKTURY

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

TGH06 - Hledání nejkratší cesty

Složitost a moderní kryptografie

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

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

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

4EK311 Operační výzkum. 5. Teorie grafů

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

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

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

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

Cvičení z Lineární algebry 1

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

Základní pojmy teorie grafů [Graph theory]

Přijímací zkouška - matematika

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

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

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

Další NP-úplné problémy

Dynamické programování

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.

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Úvod do teorie grafů

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Návrh Designu: Radek Mařík

Algoritmy na ohodnoceném grafu

Vzdálenost uzlů v neorientovaném grafu

Binární vyhledávací stromy II

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

YZTI - poznámky ke složitosti

Vrcholová barevnost grafu

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

Dijkstrův algoritmus

Definice 1 eulerovský Definice 2 poloeulerovský

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

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

Podobnostní transformace

Jan Březina. Technical University of Liberec. 21. dubna 2015

Úvod do informatiky. Miroslav Kolařík

VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ

5. Lokální, vázané a globální extrémy

Jan Pavĺık. FSI VUT v Brně

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

4EK311 Operační výzkum. 6. Řízení projektů

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

07 Základní pojmy teorie grafů

TEORIE GRAFŮ TEORIE GRAFŮ 1

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

= 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

12. Aproximační algoritmy

Jan Březina. Technical University of Liberec. 30. dubna 2013


CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

TGH04 - procházky po grafech

Digitální učební materiál

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

Řízení projektů. Konstrukce síťového grafu pro řízení projektů Metoda CPM Metoda PERT

Transkript:

TGH12 - Problém za milion dolarů Jan Březina Technical University of Liberec 7. května 2013

Složitost problému Co je to problém?

Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu číslu) X, najít výstupní data Y splňující nějakou vlastnost: F (X, Y ) = 1... F je logický obvod

Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu číslu) X, najít výstupní data Y splňující nějakou vlastnost: F (X, Y ) = 1... F je logický obvod Co je složitost problému?

Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu číslu) X, najít výstupní data Y splňující nějakou vlastnost: F (X, Y ) = 1... F je logický obvod Co je složitost problému? Nejmenší složitost algoritmu, který pro X najde Y, aby platilo F (X, Y ) = 1.

příklady

Lehké a těžké problémy Zvládnutelné velikosti problému: n = 1 corehour 10 6 corehours 10 9 coreweeks (exascale) n 2 10 6 10 9 10 11 n 3 15000 10 6 10 8 n 6 123 10 3 10 4 n 1 0 18 71 239 2 n 41 61 79 Pro seriový počítač s frekvencí 1GHz (10 9 operací za sekundu) Závěr: prakticky zvládnutelné jsou problémy se složitostí max. O(n 6 ). teoreticky jsou zvládnutelné problmémy s polynomiální složitostí O(n k )

Problémy nemožné - halting problém Pro daný program (reprezentovaný číslem X) rozhodni, zda pro data A výpočet X(A) skončí v konečném čase. Existuje program Y (i, j), který pro každé X a A v konečném čase zjistí zda X(A) skončí? Tedy: Y (X, A) = 1, pokud X(A) skončí Y (X, A) = 0, pokud X(A) neskončí v konečném čase

Halting problém 1. Necht Z(i, j) je libovolný program, který skončí v konečném čase pro všechna i, j. 2. Program W (i): W (i) = { 0 pokud Z(i, i) = 0 undef ined, loop pokud Z(i, i) = 1 3. Y (W, W ) se nemůže rovnat Z(W, W ) pro žádné Z: bud W (W ) = Z(W, W ) = 0, tedy W je konečný a Y (W, W ) = 1 nebo W (W ) neskončí, Z(W, W ) = 1 a Y (W, W ) = 0

Putování po hranách Problém: Pro daný neorientovaný graf s n vrcholy najdi kružnici, která projde haždou hranu právě jednou (Eulerovská kružnice). Známe algoritmus (stupně vrcholů a DFS), který to zvládne v čase O(V + E) = O(n 2 ). Problém je ve třídě P problémů řešitelných v polynomiálním čase. Existuje program X, který pro vstup (graf) A najde výstup (kružnici) B = X(A), tak aby platilo F (A, X(A)) = 1, pokud kružnice existuje. Program (funkce) F (i, j) verifikuje, že j je Eulerovská kružnice na grafu i. Složitost také O(n 2 ).

Putování po vrcholech Hamiltonova kružnice - je kružnice na grafu G, která prochází každý vrchol právě jednou. Verifikační problém: Pro graf i a posloupnost vrcholů j zjisti zda je to Hamiltonova kružnice, tj. vypočti F (i, j): { 1 pokud j je Hamiltonovská kružnice na grafu i F (i, j) = 0 j není Hamiltonovská Složitost O(n). Zjistíme zda se vrcholy neopakují a existují příslušné hrany. Třída N P nedeterministicky polynomiální problém, verifikovatelný v polynomiálním čase. Přímý problém: Najdi Hamiltonovu kružnici.!! Neznáme polynomiální algoritmus i přes velkou podobnoust s předchozí snadnou úlohou.

Třídy problémů P : úlohy řešitelné v polynomiálním čase O(n k ) N P : úlohy jejichž řešení je verifikovatelné v polynomiálním čase. NP -hard : úlohy nejmíň tak těžké jako NP, tj. všechny NP jsou na ně redukovatelné NP -úplné : nejtěžší z NP problémů, tj. NP NP -hard Za milion dolorů: Je NP = P nebo NP P?

optimalizační problém - př. najdi optimální obarvení grafu, problém obchodního cestujícího, typicky NP -hard rozhodovací problém - najdi k-obarvení grafu (rozhodni, zda takové existuje), najdi Hamiltonovu kružnici, typicky NP -úplný Rozhodovací problém A je redukovatelný na B pokud: Existuje polynomiálně složitá transformace vstupu a na vstup b tak, že A(a) právě když B(b) tj. pokud B je v P pak A je taky v P tj. pokud A není v P ani B není v P tj. problém B je nejméně tak težký jako problém A Chceme najít nějaký N P -úplný problém. Mnoho problémů je ve třídě NP -úplných, jsou na sebe navzájem redukovatelné - jsou ekvivalentní. Hamiltonova kružnice, nejdelší cesta v grafu, optimální skládání do batohu,...

NP-úplný problém I Rozhodovací problém je N P -úplný pokud je v NP, tj. řešení je verifikovatelné v polynomiálním čase každý problém v NP je na něj redukovatelný (je nejtěžší v NP ) Uvažujme množinu M programů X ze třídy P, které pro každý vstup x dávají výstup ano nebo ne. Problém B: Pro daný program X M zjisti, zda existuje vstup x dávající výstup ano. Prakticky: Pro logický obvod X najdi vstup x, tak aby na výstupu byla jednička.

NP-úplný problém II Problém je z NP. Pro daný vstup x určíme v polynomiálním čase zda vyhovuje. B (X, x) = X(x) Problém je težší než všechny problémy A NP. Pro A najdeme zobrazení f vstupů a na vstupy X problému B, tak aby A(a) B(X). 1. A NP, takže existuje poly verifikační program A (a, a ) tak, že A(a) = 1 právě když a : A (a, a ) = 1 2. položme f(a) = X = F a, kde F a(a ) = A (a, a ) 3. program X je program A s předprogramovaným vstupem a, takže je polynomiální 4. A(a) a : F a(a ) = 1 x : X(x) = 1 B(X) Závěr: Na problém B je redukovatelný každý NP problém, tj. problem B (tzv. problém nasytitelnosti Boolovských forem), je NP-úplný

zero-knowledge proof Důkaz, že nějaké (matematické) tvrzení je pravdivé bez odhalení vlastního důkazu. V každém kole klesne pravěpodobnost, že Peggy nemá kĺıč na polovinu.

ZKP pomocí grafů Peggy zná Hamiltonovu kružnici v rozsáhlém grafu G a chce tuto znalost dokázat Viktorovi, aniž by jí prozradila. Oba provedou několik iterací postupu: 1. Peggy sestrojí graf H isomorfní s G. 2. Peggy zapíše tajně graf H, každou hranu zvlášt. (Zašifruje svým veřejným kĺıčem.) 3. Viktor náhodně určí zda chce odhalit, isomorfismus, nebo kružnici na H 4. V prvním případě Peggy odhaĺı celý graf H a isomorfní zobrazení na G. 5. V druhém případě Peggy odhaĺı jen hrany kružnice na H. V každém kole klesne pravěpodobnost, že Peggy kružnici nezná na polovinu.

Problém obchodního cestujícího Úloha: Jak si má naplánovat cestu po N městech, aby strávil na cestách nejméně času. Grafově: Najdi nejkratší Hamiltonovská kružnice v (úplném) ohodnoceném grafu. (NP-hard) Praktický předpoklad. Platí trojúhelníková nerovnost: d(i, j) d(i, k) + d(k, j)... stále NP-úplný problém. Aproximace.

Aproximace pomocí MST 1. Zvol počáteční vrchol v. Najdi z něj MST pomocí Primova algoritmu. 2. Z kořene v procházej kostru pomocí DF S algoritmu. Urči pořadí uzlů podle previzit. Tato aproximace dává kružnici po všech uzlech, která je max. dvakrát delší než optimální řešení.