1. Nejkratší cesta v grafu



Podobné dokumenty
EKONOMICKO-MATEMATICKÉ METODY

SÍŤOVÁ ANALÝZA. Základní pojmy síťové analýzy. u,. Sjednocením množin { u, u,..., 2. nazýváme grafem G.

Vícekriteriální rozhodování. Typy kritérií

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

PROBLEMATIKA INTELIGENTNÍHO AUTOMATICKÉHO

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

Cvičení 13 Vícekriteriální hodnocení variant a vícekriteriální programování

Teorie her a ekonomické rozhodování. 10. Rozhodování při jistotě, riziku a neurčitosti

Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

1. Úvod. Cílem teorie her je popsat situaci, která nás zajímá, jako hru. Klasickým případem

Dijkstrův algoritmus

Dynamické programování

LINEÁRNÍ PROGRAMOVÁNÍ

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

Grafové algoritmy. Programovací techniky

Úvod do teorie grafů

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

Algoritmy na ohodnoceném grafu

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

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.

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

07 Základní pojmy teorie grafů

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

Grafové algoritmy. Programovací techniky

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Vzdálenost uzlů v neorientovaném grafu

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

ŘEŠENÍ PROBLÉMU LOKALIZACE A ALOKACE LOGISTICKÝCH OBJEKTŮ POMOCÍ PROGRAMOVÉHO SYSTÉMU MATLAB. Vladimír Hanta 1, Ivan Gros 2

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Grafové algoritmy. Programovací techniky

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

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

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

Algoritmizace prostorových úloh

Použití dalších heuristik

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

Dynamické programování

Paralelní grafové algoritmy

8 Přednáška z

TGH06 - Hledání nejkratší cesty

Problém batohu. Zdeněk Hanzálek ČVUT FEL Katedra řídicí techniky. 5. dubna 2011

Segmentace. Ilona Janáková. Rozvrh přednášky:

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

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

TGH06 - Hledání nejkratší cesty

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

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

ALGORITMUS SILOVÉ METODY

- Pokud máme na množině V zvoleno pevné očíslování vrcholů, můžeme váhovou funkci jednoznačně popsat. Symbolem ( i)

Metody vícekriteriálního hodnocení variant a jejich využití při výběru produktu finanční instituce

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

"Agent Hledač" (3. přednáška)

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

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

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

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly

II. Úlohy na vložené cykly a podprogramy

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

GRAFY A GRAFOVÉ ALGORITMY

TGH12 - Problém za milion dolarů

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

Vkládání pomocí Viterbiho algoritmu

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

= 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

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

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

Problém obchodního cestujícího

opakování reprezentace grafů, dijkstra, bellman-ford, johnson

13. Lineární programování

Agregace vzájemné spojování destabilizovaných částic ve větší celky, případně jejich adheze na povrchu jiných materiálů

Celá čísla. Celá čísla jsou množinou čísel, kterou tvoří všechna čísla přirozená, čísla k nim opačná a číslo nula.

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) (, ) =

Jan Březina. 7. března 2017

12. Aproximační algoritmy

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

Ú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ů

12. Lineární programování

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

Matice sousednosti NG

Přiřazovací problém. Přednáška č. 7

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY BAKALÁŘSKÁ PRÁCE Radka Luštincová

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

1. července 2010

popel, glum & nepil 16/28

TEORIE GRAFŮ TEORIE GRAFŮ 1

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Dynamické programování

ALGORITMY A DATOVÉ STRUKTURY

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Automatická klasifikace dokumentů do tříd za použití metody Itemsets

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

TGH08 - Optimální kostry

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

2. Posouzení efektivnosti investice do malé vtrné elektrárny

Cvičení 5 - Průchod stromem a grafem

Transkript:

08. Nekratší cesty. Úloha obchodního cestuícího. Heurstky a aproxmační algortmy. Metoda dynamckého programování. Problém batohu. Pseudopolynomální algortmy 1. Nekratší cesta v grafu - sled e lbovolná posloupnost vrcholů a hran doucí po sobě př průchodu grafem - cesta e sled bez cyklů - nstance: orentovaný graf G, váhy c : E(G) R a dva vrcholy s, t V(G) - pokud nekratší sled neobsahue cyklus záporné délky, e zároveň nekratší cestou - pokud graf obsahue cyklus se zápornou délkou, pak de o NP-obtížný problém Troúhelníková nerovnost - estlže graf neobsahue cyklus se zápornou délkou, pak pro všechny troce vrcholů,, k platí: l(,) l(,k) + l(k,)... l(,) e délka nekratší cesty z do Bellmanova rovnce - estlže graf neobsahue cyklus se zápornou délkou, pak pro všechny troce vrcholů,, k platí: l(,) mn{l(,k) + c(k,)} Podobné úlohy - hledání nedelších cest se řeší obrácením znamének u délek všech hran. Tím sme převedl hledání maxma na hledání mnma. - pokud sou ohodnocené en vrcholy a ne hrany, lze převést na hledání v grafu s ohodnoceným hranam: každý vrchol v původního grafu nahradíme dvocí vrcholů v1 a v2, spoíme e hranou o délce rovné původní hodnotě vrcholu v hrany, které končly ve vrcholu v přesměrueme do v1, hrany, které vycházely z vrcholu v budou vycházet z vrcholu v2 Dkstrův algortmus - vždy vyberu nelevněší uzel, který není closed, z tohoto uzlu zkouším pnkat do všech OPEN sousedů a zkoušíme, estl se do nch dostaneme přes tento uzel levně. Pokud ano, nastaví se nová cena a zapíše se předek na cestě do pole. - omezení: neumí grafy se záporným ohodnocením hran - mplementace pomocí prortní haldy, která rychle vrací mnmum -1-

- nekratší cesta se skládá z nekratších cest - pokud nás zaímá nekratší cesta pouze do ednoho cílového vrcholu c, lze skončt, akmle odebereme vrchol z množny R - časová náročnost algortmu e O(n2), respektve s využtím prortní fronty O(m + nlogn) Bellman-Fordův algortmus - dokáže detekovat cykly záporné délky - časová náročnost algortmu e O(nm) - umí s poradt se záporným hranam Floydův algortmus - časová náročnost algortmu e O(n 3 ) - nade nekratší cestu mez všem dvocem uzlů - graf obsahue cyklus záporné délky právě když exstue takové, že l < 0 - modfkací Floydova algortmu (l 0 = ) lze nalézt (nezáporný) cyklus o mnmální délce -2-

2. Úloha obchodního cestuícího - cíl: Rozhodnout, zda v grafu G exstue Hamltonovská kružnce (uzavřená cesta procházeící každým vrcholem právě ednou), eíž váha e mnmální - Hamltonovská kružnce e NP-úplný problém - důkaz, že TSP e slně NP-obtížný problém: 1. Polynomální redukcí vytvoříme nstanc TSP tak, že každému vrcholu grafu G odpovídá 1 vrchol v úplném neorentovaném grafu Kn. 2. váha hrany {.} v Kn e: 1 pokud {,} E(G) 3. váha hrany {.} v Kn e: 2 pokud {,} E(G) - ednoduše (v polyn. čase) lze ověřt, že G má Hamltonovskou kružnc právě když optmální řešení TSP má hodnotu n. Nebol TSP e NP-obtížný. -pro důkaz, že TSP e slně NP-obtížný musíme dokázat, že neexstue pseudo-polynomální algortmus Metrcký TSP - pokud v grafu platí troúhelníková nerovnost, pak metrcký TSP e NP-obtížný Heurstka Neblžší soused Vstup: Instance (Kn, c) Metrckého TSP Výstup: Hamltonovská kružnce H - v každém kroku e vybráno neblžší doposud nenavštívené město - není to aproxmační algortmus - časová náročnost algortmu e O(n 2 ) 2-aproxmační algortmus Dvotá mnmální kostra - Eulerovská cesta prode každou hranou právě ednou A / OPT( I(Kn, c) ) <= 2 - časová náročnost algortmu e O(n 2 ) 3/2-aproxmační Chrstofdesův algortmus - časová náročnost algortmu e O(n 3 ) Lokální prohledávání k-opt 1. použeme lbovolnou Hamltonovskou kružnc nalezenou např. heurstkou 2. toto řešení zkoušíme vylepšovat pomocí lokálních změn (např. vymazáním dvou hran rozdělíme kružnc na dvě část, které spoíme pomocí ných hran) -3-

- dovolené sou en modfkace, které vylepšuí řešení 3. Problém batohu Obrázek 1 - k OPT - nstance: n e počet předmětů, c sou ceny předmětů, w sou hmotnost předmětů a W e nosnost batohu. Cíl: Nalézt podmnožnu S {1,..., n} takovou, že w < W a c maxmální S - de o NP obtížný problém - složtost ( C n) O, kde C e suma všech cen, C ovlvňue počet sloupců tabulky - algortmus pro knapsack e pseudo-polynomální, protože eho složtost e závslá na C (může být až exponencálně velké) - eden z mála problémů, pro něž exstue aproxmační algortmus s lbovolně malou poměrnou odchylkou od optma - postup: 1. začínáme na pozc [0,0], což znamená, že v batohu e nula klo za nula korun 2. procházíme strom všech možných řešení a ořezáváme ty, které ž přerostly stanovenou nosnost batohu 3. pohyb o ednu pozc dolů znamená, že předmět do batohu nedáváme 4. pohyb o ednu pozc dolů a o w pozc doprava znamená, že předmět o váze w do batohu přdáme 5. nakonec se prode poslední řádek a nade se poslední nevětší cena 6. průchodem stromu doleva vzhůru lze zstt seznam předmětů, které se do batohu vešly S -4-

Fractonal knapsack problem = nstance úlohy taková, že předměty lze dělt na část, čl x 0<=x <=1 S c e mnmální, - řešení: seřadt předměty sestupně podle relatvní ceny nevede a doplnt zbytek částí něakého předmětu c, zaplnt batoh, až už se nc w 2-aproxmační algortmus pro Knapsack - předměty sou seřazené sestupně podle relatvní ceny h = mn{ {1,..., n} : = 1 w > w } - výběr lepšího ze dvou řešení {1,..., h-1} a {h} e 2-aproxmační algortmus - časová náročnost e O(n) c w -5-