Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]

Slides:



Advertisements
Lignende præsentationer
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17] Gerth Stølting Brodal.
Advertisements

Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal.
1 Går fra at vil maksimere dækning til at minimere omkostning Det kender vi fra den anden bog Omkostningen er afstanden gange antal enheder der skal transporteres.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Representations for Path Finding in Planar Environments.
Algoritmer (v. lektor Gerth S. Brodal) Hør om metoder til at beregne gode GPS kørevejledninger og tog- og flyforbindelser, og hvad problemstillingerne.
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS, kapitel 15] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Grafer og Algoritmer Rasmus D. Lehrmann DM
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Maksimale Strømninger [CLRS, kapitel ]
Algoritmer og Datastrukturer 2 Maksimale Strømninger [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet Ford-Fulkerson.
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
Grafalgoritmer II.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24, ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet MasterClass i Matematik, 10. april 2014, Aarhus Universitet.
1 Korteste veje. 2 Vægtede grafer I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt Vægte kan repræsentere afstande,
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel 24]
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel ]
Clicker Test a)Ja b)Nej c)Ved ikke. Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Suffix træer og Suffix arrays [GT, kapitel 9.2],[Smyth, kapitel 5.3.2] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Suffix træer og Suffix arrays [Smyth, kapitel 5.3.2], [GT, kapitel 9.2] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Suffix træer [GT, kapitel 9.2], Suffix arrays [Smyth, kapitel 5.3.2]
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Topologisk Sortering, Stærke Sammenhængskomponenter [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Heaps [CLRS, kapitel 6] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24, ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel 24, ]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Korteste Veje [CLRS, kapitel ]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel 24]
Algoritmer og Datastrukturer 1
Union-Find [CLRS, kapitel ]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 2 Korteste Veje [CLRS, kapitel ]
Algoritmer og Datastrukturer 2
Grundlæggende Algoritmer og Datastrukturer
Grundlæggende Algoritmer og Datastrukturer
Grundlæggende Algoritmer og Datastrukturer
Grundlæggende Algoritmer og Datastrukturer
Præsentationens transcript:

Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]

Minimum Udspændende Træ (MST) Problem Find et udspændende træ for en sammenhængende uorienteret vægtet graf således at summen af kanterne er mindst mulig

En anvendelse af MST : (Euklidisk) Korteste Hamiltonske Cykel Sætning : Touren fundet vha. et MST er en 2-approximation til en korteste cykel ( |Touren| ≤ 2  |MST| og |MST| ≤ |korteste cykel| )

Minimum Udspændende Træer: Snit Sætning Hvis alle vægte er forskellige, så gælder der for ethvert snit (S,V-S) at den letteste kant der krydser snittet er med i et minimum udspændende træ

e’ = 9 e = snit Nyt udspændende træ med mindre vægt Antag modsætningsvis et MST med et snit hvor mindste kant e ikke er med i MST u v u v Sætning Hvis alle vægte er forskellige, så gælder der for ethvert snit (S,V-S) at den letteste kant der krydser snittet er med i et minimum udspændende træ

Sætning Hvis alle vægte er forskellige, så gælder der for enhver cykel at den tungeste kant i cyklen ikke er med i et minimum udspændende træ e = 7 v u e’ = 5 7 v u 5 Nyt udspændende træ med mindre vægt Antag modsætningsvis et MST og cykel hvor tungeste kant e er med i MST

Minimum Udspændende Træer: Grådig generel algoritme En letteste kant over et snit (som ikke allerede indeholder kanter fra A)

Kruskall’s Algoritme flaskehals i algoritmen Tid O(m·log n) Union-Find datastruktur O(m  (n)) [CLRS, Sætning 21.14]

Kruskall’s Algoritme: Eksempel Kantene betrages efter stigende vægte (angivet med ) For hver kant er angivet snittet hvor den er en letteste kant eller cyklen hvor den er en tungeste kant

Prim’s Algoritme Tid O(m·log n) flaskehals i algoritmen - prioritetskø r

Prim’s Algoritme: Eksempel

Eksamensopgave 3(c) august 2005

Minimum Udspænding Træer Kruskall (1956) (mange træer; sorterer kanterne) O(m·log n) Prim (1930) (et træ; prioritetskø over naboknuder) O(m·log n) O(m+n·log n) (Fibonnaci heaps [CLRS, kapitel 19] (1984)) Borůvka (1926) (mange træer samtidigt; kontraktion) O(m·log n) Fredman, Tarjan (1984) (Borůvka (1926) + Fibonnaci heaps) O(m·log* n) Chazelle (1997) O(m·α(m,n)) Pettie, Ramachandran (2000) ? (men optimal determinisk sammenligningsbaseret) Karger, Klein, Tarjan (1995) (Randomiseret) Fredmand, Willard (1994) (RAM) O(m)

(Euklidiske) Steiner Træer Jakob Steiner [ ] Givet en mængde punkter, find et træ med minimum vægt som forbinder alle knuder, muligvis ved at tilføje nye punkter Minimum udspændende træ Steiner træ Steiner punkt NP hårdt; polynomial-time approximation scheme (PTAS) IKKE PENSUM

Korteste Veje : A* Heuristik Intuitivt: Tildel hver punkt x en højde h(x), og erstat vægten w(u,v) med w’(u,v) = w(u,v) + h(v) – h(u) IKKE PENSUM område besøgt af Dijkstra’s algoritme A B område besøgt af A* A B Korteste stier forbliver korteste stier (dog h(B)-h(A) længere) Kan anvende Dijkstra’s algoritme hvis w’(u,v)  0 Euklidisk: Anvend f.eks. h(x) = |B - x|

Korteste veje : Dobbeltrettet Intuitivt: Start Dijkstra’s algoritme både i A og B IKKE PENSUM område besøgt af Dijkstra’s algoritme A B A B

Korteste veje : Preprocessering A Hub-Based Labeling Algorithm for Shortest Paths in Road Networks, Ittai Abraham, Daniel Delling, Andrew V. Goldberg, Renato F. Werneck (SEA’2011) IKKE PENSUM