Diskrétní kombinatorické úlohy. Týden 12. Diskrétní kombinatorické úlohy. Příklady úloh. Typy úloh. Typ 2: Problém 0/1-lineárního programování
|
|
- Vlastimil Štěpánek
- před 8 lety
- Počet zobrazení:
Transkript
1 Diskrétní kombinatorické úlohy Týden Diskrétní kombinatorické úlohy lze řešit prohledáváním stavového prostoru reprezentovaného grafem (strom, acyklický graf). Prohledávání = rozvinutí stavového prostoru do tzv. prohledávacího stromu s (větším) počtem stavů: - počáteční stav, -přípustné mezistavy (částečná řešení) a nepřípustné mezistavy -přípustné koncové stavy (řešení) a nepřípustné koncové stavy. Prohledávání definuje pořadí stavů. Prohledávání nejdříve do hloubky (DFS) Prohledávání nejdříve do šířky (BFS) Příklady úloh Typy úloh úlohy z teorie grafů návrh obvodů VLSI (členění, rozmisťování, propojování) generování testů VLSI robotika, plánování trajektorie celočíselné a / lineární programování dopravní problémy (problém obchodního cestujícího TSP) hádanky a hlavolamy (8 a více dam, 9 kamenů...) síťová analýza časové rozvrhování ( v ekonomice, OS, multiprocesorech) scheduling Vesměs NP-úplné úlohy, není lehké nalézt dostatečně efektivní metody řešení.. Všechna řešení mají stejnou cenu, dosažitelná stejným počtem kroků. Hledáme první řešení.. Řešení (množina S) mají různou cenu, hledáme řešení s minimální cenou (cenová funkce f). Hloubka prohledávání je omezená a známá. (Diskrétní optimalizační problémy, DOP). Hloubka prohledávání není známá ani omezená. Hledáme řešení v minimální hloubce prohledávacího stromu. Typ : problém 8 královen S pokračujícím prohledáváním stromu je na šachovnici přidáváno víc královen Typ : Problém /-lineárního programování Vstup: int A [m][n], sloupcové vektory int b [m], c [n]; Problém: Najít sloupcový binární vektor int x [n] takový, že Ax b a c T x = min A =, b =, T c = [ ] každý krok = sestup o jednu úroveň Např. x = [ ] T vyhovuje, je to optimum? Zde n T S = { x B ; Ax b} f ( x) = c x 6
2 Typ : Permutační hlavolam Prohledávání grafů do hloubky a návraty zpět Vstup: Mřížka a b, a b, s počáteční konfigurací ab - kamenů očíslovaných,,, ab -. Jedno políčko je prázdné. Problém: Určit nejkratší sekvenci tahů, které povedou od počáteční konfigurace k uspořádání všech kamenů po řádcích,, ab -. S = množina všech sekvencí tahů, které vedou od počáteční ke konečné konfiguraci f (x) = počet potřebných tahů v sekvenci Vyčerpávající prohledávání do hloubky: jsou vyhodnocována všechna přípustná řešení a je vybráno řešení s minimální cenou. Výpočetně neúnosné s výjimkou nejmenších problémů. Metoda větví a mezí (Branch and Bound search, B&B) : Částečné řešení odmítni a vrať se (backtracking) - pokud není přípustné (nemůže vést k přípustnému řešení) - nebo pokud je přípustné, ale nemůže vést k řešení s cenou nižší než je dosud nejlepší známá cena (zjistíme přesně nebo odhadem). Ušetří se procházení mnoha podstromy. Je-li koncový stav nepřípustný, vrať se; je-li přípustný (řešení): - je-li třeba, aktualizuj současnou nejlepší cenu (rozhlaš ostatním) -ukonči prohledávání, pokud je dosaženo známé dolní meze ceny - pokračuj v prohledávání, když dolní mez ceny není známa. 8 Příklad: problém 8 královen - pokrač. Příklad: /-lineární programování - pokrač. návrat: když na řádku i+ neexistuje žádná možná pozice pro královnu, vezmi královnu ze současné pozice na řádku i a zkus jinou dosud neprozkoumanou pozici na řádku i účinnější prodloužení částečných řešení: umísti královnu do toho řádku, na kterém je nejmenší počet možných pozic. V případě více řádků vezmi jeden náhodně. počet návratů se dramaticky sníží ( pro problém s 9 královnami z, na ), mnohem kratší řešení. paralelizace: - každému procesoru je dána jedna z 8 pozic na prvním řádku pro další průzkum (statická alokace) - generovaná práce je dynamicky přerozdělována mezi procesory (vyvažování zátěže, load balancing) x x x x A Částečné řešení A není třeba rozvíjet, protože cena c T x = [- ] [ * * ] T může být nejméně 9 Proč paralelní DFS? Jaká je režie? Anomálie paralelního DFS Heuristické prohledávací algoritmy mohou najít suboptimální řešení pro specifické (NP-úplné) problémy v polynomiálním čase. Několik řešení se konstruuje nebo zlepšuje současně. Tím lze někdy dosáhnout superlineární zrychlení nebo i vyšší kvalitu suboptimálního řešení (prozkoumáním několika podprostorů) Mnoho DOPs vyžaduje řešení v reálném čase paralelní zpracování může být jediná cesta jak získat výkonnost pro RT. Režie spojená s komunikací. Režie rozdělení práce. Soupeření o sdílené datové struktury. Prostoje kvůli nestejné zátěži. režie s detekcí globálního ukončení P P.. Paralelní prohledávání může vykazovat anomální chování: - na procesorech může trvat stejně dlouho jako na procesorech - na procesorech může trvat méně než % času sekvenčního DFS -obecně, přidání procesoru může zrychlit prohledávání více než úměrně -přidání procesoru může také zpomalit paralelní DFS je třeba zátěž vyvažovat dynamicky. (LB, load balancing) P P
3 Organizace dat na zásobníku u DFS Dynamické vyvažování zátěže (MP) Init a b c d a b c a b a b c d a b c 6a 6b 6c 6d Dno zásobníku d b c d a b c d c a b c a b c c a b a b b b c d e a b c d e b b c a b c e 6c 6d 6a 6b 6c 6d d c c Pro eliminaci krátkých cyklů se uchovávají rodičovské stavy nebo i již prohledané stavy jednu nebo několik úrovní zpět Na počátku, CPU P přiděluje každému CPU disjunktní část stromu Každý P i, je-li aktivní, provádí DFS ve své části použitím svého zásobníku Když se P i zastaví (má zásobník prázdný), žádá neprozkoumané alternativy ze zásobníku jiných CPU. P j = dárce, P i = příjemce. Stavový diagram obsluhuj čekající zprávy procesoru místní zásobník prázdný vyber dárce a požádej ho o práci vykonej určité množství práce odmítnutí požadavek práce přišla obsluhuj service čekající any pending zprávy message aktivní bez práce Dynamické vyvažování zátěže Simulované žíhání (Simulated annealing, SA) Každý procesor uchovává data v zásobníku = iterativní zlepšovací heuristika užívající posloupnost malých perturbací (vychýlení) Algoritmus hledání dárce - cyklické žádosti, každý procesor udržuje lokální čítač mod P, schopnost stoupat do kopce (hill-climbing) zvyšující cenu umožňuje index potenciálního dárce; každá žádost čítač inkrementuje opustit horší lokálně optimální řešení - globální cyklické žádosti (sdílený čítač, udržuje jej proces) vychýlení, které zlepšuje řešení je vždy akceptováno - náhodné výzvy vychýlení, které zhorší stávající řešení o E je akceptováno s pravděpodobností E / T e, kde T je řídící parametr analogický teplotě Je-li ve frontě k žádostí o práci a žádaný má (a bude mít) při žíhání fyzikálních systémů nadprahové množství práce, rozdělí zásobník postupným T je snižována po skocích: T půlením na k+ částí, část si nechá, další odešle. n + = αt n,.9 α.99 na každé teplotě je proveden předem definovaný počet vychýlení Algoritmus pro dělení zásobníku: -půlení u dna (velké podstromy) Na počátku je T vysoká a většina vychýlení směrem do kopce je -půlení všech neprohledaných stavů akceptována. Jak postupuje žíhání, T je snižována a vychylování Algoritmus pro ukončení paralelního DFS. do kopce bude akceptováno se stále menší pravděpodobností. Netriviální, zejména při dynamickém vyrovnávání zátěže. 6 Sekvenční algoritmus simulovaného žíhání Paralelní simulované žíhání {current_solution := initial_solution; Pracuje se paralelně na několika verzích s různými current_cost := evaluate(current_solution); T:= initial_temp} WHILE (T > T final ) generátory náhodných čísel. Po určité době se zjistí kdo má nejlepší řešení a s tím i:= FOR iteration (T) pokračují všichni dál. new_solution := move (current_solution) Nebo se z několika nejlepších řešení vytvoří nová new_cost := evaluate (new_solution) E := new_cost - current_cost generace genetickým algoritmem if (paralelní genetické simulované žíhání). ( E OR exp(- E /T) > random ( )) current_solution := new_solution current_cost := new_cost T := next_temp (T); 7 8
4 Genetické algoritmy (GA) Genetické algoritmy (GA) - pokrač. = stochastická metoda globálního prohledávání a optimalizace pracuje s populací potenciálních řešení založena na principech přírodního vývoje (přežití jedinců nejvíce fit) jedinci reprezentováni řetězci, chromozomy abeceda řetězců = geny (binární, int, real) vhodnost (fitness) i-tého jedince v populaci x je určována použitím cenové funkce c(x i ) fitness je základem pro výběr dvojic jedinců kteří se budou účastnit reprodukce - jsou vybíráni z populace s pravděpodobností úměrnou jejich relativní fitness fitness se odvodí z cenové funkce: fitness f = a*c(x i )+ b max cost = = a + b min cost = = a + b f = - * c(x), rel.fitness = f (x i ) / Σ f (x i ) [%] 9 Výběr ruletovým kolem: obvod i = = Σ f (xi) i. Generuj náhodné číslo v intervalu <, Σ f (x i ) >. Najdi je na obvodu, urči i. Vyber chromosom ( i ). Vyber chromosom ( j ). Vytvoř nový chromosom rekombinací i a j f (xi) Rekombinace: dva potomci vzniknou - jedním překřížením - vícebodovým překřížením Mutace - aplikována náhodně s nízkou pravděpodobností (. -.), změna jednoho bitu, výměna hodnot atp. Genetické algoritmy - pokrač. Genetické algoritmy - pokrač. -- sekvenční algoritmus t = initialize P(t) -- random gen. evaluate P(t) WHILE (NOT finished) t = t + select P(t) from P(t-) reproduce pairs in P(t) Vícebodové překřížení Multipoint crossover (m=) Inicializace GA: počáteční populace je generována náhodně Vložení nových jedinců do staré generace: nemají-li nová a stará generace stejnou velikost, potřebujeme strategii nahrazování (replacement strategy): - jedinci nejméně fit jsou nahrazováni deterministicky - nejstarší jedinci jsou rušeni - - jedinci nejvíc fit jsou vždy drženi v nové generaci (tzv. elitářská strategie (elitist strategy) Zakončení GA: - po daném počtu generací - jakmile je f(x) < ε Paralelní genetické algoritmy Difuzní genetické algoritmy (DT). Globální GA - jedna populace GA farmář: výběr dvojic ruletou a odesílání GA dělník: rekombinace, mutace, vyhodnocení ceny. Migrační GA - několik sub-populací, čas od času nejlepší jedinci migrují mezi sub-populacemi: WHILE NOT finished Selection Reproduction Evaluation PAR Send emigrants Receive immigrants. Difuzní GA, sousedské GA, buňkové GA Také známé jako sousedské GA, buňkové GA -- každý uzel ( i, j ) na D-toru: WHILE NOT finished Vyhodnoť PAR Pošli sebe sousedům Přijmi sousedy Vyber partnera Reprodukuj Použití: vyvíjející se hardware,
5 Příklad na GA: návrh zásobníkového filtru Zpracování D-signálu zásobníkovým filtrem Aplikace: potlačení šumu v to D nebo D signálech zásobníkové filtry jsou adaptivní a nelineární užívají tzv. pozitivní bool. funkce pbf (které mohou být vyjádřeny v CNF bez negovaných proměnných, např. f = x x + x x + x x (majorita) filtrační vlastnost pbf (vyhlazování obrazů) vychází z jejich monotonicity x y f(x) f(y) [ (x y) i ( x i = y i = ) ] S, počet pbf of n = 9 proměnných: pro filter D je : 6 < S <. Problém: najít pbf 9 proměnných s nejlepší filtrační schopností. Celkem je součinů 9 proměnných = genů v chromozomu = 9 9 = signál práh f (,,) = práh f (,,) = práh f (,,) = aritm.sum výstup Threshold Práh Práh Práh f f f Σ 6 Podrobnosti návrhu zásobníkového filtru Problém nejkratších cest mezi všemi páry uzlů Rozměr obrazu: 6 6 Okénko pro vyhodnocování fitness: nejdůležitější výřez pixelů Podrobnosti implementace GA: - chromosomů/ populaci - generací, rekombinace: jedno- a dvou-bodové překřížení - cenová funkce vrací údaj, jak blízko je restaurovaný obraz původnímu obrázku bez šumu: střední absolutní chyba MAE = I i, j) I ( i, j) n - vyhodnocení fitness =. s na SparcStation / ( hodina/k pixelů) - paralelní implementace: globální GA + lokální gradientové hledání po bitech (sekvence mutací); nejlepší chromosom se hledá lokálně každých generací (poprvé gen.) - COW: doba řešení pro P = 6 byla min, pro P = jedna hodina. image ( 7 Obecná formulace (orientovaný graf, plně propojený) Graf G(V,E) E hrana D 6 cesta 8 Nejkratší cesty z jednoho uzlu grafu Nejkratší cesty z jednoho uzlu grafu (Dijkstrův sekvenční algoritmus) Neorientovaný graf prohledávání do šířky, O(n ) 6 9 Neorientovaný graf Efektivní prohledávání, O(n ) min(, +) min(, +) Minimum v řádku: udává určený uzel (known). Je-li vzdálenost dosud neurčených uzlů od src přes poslední určený uzel kratší, je třeba ji v dalším kroku aktualizovat.
6 Nejkratší cesty z jednoho uzlu grafu (src) (paralelně) Deklarace a inicializace: int n, # počet uzlů grafu; indexy uzlů: (src),,,..., n- P, # počet procesorů, indexy,,..., P lastknown = ; # index uzlu, jehož min. vzdálenost od src # byla určena v předchozím cyklu bool known[:n-]; # true, když min. vzdálenost uzlu od src byla určena, jinak false; inicializován na [true, false, false,..., false] int minx[:p]; # indexy uzlů nejbližších k src nahlášené jednotlivými procesory int E[:n-,:n-]; #matice hran, váha hrany mezi uzly int D[:n-]; # hledaný vektor min. vzdáleností uzlů od src (), inicializován na E[,*] Nejkratší cesty v grafu - SV program (SPMD) process worker [id = to P] { npp = n/p; base = npp*(id-); for [i = to n-] {# pro každý uzel kromě src for [j=base to base+npp-] { # u svých neurčených uzlů if (Not known[j]) # aktualizuj min.vzdálenosti: D[j]= min(d[j],d[lastknown]+e[lastknown,j]); bariéra(id); ze svých zbývajících neurčených uzlů najdi stromovou redukcí index lokálního uzlu nejbližšího k src a ulož jej do minx[id]; bariéra(id); index uzlu minx[id] s globálně nejmenší D[id]do minx[]; bariéra(id); if (id = ) {# jen procesor provede aktualizaci lastknown=minx[]; known[lastknown]= true; } } } Největší známé prvočíslo Elektronický časopis HPCwire, 7.prosince Nejnovější prvočíslo lze zapsat ve tvaru ^,66,97 -, obsahuje,,96 číslic a jeho ruční zápis by trval kolem týdnů. (Na nalezení prvočísla s více než 7 číslic je vypsána odměna USD $ ). bylo objeveno Michaelem Cameronem, -letým účastníkem projektu Great Internet Mersenne Prime Search (Gimps)., dobrovolníků z řad domácích uživatelů, studentů, škol, univerzit a podniků z celého světa přispělo do Gimps; nalezení nového prvočísla spotřebovalo, roků strojového času během dvou let nepřetržité práce. Mersennova prvočísla jsou důležitá pro teorii čísel a mohou napomoci při vývoji neporazitelných kódů a šifrování zpráv. 6
Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch
Cvičení předmětu MI-PAR P. Tvrdík, I. Šimeček, M. Šoch pavel.tvrdik,xsimecek,soch@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze 2011 MI-PAR, ZS2011/12, Cv.1-6 Příprava
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
Vzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
Numerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node
State Space Search Po spuštění appletu se na pracovní ploše zobrazí stavový prostor první předpřipravené úlohy: - Zeleným kroužkem je označen počáteční stav úlohy, který nemůže být změněn. - Červeným kroužkem
4EK213 Lineární modely. 10. Celočíselné programování
4EK213 Lineární modely 10. Celočíselné programování 10.1 Matematický model úlohy ILP Nalézt extrém účelové funkce z = c 1 x 1 + c 2 x 2 + + c n x n na soustavě vlastních omezení a 11 x 1 + a 12 x 2 + a
Optimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
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.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
Metody lineární optimalizace Simplexová metoda. Distribuční úlohy
Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního
Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví
Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém
Úvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
Evoluční výpočetní techniky (EVT)
Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich
Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest
Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem
Jak se matematika poučila v biologii
Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika
1 Úvod do celočíselné lineární optimalizace
Úvod do celočíselné lineární optimalizace Martin Branda, verze 7.. 7. Motivace Reálné (smíšeně-)celočíselné úlohy Optimalizace portfolia celočíselné počty akcií, modelování fixních transakčních nákladů,
"Agent Hledač" (3. přednáška)
"Agent Hledač" (3. přednáška) Přehled 3. přednášky v této přednášce se budeme zabývat "goal-based" agenty Přehled 3. přednášky v této přednášce se budeme zabývat "goal-based" agenty připomeňme, že "goal-based"
Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová
Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy
Třídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
Paralelní grafové algoritmy
Paralelní grafové algoritmy Značení Minimální kostra grafu Nejkratší cesta z jednoho uzlu Nejkratší cesta mezi všemi dvojicemi uzlů Použité značení Definition Bud G = (V, E) graf. Pro libovolný uzel u
12. Globální metody MI-PAA
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
Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů
Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému
OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
11. Tabu prohledávání
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
Dynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu
ČVUT FEL X36PAA - Problémy a algoritmy 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,
Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant
Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je
PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
PROHLEDÁVÁNÍ GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 4 Evropský sociální fond Praha & EU: Investujeme do
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
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
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
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,
ALGORITMY A DATOVÉ STRUKTURY
Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu
PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods
CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb
Hledáme efektivní řešení úloh na grafu
Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
07 Základní pojmy teorie grafů
07 Základní pojmy teorie grafů (definice grafu, vlastnosti grafu, charakteristiky uzlů, ohodnocené grafy) Definice grafu množina objektů, mezi kterými existují určité vazby spojující tyto objekty. Uspořádaná
Metaheuristiky s populacemi
Metaheuristiky s populacemi 8. března 2018 1 Společné vlastnosti 2 Evoluční algoritmy 3 Optimalizace mravenčí kolonie Zdroj: El-Ghazali Talbi, Metaheuristics: From Design to Implementation. Wiley, 2009.
jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky
Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze
Matice sousednosti NG
Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
Genetické programování
Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT
PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová
Rekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
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
Stromy úvod 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 Neorientovaný strom Orientovaný strom Kořenový orientovaný
Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma
Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky
Úvod do optimalizace, metody hladké optimalizace
Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady
3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem
ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte
Použití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Markov Chain Monte Carlo. Jan Kracík.
Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),
Seminář z umělé inteligence. Otakar Trunda
Seminář z umělé inteligence Otakar Trunda Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup:
Základy umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
OSA. maximalizace minimalizace 1/22
OSA Systémová analýza metodika používaná k navrhování a racionalizaci systémů v podmínkách neurčitosti vyšší stupeň operační analýzy Operační analýza (výzkum) soubor metod umožňující řešit rozhodovací,
u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming
Průběžná písemná práce Průběžná písemná práce Obsah: Průběžná písemná práce Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ délka pro vypracování: 25 minut nejsou povoleny žádné materiály
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
Umělá inteligence I. Roman Barták, KTIML.
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Minule jsme si řekli, jak využívat heuristiky v prohledávání a jak konstruovat heuristiky BFS,
Standardní algoritmy vyhledávací.
Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární
7. Heuristické metody
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
Heuristické řešení problémů. Seminář APS Tomáš Müller 6. 7. 2002
Heuristické řešení problémů Seminář APS Tomáš Müller 6. 7. 00 Heuristické řešení problémů Popis několika základních metod lokální prohledávání branch and bound simulated annealing, TABU evoluční algoritmy
Algoritmy na ohodnoceném grafu
Algoritmy na ohodnoceném grafu Dvě základní optimalizační úlohy: Jak najít nejkratší cestu mezi dvěma vrcholy? Dijkstrův algoritmus s t Jak najít minimální kostru grafu? Jarníkův a Kruskalův algoritmus
Přednáška 3. Rekurze 1
Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
10. Složitost a výkon
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří
6. Tahy / Kostry / Nejkratší cesty
6. Tahy / Kostry / Nejkratší cesty BI-EP2 Efektivní programování 2 LS 2017/2018 Ing. Martin Kačer, Ph.D. 2011-18 Martin Kačer Katedra teoretické informatiky Fakulta informačních technologií České vysoké
4. Úvod do paralelismu, metody paralelizace
4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.
Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace
Metody návrhu algoritmů, příklady IB111 Programování a algoritmizace 2011 Návrhu algoritmů vybrané metody: hladové algoritmy dynamické programování rekurze hrubá síla tato přednáška: především ilustrativní
2015 http://excel.fit.vutbr.cz Kartézské genetické programování s LUT Karolína Hajná* Abstract Tato práce se zabývá problematikou návrhu obvodů pomocí kartézského genetického programování na úrovni třívstupových
Algoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
Prioritní fronta, halda
Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B. 1. úloha (4 body) Kolik existuje cest délky 4 v grafu K11? 2.
PŘIJÍMACÍ TEST Z INFORMATIKY A MATEMATIKY NAVAZUJÍCÍ MAGISTERSKÉ STUDIUM V OBORU APLIKOVANÁ INFORMATIKA FAKULTA INFORMATIKY A MANAGEMENTU UNIVERZITY HRADEC KRÁLOVÉ ČÁST A Oborové číslo Hodnocení - část
Časová a prostorová složitost algoritmů
.. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová
Dynamické programování
ALG 11 Dynamické programování Úloha batohu neomezená Úloha batohu /1 Úloha batohu / Knapsack problem Máme N předmětů, každý s váhou Vi a cenou Ci (i = 1, 2,..., N) a batoh s kapacitou váhy K. Máme naložit
TGH06 - Hledání nejkratší cesty
TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 31. března 2015 Motivační problémy Silniční sít reprezentovaná grafem. Ohodnocené hrany - délky silnic. Najdi nejkratší/nejrychlejší
TGH06 - Hledání nejkratší cesty
TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa
Dynamické programování
ALG 0 Dynamické programování zkratka: DP Zdroje, přehledy, ukázky viz https://cw.fel.cvut.cz/wiki/courses/a4balg/literatura_odkazy 0 Dynamické programování Charakteristika Neřeší jeden konkrétní typ úlohy,
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
Dynamické rozvrhování
Dynamické rozvrhování Hana Rudová Fakulta informatiky, Masarykova universita http://www.fi.muni.cz/~hanka Informatické kolokvium, 9.10.2007 Dynamické rozvrhování (Dynamic scheduling) 1 Úvod 2 Popis problému
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ
ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2/2, Lekce Evropský sociální fond Praha & EU: Investujeme
Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty
Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace
Algoritmy a datové struktury
Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá
Obsah: Problém osmi dam
Prohledávání stavového prostoru leš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Problém osmi dam Prohledávání stavového prostoru Neinformované prohledávání Úvod do umělé inteligence
4EK311 Operační výzkum. 1. Úvod do operačního výzkumu
4EK311 Operační výzkum 1. Úvod do operačního výzkumu Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka Garant kurzu:
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
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 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Datové typy a struktury
atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro
13. Lineární programování
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
MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ
ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta stavební MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ Studijní program: Stavební inženýrství Studijní obor: Fyzikální a materiálové inženýrství Vypracovala: Ing. Markéta
Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.
Stromy Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2018, B6B36DSA 01/2018, Lekce 9 https://cw.fel.cvut.cz/wiki/courses/b6b36dsa/start
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit
Teorie grafů zadání úloh letní semestr 2008/2009 Poslední aktualizace: 19. května 2009 Obsah Úloha číslo 1 5 Úloha číslo 2 6 Úloha číslo 3 7 Úloha číslo 4 8 Úloha číslo 5 9 Úloha číslo 6 10 Úloha číslo
Dynamické datové struktury III.
Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované
Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/
Genetické algoritmy Jiří Vomlel Laboratoř inteligentních systémů Vysoká škola ekonomická Praha Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/ Motivace z Darwinovy teorie evoluce Přírodní
1. Úvod do genetických algoritmů (GA)
Obsah 1. Úvod do genetických algoritmů (GA)... 2 1.1 Základní informace... 2 1.2 Výstupy z učení... 2 1.3 Základní pomy genetických algoritmů... 2 1.3.1 Úvod... 2 1.3.2 Základní pomy... 2 1.3.3 Operátor
Přijímací zkouška - matematika
Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,