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.



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

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

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

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

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

TGH08 - Optimální kostry

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

TGH12 - Problém za milion dolarů

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

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

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

Výpočetní složitost algoritmů

NP-úplnost problému SAT

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

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

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

10 Přednáška ze

Přijímací zkouška - matematika

Dijkstrův algoritmus

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

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

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

1. přednáška 1. října Kapitola 1. Metrické prostory.

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

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

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

8 Přednáška z

= 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

Vrcholová barevnost grafu

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

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

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

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

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

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

1 Lineární prostory a podprostory

Matematika III 10. přednáška Stromy a kostry

Jarníkův algoritmus. Obsah. Popis

Definice 1 eulerovský Definice 2 poloeulerovský

Algoritmizace prostorových úloh

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

12. Aproximační algoritmy

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

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

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

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

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

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

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

07 Základní pojmy teorie grafů

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

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

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

Algoritmy na ohodnoceném grafu

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

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

TGH06 - Hledání nejkratší cesty

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

NP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32

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 2015

Použití dalších heuristik

Další NP-úplné problémy

DISKRÉTNÍ MATEMATIKA PRO INFORMATIKY II

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.

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

GRAFY A GRAFOVÉ ALGORITMY

Jan Březina. 7. března 2017

10. Složitost a výkon

MATEMATIKA A 3 Metodický list č. 1

Úvod do informatiky. Miroslav Kolařík

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

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

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

P 1 = P 1 1 = P 1, P 1 2 =

Metody síťové analýzy

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

10 Podgrafy, isomorfismus grafů

Vzdálenost uzlů v neorientovaném grafu

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

25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

Často potřebujeme hledat mezi dvěma vrcholy grafu cestu, která je v nějakém

TGH06 - Hledání nejkratší cesty

Úvod do teorie grafů

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Složitost a moderní kryptografie

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

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

Matematická logika. Rostislav Horčík. horcik

Důkazy vybraných geometrických konstrukcí

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

Grafové algoritmy. Programovací techniky

Vzorce počítačové grafiky

TEORIE GRAFŮ TEORIE GRAFŮ 1

1. Nejkratší cesta v grafu

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

Transkript:

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. Poznámka:Slovem okružní myslíme,žecestakončívestejném městě, kde začíná.

Příklad instance problému:

Příklad instance problému: Nejkratší okružní cesta má délku 8.

Můžeme uvažovat dvě různé varianty tohoto problému: Každé město musí být navštíveno právě jednou. Města je možné navštěvovat opakovaně.

V následujícím výkladu se nám bude hodit poněkud formálnější definice problému: Na instanci problému(tj. množinu měst a vzdálenosti mezi nimi) semůžemedívatjakonaúplnýneorientovanýgrafg=(v,e) sohodnocenímhrand(kded:e N). ProlibovolnoumnožinuhranE Edefinujeme d(e )= e E d(e) ProlibovolnýcyklusCpakdefinujemed(C)=d(E ),kdee je množinahranležícíchnacykluc.

Problém TSP pak můžeme formulovat následovně: Problém obchodního cestujícího(tsp) Vstup:ÚplnýneorientovanýgrafG=(V,E)sohodnocením hran d. Výstup: Cyklus C procházející všemi vrcholy grafu G takový, žehodnotad(c)jeminimálnímožná.

Následující problém je NP-úplný(ať už je či není povoleno navštěvovat vrcholy opakovaně): Problém obchodního cestujícího(tsp) rozhodovací varianta Vstup:ÚplnýneorientovanýgrafG=(V,E)sohodnocením hrandačíslol. Otázka: Existuje v grafu G cyklus C procházející všemi vrcholytakový,žed(c) L? Poznámka: Nemůžeme tedy očekávat, že by problém TSP(ať už vtéčionévariantě)bylřešitelnývpolynomiálnímčase,ledažeby platilo PTIME = NPTIME.

Pro problém TSP, kde vyžadujeme aby byl každý vrchol navštíven právě jednou, se dá dokázat následující: Tvrzení Pokud PTIME NPTIME, pak pro problém TSP neexistuje k-aproximační algoritmus pro žádné k.

Pro problém TSP, kde vyžadujeme aby byl každý vrchol navštíven právě jednou, se dá dokázat následující: Tvrzení Pokud PTIME NPTIME, pak pro problém TSP neexistuje k-aproximační algoritmus pro žádné k. Důkaz(náznak): Ukáže se, jak bychom pomocí polynomiálního k-aproximačního algoritmu pro TSP vytvořili polynomiální algoritmus řešící problém HK(problém hamiltonovské kružnice), okterémjeznámo,žejenp-úplný. (Konstrukce je podobná jako konstrukce v důkazu NP-obtížnosti problému TSP převodem z problému HK.)

Není těžké si rozmyslet, že varianta TSP kde je povoleno opakovaně navštěvovat vrcholy se dá snadno převést na variantu, kde musí být každý vrchol navštíven právě jednou: ProdanýgrafGsohodnocenímdsestrojímenové ohodnoceníd,kded (u,v)jedélkanejkratšícestyzudov Poznámka: Pro nalezení nejkratších cest mezi dvojicemi vrcholů existují rychlé polynomiální algoritmy(např. Dijkstrův, Floydův-Warshallův apod.) Grafsohodnocenímd navícsplňujetzv.trojúhelníkovou nerovnost.

V grafu G s ohodnocením d je splněna trojúhelníková nerovnost, jestližeprolibovolnoutrojicijehovrcholůu,v,wplatí d(u,w) d(u,v)+d(v,w) v d(u, v) d(v, w) u d(u, w) w Tj.nejkratšícestazudowjevždypohraně(u,w)anemácenu jít oklikou přesnějakýjinývrchol.

Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP.

Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP. Pro problém -TSP je znám /-aproximační polynomiální algoritmus, tj. algoritmus, který pro daný graf G s ohodnocením d vrátí cyklus C procházející všemi vrcholy takový, že d(c) d(c ) kdec optimálnířešení(tj.cyklussminimálníhodnotoud(c )).

Variantu TSP, ve které se omezujeme pouze na instance, ve kterých je splněna trojúhelníková nerovnost(a kde musí být každý vrchol navštíven právě jednou), označujeme -TSP. Pro problém -TSP je znám /-aproximační polynomiální algoritmus, tj. algoritmus, který pro daný graf G s ohodnocením d vrátí cyklus C procházející všemi vrcholy takový, že d(c) d(c ) kdec optimálnířešení(tj.cyklussminimálníhodnotoud(c )). My si ukážeme poněkud jednodušší -aproximační polynomiální algoritmus pro problém -TSP.

Před vlastním popisem algoritmu si připomeňme některé pojmy: KostragrafuG=(V,E)jelibovolnýsouvislýacyklickýgraf T=(V,E ),kdev=v ae E(tj.Tjesouvislýpodgraf grafugobsahujícívšechnyvrcholyzg). Hodnotu d(t) definujeme jako součet hodnot hran v této kostře, tj.d(t)=d(e ). KostraTjeminimální,jestližeprolibovolnoujinoukostruT vgrafugplatíd(t) d(t ). Pro problém nalezení minimální kostry v daném ohodnoceném grafu jsou známy rychlé polynomiální algoritmy(např. Kruskalův nebo Jarníkův(Primův)).

PříkladkostryT,kded(T)=8:

PříkladminimálníkostryT,kded(T)=6:

-aproximační algoritmus pro -TSP pracuje v následujících krocích: Najde minimální kostru grafu G. Vytvoří uzavřený tah podél této kostry. Z vytvořeného tahu odstraní opakující se vrcholy a výsledný cyklus vrátí jako výsledek.

Vezměme si následující instanci -TSP.

Krok : Nalezení minimální kostry T

Krok : Nalezení minimální kostry T

Všimněmesi,žed(T) <d(c ): PokudzC odstranímelibovolnouhranu,dostaneme kostrut. Zjevněplatíd(T ) <d(c ). ProlibovolnoukostruT platíd(t) d(t ).

Příklad: Vezměme si optimální cyklus

Příklad: Odstraněním jedné hrany vznikne kostra

Krok : Nalezení minimální kostry

Krok : Vytvoření tahu C podél kostry

Krok : Vytvoření tahu C podél kostry Každou hranu procházíme dvakrát, platí tedy d(c)=d(t) <d(c ).

Krok : Vytvoření tahu C podél kostry

Krok : Postupné vypouštění opakujících se vrcholů z tahu C Každé vypuštění vrcholu tah leda zkrátí.

Krok : Postupné vypouštění opakujících se vrcholů z tahu C Každé vypuštění vrcholu tah leda zkrátí.

Krok : Postupné vypouštění opakujících se vrcholů z tahu C Každé vypuštění vrcholu tah leda zkrátí.

Nalezený cyklus: