12. Globální metody MI-PAA

Podobné dokumenty
DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

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

7. Heuristické metody

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

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

13. Lineární programování

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

11. Tabu prohledávání

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

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

Dynamické programování

Od Turingových strojů k P=NP

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

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

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

Návrh Designu: Radek Mařík

Časová a prostorová složitost algoritmů

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

Binární soubory (datové, typované)

Rekurzivní algoritmy

NP-úplnost problému SAT

Optimalizace & soft omezení: algoritmy

Binární vyhledávací stromy pokročilé partie

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

Dynamické programování UIN009 Efektivní algoritmy 1

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

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

Matematická logika. Rostislav Horčík. horcik

Stromy, haldy, prioritní fronty

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

R zné algoritmy mají r znou 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 jara 2016

Další NP-úplné problémy

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

Přijímací zkouška - matematika

4EK213 Lineární modely. 10. Celočíselné programování

Metoda hrubé sily, backtracking a branch-and-bound

Dynamické programování

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Testování a spolehlivost. 6. Laboratoř Ostatní spolehlivostní modely

5. Dynamické programování

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

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:

Dynamické programování. Optimální binární vyhledávací strom

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

ALGORITMY A DATOVÉ STRUKTURY

Pravděpodobně skoro správné. PAC učení 1

Datové struktury 2: Rozptylovací tabulky

Algoritmy výpočetní geometrie

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.

KMI/ALM3 Mgr. Petr Osička, Ph.D. ZS ANO je slovo 1 a kódováním NE je slovo 0, pak je problém popsán pomocí dvojice L, R takové, že:

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

Prohledávání do šířky = algoritmus vlny

Kombinatorická minimalizace

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

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

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

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

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

Úvod do informatiky. Miroslav Kolařík

Výroková logika - opakování

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

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

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Dynamické programování

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

Základy matematické analýzy

Programování v jazyce JavaScript

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

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

Síla a významnost asociace mezi proměnnými v systému

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

Algoritmizace prostorových úloh

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

Programování v C++ 1, 16. cvičení

VYŠŠÍ ODBORNÁ ŠKOLA a STŘEDNÍ PRŮMYSLOVÁ ŠKOLA Mariánská 1100, Varnsdorf PROGRAMOVÁNÍ FUNKCE, REKURZE, CYKLY

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

10. Složitost a výkon

Dynamické programování

Odhad stavu matematického modelu křižovatek

Algoritmus pro generování normálních magických čtverců

KOMBINATORIKA (4.ročník I.pololetí DE, 2.ročník I.pololetí NS)

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

Unbounded Model Checking

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

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

Úloha - rozpoznávání číslic

Numerické metody a programování

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

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

Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44

Soustavy linea rnı ch rovnic

Zimní semestr akademického roku 2014/ prosince 2014

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

Numerické metody a programování. Lekce 4

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 EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 12. Globální metody Dekompozice a kompozice Dynamické programování jako globální metoda Rozděl a panuj jako globální metoda Vlastnosti a třídy dekompozice Kombinované globální metody

Terminologie aneb co všechno je globální optimalizace techniky, které hledají globální optimum za přítomnosti lokálních optim už jich známe spoustu techniky, které rovnoměrně prohledávají stavový prostor náhodné starty lokálních metod diverzifikace v lokálních metodách atd. metody, které nejsou založeny na pojmu stavového prostoru 2

Globální a lokální metody lokální metody: stav, stavový prostor aktuální stav okolí, prohledávání okolí globální metody instance dekompozice instance na podinstance kompozice řešení podinstancí rekurze řešení triviálních instancí hrubou silou 3

Dekompozice a kompozice dekompozice řešení kompozice I 1 Y 1 I Y I 2 Y 2 instance problému menší instance problému řešení I 1 a I 2 řešení I 4

Příklad: dynamické programování problému batohu I=(W, C, M) instance problému batohu X řešení problému batohu cost (X) cena řešení X=KNAP(W, C, M) procedura, řešící instanci I exaktní metoda function KNAP (W, C, M) if istrivial (W, C, M) return trivialknap (W, C, M); X0 = KNAP (W-{w n }, C-{c n }, M); X1 = KNAP (W-{w n }, C-{c n }, M-w n ); if cost(x1)+c n return X0.0; triviální případ hrubou silou > cost(x0) return X1.1; kompozice function istrivial (W, C, M) return (isempty (W) or M=0 or M<0); I 1 dekompozice I 2 5

Příklad: řešení problému diskrétního rozmístění Dáno: množina n modulů K={k 1,,k n } množina m pozic P={p 1,,p m }, m n propojení modulů jako hypergraf G (K, N), kde N je množina spojů n cenová funkce W (R, n), která pro každé přiřazení R: K P odhadne cenu realizace spoje n. Nalézt: prosté přiřazení R: K P (rozmístění), které minimalizuje součet ohodnocení W (R, n) přes všechny spoje. 6

Příklad: řešení problému diskrétního rozmístění rozmisťovací prostor I 1 hypergraf propojení rozdělení na poloviny I 2 min. bisekce hypergrafu (např. Kernighan-Lin) kompozice: sjednocení množin 7

Vlastnosti dekompozice I I 1 I 2 Y 1 není řešení existuje řešení Y např. dekompozice pro batoh I I 1 I 2 Y 1 není řešení není řešení např. dekompozice diskrétního rozmístění 8

Přibližná dekompozice I I 1 přibližná dekompozice (approximate decomposition): Y 1, Y 2 optimální řešení I 1, I 2 Y 1, Y 2 neexistují nevíme nic I 2 Y 1 Y 2 Y Y je řešení I konstruktivní problémy: Y 1, Y 2 řešení I 1, I 2 Y je řešení I Y 1, Y 2 neexistují nevíme nic 9

Čistá dekompozice I I 1 Y 1 Y I 2 Y 2 čistá dekompozice (pure decomposition): přibližná dekompozice taková, že Y 1, Y 2 optimální řešení I 1, I 2 Y je optimální řešení I Y 1, Y 2 neexistují Y neexistuje konstruktivní problémy: Y 1, Y 2 řešení I 1, I 2 Y je řešení I Y 1, Y 2 neexistují Y neexistuje 10

Přesná dekompozice přesná dekompozice I 2 Y 2 (proper decomposition): čistá dekompozice taková, že každé optimální řešení Y se dá složit z nějakých optimálních řešení Y 1, Y 2 (ze všech optimálních Y 1, Y 2 se dají složit všechny optimální Y) konstruktivní problémy: každé řešení Y se dá složit z nějakých řešení Y 1, Y 2... I I 1 Y 1 Y 11

Vlastnosti globálních metod pouze přesná dekompozice všechna optimální řešení přesná a čistá dekompozice alespoň jedno optimální řešení přesná, čistá a přibližná dekompozice nelze zaručit vlastnosti řešení 12

Redukce Dekompozice taková, že jedna z dekomponovaných instancí je triviální: redukce přesná redukce čistá redukce přibližná redukce 13

Dynamické programování čistá dekompozice dekomponované instance se dají charakterizovat malým objemem hodnot řešení dekomponovaných instancí se dají indexovat těmito hodnotami dekomponované instance se dají rozdělit do disjunktních tříd (stupňů) tak, že k výpočtu instancí jednoho stupně je třeba jen instancí právě jednoho jiného stupně 14

Problém batohu KNAP (V, C, M) váha charakteristika podinstance: n, M KNAP (V-{v n }, C-{c n }, M) KNAP (V-{v n }, C-{c n }, M-v n ) M 0 n-3 n-2 n-1 n věci triviální 15

Formulace dynamického programování Rekurzivní: vyjít ze zadané instance stanovit, které podinstance je třeba řešit, až se dosáhne triviálních instancí jasná souvislost s globálními metodami ale v praxi se nepoužívá Dopředná vyjít z triviální instance (triviálních instancí) spočítat všechny složitější podinstance, až se dosáhne zadané instance a tak se to dělá 16

Stupně váha M 0 n-3 n-2 n-1 n věci stupeň n-3 stupeň n-2, k výpočtu instancí stačí instance stupně n-3, není nutno skladovat více 17

Dopředný výpočet váha C[i,j]+c i+1 M j+w i+1 max. cena ve sloupci n j triviální i i+1 n věci 18

Použití dynamického programování Formulovat řešení jako rekurzivní algoritmus Stanovit minimální charakterizaci podinstancí a organizaci paměti mezihodnot Tak ukázat, že podinstancí je polynomiálně mnoho Stanovit stupně a pořadí řešení tak, aby všechny mezihodnoty byly k dispozici 19

Co může být výhodné řešit dynamickým programováním Problémy, které mají omezený počet mezihodnot n! permutací měst TSP, ale n(n-1)/2 souvislých podřetězů řetězu, určených počátkem a koncem n(n-1)/2 podstromů binárního vyhledávacího stromu, určených minimálním a maximálním klíčem Problémy s přirozeným uspořádáním prvků 20

Rozděl a panuj Algoritmy založené na přibližné dekompozici Opakované řešení dekomponovaných instancí je řídké Zvláštní případ: je potřeba řešit jen jednu z dekomponovaných instancí - zmenši a panuj (např. binární hledání), někdy jen použití přibližné redukce 21

Globální metody, složené z různých dekompozic Princip: rekurzivní procedura V každé úrovni se použije nejlepší možná dekompozice (přesná, čistá, přibližná) Možné výsledky: nalezeno řešení řešení neexistuje nevíme nic Tam, kde je možno provést více dekompozic stejného druhu, udržujeme seznam těch, které nevedly k výsledku 22

Y=GlobalSolve(I) istrivial (I)? - + I 1,I 2 = ProperDecomp (I, hist) I 1,I 2? - + return SolveTrivial(I) I hist return nevíme I 1,I 2 = PureDecomp (I, hist) I 1,I 2? - + I 1,I 2 = ApproxDecomp (I, hist) I 1,I 2? - + Y 1 =GlobalSolv (I 1 ) Y 2 =GlobalSolv (I 2 ) Y=Compose (Y 1, Y 2 ) Y? - + Y 1 =GlobalSolv (I 1 ) Y 2 =GlobalSolv (I 2 ) Y=Compose (Y 1, Y 2 ) Y? return Y + Y existuje - return Y nemůže existovat 23

Problém splnitelnosti booleovské formule (SAT) Dáno: n proměnných X = (x 1, x 2,... x n ) Booleovská formule F(X) v konjunktivní normální formě (součin součtů), např. F(X) = (x 1 +x 2 +x 3 ) (x 1 +x 2 ) (x 1 +x 3 ) Nalézt: Ohodnocení Y = (y 1, y 2,...y n ) proměnných x 1, x 2,... x n takové, že F(Y) = 1 24

Dekompozice DPLL Davis, Putnam, Logemann, Loveland 1962 Označme C = {c 1, c 2, c m } množinu klauzulí formule F, tedy F(X) = (x 1 +x 2 +x 3 ) (x 1 +x 2 ) (x 1 +x 3 ) = c 1 c 2 c 3 Instance I dána množinou proměnných a množinou klauzulí, I=(X, C) Dekompozice podle proměnných nechť X = X 1 X 2 (nikoli nutně disjunktní) indukuje instance I 1 =(X 1, C 1 ) I 2 =(X 2, C 2 ) kde C 1 resp. C 2 je množina klauzulí obsahujících proměnné z X 1 resp. X 2 25

Dekompozice DPLL: splitting rule Dekompozice zvolit proměnnou x i nechť C i resp. C i je množina klauzulí C s ohodnocením y i =1 resp. y i =0 I 1 =(X-{x j }, C i ) I 2 =(X-{x j }, C i ) je přesná dekompozice Kompozice pokud I 1 nebo I 2 je splnitelná, je I splnitelná, jestliže ani I 1 ani I 2 není splnitelná, není ani I splnitelná. 26

Dekompozice DPLL: unity propagation Redukce Nechť existuje klauzule c i o jediném literálu x j resp. x j. nechť C i resp. C i je množina klauzulí C s ohodnocením y i =1 resp. y i =0 Dekompozice I 1 =(X-{x j }, c i ) triviální I 2 =(X, C i ) resp. I 2 =(X, C i ) je přesnou redukcí. Kompozice: je-li I 2 splnitelná, je I splnitelná. 27

Dekompozice Servít-Zamazal Vážený problém splnitelnosti každá proměnná má kladnou váhu, minimum součtu vah proměnných ohodnocených 1 Dekompozice podle proměnných jako v předchozím případě Y 1 řešení I 1 =(X 1, C 1 ) Y 2 řešení I 2 =(X 2, C 2 ) Jestliže ohodnocení proměnných z X 1 X 2 v Y 1 a Y 2 se shoduje, pak kompozice Y = Y 1 Y 2 je řešením I (přibližná dekompozice). Jestliže Y 1 a Y 2 jsou jediná minimální řešení I 1 a I 2, ohodnocení proměnných z X 1 X 2 v Y 1 a Y 2 je 1, pak kompozice Y = Y 1 Y 2 je minimálním řešením I (přesná dekompozice). 28