Aproximativní algoritmy UIN009 Efektivní algoritmy 1

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

Výpočetní složitost algoritmů

12. Aproximační algoritmy

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.

TGH12 - Problém za milion dolarů

TGH05 - Problém za milion dolarů.

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

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

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

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

Dynamické programování

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

TGH09 - Barvení grafů

10. Složitost a výkon

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

13. Lineární programování

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

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

Použití dalších heuristik

TGH08 - Optimální kostry

2. úkol MI-PAA. Jan Jůna (junajan)

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

ALGORITMY A DATOVÉ STRUKTURY

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

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

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Dynamické programování

Úvod do teorie grafů

Intervalová data a výpočet některých statistik

Algoritmy na ohodnoceném grafu

Časová a prostorová složitost algoritmů

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Dynamické programování

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

1. Nejkratší cesta v grafu

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

Grafové algoritmy. Programovací techniky

Další NP-úplné problémy

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

Optimalizace & soft omezení: algoritmy

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

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

Optimalizace obecný úvod. [proč optimalizovat?] Formalizace problému. [existují podobné problémy?]

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Vzdálenost uzlů v neorientovaném grafu

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

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

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

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

Úvod do informatiky. Miroslav Kolařík

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Vedoucí práce: RNDr. Martin Pergel, Ph.D.

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

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

Přijímací zkouška - matematika

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.

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

Tato tematika je zpracována v Záznamy přednášek: str

STROMY A KOSTRY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 6

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

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

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

Programování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence

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

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

Usuzování za neurčitosti

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

Problém cestujícího lovce hry Geocaching I

TGH07 - Chytré stromové datové struktury

Automatizované řešení úloh s omezeními

Barevnost grafů MFF UK

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Iterační výpočty Projekt č. 2

Paralelní grafové algoritmy

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

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

Moderní systémy pro získávání znalostí z informací a dat

Stromy, haldy, prioritní fronty

Rozhodovací procedury a verifikace Pavel Surynek, KTIML

Problém obchodního cestujícího

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

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

7. Heuristické metody

TGH06 - Hledání nejkratší cesty

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

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

Algoritmizace prostorových úloh

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Úvod do informatiky. Miroslav Kolařík

SPOLEHLIVOST KONSTRUKCÍ & TEORIE SPOLEHLIVOSTI část 5: Aproximační techniky

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

MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

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

PLANARITA A TOKY V SÍTÍCH

P13: Statistické postupy vyhodnocování únavových zkoušek, aplikace normálního, Weibullova rozdělení, apod.

Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 2. Určete a načrtněte definiční obory funkcí více proměnných: a) (, ) = b) (, ) = 3. c) (, ) = d) (, ) =

Praha, 24. listopadu 2014

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize Joseph Weizenbaum

Transkript:

Aproximativní algoritmy. 14.4.2005 UIN009 Efektivní algoritmy 1

Jak nakládat s NP-těžkými úlohami? Speciální případy Aproximativní algoritmy Pravděpodobnostní algoritmy Exponenciální algoritmy pro data malého rozsahu vylepšení typu ořezávání neperspektivních možností (metoda větví a mezí) Lokální prohledávání Heuristiky Metody umělé inteligence: neuronové sítě, genetické algoritmy 14.4.2005 UIN009 Efektivní algoritmy 2

Aproximativní řešení optimalizačních problémů Algoritmus A pro optimalizační problém P je aproximativní algoritmus s poměrem ρ(n), pokud pro každé přirozené číslo n a každou instanci I problému P délky n platí max{a P (I)/OPT P (I), OPT P (I)/A P (I)} ρ(n), přičemž OPT P (I) je optimální řešení a A P (I) řešení nalezené algoritmem A 14.4.2005 UIN009 Efektivní algoritmy 3

Aproximativní algoritmus pro vrcholové pokrytí Vstup: graf G Výstup: Minimální vrcholové pokrytí grafu G AproxVrcholovéPokrytí(V,E) V := ; E :=E; while E do vyber libovolnou hranu {u,v} E ; přidej u,v do V return V. od odstraň z E každou hranu incidentní s u nebo v Věta: AproxVrcholovéPokrytí(I) 2OPT(I) pro každou instanci I problému VP. 14.4.2005 UIN009 Efektivní algoritmy 4

Převoditelnost aproximativních řešení NEZ > VP. Lze tímto převodem získat též aproximaci problému NEZ s poměrem 2? Polynomiální transformace, která zachovává optimální řešení, nemusí nutně zachovávat poměr mezi optimálním a aproximativním řešením. Příklad. Graf G, V(G) =1000, OPT VP (G)=490, A VP (G) 980. Pak OPT NEZ (G)/A NEZ (G) (1000-490)/(1000-980)=25.5 14.4.2005 UIN009 Efektivní algoritmy 5

Problém obchodního cestujícího s nerovností Problém obchodního cestujícího (optimalizační verze) Vstup: Graf G s nezáporně ohodnocenými hranami Výstup: Hamiltonovská kružnice minimální ceny Dodatečná podmínka: nerovnost c(x,y)+ c(y,z) c(x,z) pro každé tři vrcholy x,y,z. AproxPOC (G) sestroj minimální kostru T grafu G průchodem do hloubky očísluj vrcholy kostry T v pořadí, v němž byly navštíveny return (hamiltonovskou) kružnici, která prochází vrcholy grafu v tomto pořadí. 14.4.2005 UIN009 Efektivní algoritmy 6

Problém obchodního cestujícího - pozitivní a negativní výsledek Věta: AproxPOC (I) 2OPT(I) pro každou instanci I problému POC. Věta: Jestliže existuje konstanta c 1 a polynomiální aproximativní algoritmus pro POC bez nerovnosti takový, že pro každou instanci I platí A(I) c OPT(I), pak P=NP. 14.4.2005 UIN009 Efektivní algoritmy 7

Množinové pokrytí Vstup: Množina M a její pokrytí P Výstup: Minimální podpokrytí Hladový algoritmus N := M; A := ; while N do vyber S P tak, aby S N bylo maximální N:= N \ S; A := A {S}; od. Věta: AproxMnožinovéPokrytí(M,P) (ln M +1) OPT(M,P). 14.4.2005 UIN009 Efektivní algoritmy 8

Aproximační schéma pro optimalizační problém P je aproximativní algoritmus A, jehož vstupem je instance I problému P a ε > 0 tak, že A(I)-OPT(I) /OPT(I) ε. ε I A A(I) Polynomiální aproximační schéma -jeho časová složitost je omezena polynomem v délce instance. Úplné polynomiální aproximační schéma - jeho časová složitost je omezena polynomem v proměnných n (délka instance) a 1/ε. 14.4.2005 UIN009 Efektivní algoritmy 9

Úplné polynomiální aproximační schéma pro problém batohu Problém batohu (optimalizační verze) Vstup: Množina přirozených čísel S={x 1,..., x n }, t N Výstup: S S, x t s maximálním x S x S Algoritmus dynamického programování (exponenciální) Datové struktury: L = l 1,..., l k uspořádaný seznam prvků l 1 < l 2 <...<l k L+x = l 1 +x,...,l k +x Merge(L,L ) sloučení L a L do nového uspořádaného seznamu s odstraněním násobných výskytů x 14.4.2005 UIN009 Efektivní algoritmy 10

Problém batohu - exponenciální algoritmus Batoh(S= {x 1,..., x n }, t ) L 0 := 0 for i:=1 to n do L i := Merge(L i-1,l i-1 +x i ) odstraň z L i každý prvek > t od return největší prvek v L n. Časová složitost: O(n t) Příklad: S={1,4,5}, t=7. 14.4.2005 UIN009 Efektivní algoritmy 11

Úplné polynomiální aproximační schéma (Ibarra,Kim,1975) Buď 0< δ <1. Ořezání seznamu L: pro každý odstraněný prvek y musí v L zůstat z tak, aby (1-δ)y z y, tj. (y-z)/y δ. Příklad: δ=0.1, L = 10,11,12,15,20,21,22,23,24,29. 14.4.2005 UIN009 Efektivní algoritmy 12

Ořezání seznamu Vstup: L= y 1,...,y m, 0<δ<1. Výstup: ořezaný seznam L Trim(L,δ) m:= L ; L := y 1 ; poslední := y 1 for i := 2 to m do if poslední< (1- δ) y i then L := L,y i poslední := y fi i od return L 14.4.2005 UIN009 Efektivní algoritmy 13

Aproximační schéma AproxBatoh(S,t,ε) n := S L 0 := 0 for i:=1 to n do L i := Merge(L i-1,l i-1 +x i ) L i := Trim(L i,ε/n) odstraň z L i každý prvek > t od return největší prvek v L n. Příklad: S={104,102,201,101}, t= 308, ε = 0.2 Věta: AproxBatoh je úplné polynomiální aproximační schéma pro problém batohu. 14.4.2005 UIN009 Efektivní algoritmy 14