Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

5/4, Folie 1 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Gliederung Divide and Conquer Dynamisches.

Ähnliche Präsentationen


Präsentation zum Thema: "5/4, Folie 1 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Gliederung Divide and Conquer Dynamisches."—  Präsentation transkript:

1 5/4, Folie 1 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Gliederung Divide and Conquer Dynamisches Programmieren Greedy-Algorithmen 1.Grundlagen 2.Analyse der Laufzeit von Algorithmen 3.Untere Schranken für algorithmische Probleme 4.Sortier- und Selektionsverfahren 5.Paradigmen des Algorithmenentwurfs 6.Ausgewählte Datenstrukturen 7.Algorithmische Geometrie 8.Umgang mit algorithmisch schwierigen Problemen

2 5/4, Folie 2 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs wir schauen uns ein Beispiel für einen Greedy-Algorithmen in der Graphentheorie genauer an Algorithmus von Kruskal zum Bestimmen minimal spannender Bäume in ungerichteten kantengewichteten Graphen ... weiteres Vorgehen Gliederung... wir wählen einen anderen Blick auf diesen bekannten Standard- Algorithmus (/* Ziel: zeigen, dass dieser Algorithmus das leistet, was er leisten soll */)

3 5/4, Folie 3 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Grundbegriffe ungerichteter kantengewichteter Graph G = (V,E,w(.)), wobei gilt: V ist die Menge der Knoten von G E  { { u,v } | u,v  V } w(.) ist eine Funktion, die jeder Kante in e  E ihr Gewicht, d.h. eine Zahl w(e) zuordnet das Gewicht w(G) eines ungerichteten kantengewichteten G entspricht der Summe der Gewichte der Kanten von G

4 5/4, Folie 4 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Grundbegriffe (cont.) ein ungerichteter Graph G ist zusammenhängend, wenn für jedes Knotenpaar (u,v) gilt, dass es in G einen Pfad gibt, der vom Knoten u zum Knoten v geht ein ungerichteter Graph G ist kreisfrei, wenn es für keinen Knoten u in G ein Pfad mit einer Länge größer 2 gibt, der vom Knoten u zum Knoten u geht ein ungerichteter Graph G ist ein Baum, wenn G zusammenhängend und kreisfrei ist

5 5/4, Folie 5 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  zentraler Begriff es sei G = (V,E) ein ungerichteter Graph es sei G‘ = (V‘,E‘) mit V‘  V und E‘  E ein Baum G‘ ist ein spannender Baum in G, falls V‘ = V gilt

6 5/4, Folie 6 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  grundlegende Eigenschaft spannender Bäume es sei G = (V,E) ein ungerichteter Graph es sei G‘ = (V‘,E‘) ein spannender Baum in G dann gilt:... wenn G‘ weniger Kanten hat, kann G nicht zusammenhängend sein, und wenn G‘ mehr Kanten hat, kann G nicht kreisfrei sein G‘ hat genau eine Kante weniger als es Knoten in G gibt, d.h. |E‘| = |V| - 1

7 5/4, Folie 7 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  grundlegende Eigenschaft zusammenhängender Graphen es sei G = (V,E) ein ungerichteter zusammenhängender Graph dann gilt:... das zeigt man am besten induktiv über die Anzahl der Knoten in G Es gibt einen spannenden Baum G‘ = (V‘,E‘) in G.

8 5/4, Folie 8 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  noch ein zentraler Begriff (cont.) es seien G = (V,E) ein ungerichteter Graph und w(.) eine Gewichts- funktion, d.h. (V,E,w(.)) ist ein ungerichteter Graph es sei G‘ = (V‘,E‘) ein spannender Baum für G G‘ ist ein minimal spannender Baum für G, falls es keinen spannenden Baum G‘‘ = (V‘‘,E‘‘) für G gibt, so dass w(G‘‘) < w(G‘) gilt

9 5/4, Folie 9 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs  interessierendes Optimierungsproblem (/* Minimierungsproblem */) ungerichteter zusammenhängender Graph G = (E,V) Gewichtsfunktion w(.) einen minimal spannenden Baum G‘ in G zulässige Eingaben: Zulässige Ausgaben: Beispiel – Minimal spannende Bäume

10 5/4, Folie 10 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs  Algorithmus von Kruskal zur Bestimmung minimal spannender Bäume klassischer Greedy-Algorithmus (/* aber für ein Minimierungsproblem */) bevor wir den Algorithmus beschreiben und analysieren, brauchen wir noch eine Hilfsbegriff und ein „kleines“ Resultat Beispiel – Minimal spannende Bäume

11 5/4, Folie 11 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs  Hilfsbegriff es sei G = (V,E) ein ungerichteter Graph es sei E‘  E dann bezeichnen wir mit V(E‘) die Menge der Knoten, die Ecken von Kanten in E‘ sind den ungerichteten Graphen G‘ = (V(E‘)‘,E‘) nennen wir den durch E‘ induzierten Teilgraphen von G Beispiel – Minimal spannende Bäume

12 5/4, Folie 12 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs  ein „kleines“ Resultat es sei G = (V,E) ein ungerichteter Graph es sei E‘  E dann gilt: Wenn E‘ genau eine Kante weniger enthält, als es Knoten in G gibt, und der durch E‘ induzierte Teilgraph G‘ = (V(E‘),E) kreisfrei ist, so ist G‘ auch zusammenhängend, d.h. G‘ ist dann auch ein spannender Baum in G. Beispiel – Minimal spannende Bäume... das zeigt man am besten induktiv über die Anzahl der Knoten in G

13 5/4, Folie 13 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs  Algorithmus von Kruskal (/* Details */) es sei G = (V,E) ein ungerichteter Graph es sei w(.) eine Gewichtsfunktion, die jeder Kante e  V ein Gewicht w(e) zuordnet 1.sortiere die Kanten in G aufsteigend nach ihrem Gewicht (/* Ergebnis: e 1,e 2,...,e n mit w(e 1 ) ≤ w(e 2 ) ≤... ≤ w(e n ) */) 2.setze E‘ =  und i = 1 3.while ( |E‘| < |V| - 1 ): teste, ob der von E‘‘ = E‘  { e i } induzierte Teilgraph G‘‘= (V(E‘‘),E) kreisfrei ist falls ja, setze E‘ = E‘‘ setze i = i +1 4.gib den durch E‘ induzierten Teilgraphen G‘ = (V‘,E‘) aus Beispiel – Minimal spannende Bäume

14 5/4, Folie 14 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} Beispiel – Minimal spannende Bäume

15 5/4, Folie 15 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E}  Beispiel (cont.) E‘ = { {A,C} } Beispiel – Minimal spannende Bäume

16 5/4, Folie 16 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel (cont.) {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} E‘ = { {A,C},{B,C} } Beispiel – Minimal spannende Bäume

17 5/4, Folie 17 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel (cont.) {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} E‘ = { {A,C},{B,C} } Minimal aufspannende Bäume

18 5/4, Folie 18 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel (cont.) {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} E‘ = { {A,C},{B,C},{A,E} } Beispiel – Minimal spannende Bäume

19 5/4, Folie 19 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel (cont.) {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} E‘ = { {A,C},{B,C},{A,E},{B,D} } Beispiel – Minimal spannende Bäume

20 5/4, Folie 20 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs C A D B E  Beispiel (cont.) {A,C},{B,C},{A,B},{A,E},{B,D},{C,D},{D,E},{A,D},{B,E},{C,E} E‘ = { {A,C},{B,C},{A,E},{B,D} } Beispiel – Minimal spannende Bäume

21 5/4, Folie 21 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Analyse und Diskussion der Algorithmus von Kruskal benötigt O(|E|*log(|E|)) + |E|*O(|V|) viele Rechenschritte, um als Ergebnis einen kreisfreien Teilgraphen von G mit höchstens |V| - 1 Kanten zu bestimmen O(|E|*log(|E|)) viele Rechenschritte, um die Kanten von G nach ihrem Gewicht zu sortieren jeweils O(|V|) viele Rechenschritte, um zu überprüfen, ob der durch E‘‘ induzierte Teilgraph G‘‘ = (V(E‘‘),E‘‘) kreisfrei ist (/* wir wissen, dass |V(E‘‘)| ≤ |V| und |E‘‘| ≤ |V| -1 gilt und dass man mit Hilfe der Tiefensuche in der Zeit O(|V‘‘|+|E‘‘|) überprüfen kann, ob G‘‘ kreisfrei ist */)... zu zeigen bleibt, dass der Algorithmus von Kruskal einen minimal spannenden Baum in G bestimmt

22 5/4, Folie 22 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  das zugehörige Teilmengensystem es sei G = (V,E) ein ungerichteter Graph wir betrachten folgendes Teilmengensystem (E,U): die verwendete endliche Menge E ist genau die Menge der Kanten von G U enthält alle Teilmengen E‘  E für die gilt: der durch E‘ induzierte Teilgraph G‘ = (V(E‘),E‘) ist kreisfrei

23 5/4, Folie 23 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Anmerkungen man kann sich leicht davon überzeugen, dass das Teilmengensysstem (E,U) wirklich ein Teilmengensystem ist wir wissen, dass es in U nur Teilmengen E‘ mit |E‘| ≤ |V| - 1 gibt da G = (V,E) ein zusammenhängender Graph ist, wissen wir auch, dass es in U eine bzgl.  maximale Teilmenge E‘ mit |E‘| = |V| - 1 gibt... zu zeigen bleibt, dass das Teilmengensystem (E,U) die Austauscheigenschaft hat

24 5/4, Folie 24 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Nachweis der Austauscheigenschaft es seien E 1 und E 2 zwei Teilmengen aus U mit |E1| < |E2| es seien G 1 = (V(E 1 ),E 1 ) und G 2 = (V(E 2 ),E 2 ) die von E 1 und E 2 induzierten kreisfreien Teilgraphen von G wir interessieren uns für die Zusammenhangskomponenten des Teilgraphen G 1 man kann die Kanten des Teilgraphen G 2 in zwei Klassen zerlegen: Klasse 1: alle Kanten in G 2, deren Ecken Knoten einer Zusammenhangskomponente in G 1 verbinden Klasse 2: alle anderen Kanten in G 2

25 5/4, Folie 25 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Nachweis der Austauscheigenschaft (cont.) Beobachtung: in der Klasse 1 können nur so viele Kanten enthalten sein, wie es Kanten in G 1 gibt (/* andernfalls wäre G 2 nicht kreisfrei */) da G 2 mehr Kanten als G 1 hat, gibt es mindestens eine Kante e in G 2, die zur Klasse 2 gehört wir setzen nun E‘ = E 1  { e } da die Ecken der Kante e zu unterschiedlichen Zusammenhangs- komponenten des durch E 1 induzierten Teilgraphen G 1 gehören, muss der von E‘ induzierte Teilgraph G‘ = (V(E‘),E‘) kreisfrei sein also gehört die Teilmenge E‘ zu U

26 5/4, Folie 26 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Beispiel – Minimal spannende Bäume  Zusammenfassung der kanonischen Greedy-Algorithmus für das Teilmengensystem (E,U) arbeitet offenbar genauso, wie der Algorithmus von Kruskal, bei Eingabe eines zusammenhängenden ungerichteten Graphen G = (V,E) und einer Gewichtsfunktion w(.) da das zu G gehörende Teilmengensystem (E,U) die Austauscheigen- schaft hat, bestimmt der kanonische Greedy-Algorithmus eine bzgl. w(.) gewichtsminimale Teilmenge E‘ in U also ist der vom Algorithmus von Kruskal bestimmte Teilgraph G‘ = (V(E‘),E‘) ein minimal spannender Baum in G


Herunterladen ppt "5/4, Folie 1 © 2014 Prof. Steffen Lange - HDa/FbI - Algorithmik Kapitel 5: Paradigmen des Algorithmenentwurfs Gliederung Divide and Conquer Dynamisches."

Ähnliche Präsentationen


Google-Anzeigen