3 Klassifikation wichtiger Optimierungsprobleme
|
|
- Gitta Gehrig
- vor 7 Jahren
- Abrufe
Transkript
1 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i<j n, die die Dreiecksungleichung erfüllen. 1+ log n 2 -Appro- In Kap. 2.5 haben wir gesehen, dass der Nearest-Neighbor-Algorithmus ein ximationsalgorithmus ist. In diesem Abschnitt werden wir Algorithmen mit konstanter Approximationsgüte kennenlernen. Grundlegend für diese Algorithmen ist der Begriff einer Euler-Tour oder eines Euler-Kreises. Wir brauchen hierzu auch das Konzept eines Multigraphen, in dem im Unterschied zu Graphen Mehrfachkanten zugelassen sind: G = (V, E), wobei E eine Kantenliste ist, in der dasselbe Knotenpaar (u, v) auch mehrmals vorkommen darf. Definition Sei G = (V, E) ein (ungerichteter) zusammenhängender Multigraph. (a) Eine Knotenfolge (v 0, v 1,..., v m ) heißt ein Euler-Kreis (oder eine Euler-Tour) in G, wenn (v i 1, v i ), 1 i m, Kanten sind und v m = v 0 ist, und wenn unter diesen m Kanten jede Kante in (Liste) E genau einmal vorkommt. (b) G heißt ein Euler-Graph oder ein Eulerscher Graph, wenn G einen Euler-Kreis besitzt. Beispiele: Eulerkreise sind also Rundreisen, bei denen jede Kante genau einmal benutzt wird. (Hamiltonkreise sind Rundreisen, bei denen jeder Knoten genau einmal benutzt wird.) Es stellt sich heraus, dass es sehr einfach ist, Eulersche Graphen zu erkennen. (Im Gegensatz zur NP- Vollständigkeit des Hamiltonkreisproblems.) Satz Ein zusammenhängender Multigraph G ist eulersch genau dann, wenn jeder Knoten in G geraden Grad hat. (Erinnerung: Der Grad deg(v) eines Knotens ist die Zahl der Kanten, die nach v führen. Bei Multigraphen ist dies streng zu unterscheiden von der Anzahl der Nachbarknoten von v.) 1
2 Beweis. : Klar: Der Eulerkreis betritt jeden Knoten ebenso oft wie er ihn verlässt. Bei jedem Besuch werden also zwei Kanten verbraucht, am Ende müssen alle Kanten verbraucht sein, also hat jeder Knoten eine gerade Anzahl von Kanten. : Wir benutzen Induktion über die Anzahl der Kanten von G. Wenn G keine Kante hat und zusammenhängend ist, besteht G nur aus einem Knoten v, und es gibt den (entarteten) Eulerkreis (v, v). Wenn G genau eine Kante hat, ist es nicht möglich, dass alle Knoten geraden Grad haben. Wenn G zwei Kanten hat, und jeder Knoten geraden Grad hat, dann hat G zwei Knoten und eine Doppelkante; offenbar gibt es einen Eulerkreis. Nun nehmen wir an, dass G mindestens 3 Kanten hat. Wir finden einen einfachen Kreis K 1 (d.h. einen Kreis ohne Knotenwiederholung) (v 0,..., v k ) in G wie folgt: Starte in einem beliebigen Knoten u 0. Weil G zusammenhängend ist, hat u 0 Grad 2, es gibt also eine Kante (u 0, u 1 ). Diese gilt nun als benutzt. Weil u 1 geraden Grad hat, gibt es eine unbenutzte Kante (u 1, u 2 ). In dieser Weise finden wir Knoten u 3, u 4,... (in jedem besuchten Knoten gibt es mindestens eine unbenutzte Kante, auf der wir den Knoten wieder verlassen können), bis zum ersten Mal u t = u s wird, für ein s < t. Dann bildet (u s, u s+1,..., u t ) den gewünschten einfachen Kreis K 1 (Länge k = t s). Wir entfernen die Kanten von K 1 aus G. Dadurch zerfällt G eventuell in einige Zusammenhangskomponenten G 1,..., G t. (Davon können manche auch nur einen Knoten enthalten.) Da jeder Knoten in K 1 Grad 0 oder 2 hat, haben in den Zusammenhangskomponenten alle Knoten geraden Grad. Daraus folgt mit der Induktionsvoraussetzung, dass jedes G s für sich einen Eulerkreis besitzt. Es ist nun leicht, aus K 1 und den t Eulerkreisen der Zusammenhangskomponenten einen großen Eulerkreis für G zusammenzusetzen. Es ist nicht schwer zu sehen, dass man das im Beweis skizzierte Verfahren in einen Polynomialzeitalgorithmus zum Finden eines Eulerkreises umsetzen kann. Einen solchen nehmen wir ab jetzt als gegeben an. Was haben Eulerkreise mit kostengünstigen TSP-Rundreisen zu tun? Viel, wenn die Dreiecksungleichung gilt. Lemma Es sei x = (w {u,v} ) 1 u<v n ein MIN- -TSP-Input, und es sei G = (V, E) ein Multigraph auf der Knotenmenge V = {1,..., n}, der einen Eulerkreis EK = (v 0, v 1,..., v m ), v m = v 0, besitzt. Es sei w(e) = w(ek ) = w {u,v} = (u,v) in E 1 i m w {vi 1,v i } das Gewicht von E (oder die Länge des Eulerkreises in G). Dann kann aus EK in polynomieller Zeit ein Hamiltonkreis HK mit Gesamtkosten w(ek ) gefunden werden. Beweis. Wir erhalten HK aus EK, indem wir in der Folge (v 0, v 1,..., v m 1 ) die Einträge v j streichen, für die v j = v i für ein i < j gilt. (Von allen Vorkommen eines Knotens u wird nur der erste behalten.) Es ist klar, dass das Resultat ein Hamiltonscher Kreis im vollständigen Graphen K n ist, da jeder Knoten genau einmal vorkommt. Die Dreiecksungleichung garantiert, dass die Länge dieses Kreises nicht größer ist als w(ek ). 2
3 Nun zeichnet sich schon der Grundansatz zum Finden eines günstigen Hamiltonkreises zu Input x = (w {u,v} ) 1 u<v n ab: Man finde einen Eulerschen (Multi)Graphen G = (V, E) mit V = {1,..., n}, für den w(e) möglichst klein ist. Dann ergibt sich eine TSP-Rundreise HK mit Kosten w(e), indem man erst einen Eulerkreis für G baut und diesen dann wie in Lemma zu einer TSP-Tour abkürzt. Verschiedene Algorithmen ergeben sich durch verschiedene Strategien zum Finden eines Eulerschen Multigraphen. 3.2 Konstruktion mit Minimalem Spannbaum Definition Sei G = (V, E) ein zusammenhängender (einfacher) Graph, (w {u,v}, (u, v) E) sei eine Gewichtsfunktion (oder Längenfunktion) auf den Kanten. (a) Ein Baum T E (d.h. (V, T ) ist zusammenhängend und kreisfrei, es gibt genau V 1 Kanten in T ) heißt ein Spannbaum von G. (b) w(t ) = (u,v) T w {u,v} heißt das Gewicht von T. (c) Ein Spannbaum T für G heißt minimal (also ein minimaler Spannbaum, kurz MST ), wenn w(t ) w(t ) für alle Spannbäume T von G gilt. Fakt Es gibt einen Algorithmus, der zu G und (w {u,v}, (u, v) E) in Zeit O( E log V ) einen minimalen Spannbaum findet. (Siehe Vorlesung Effiziente Algorithmen.) Algorithmus (TSP-per-MST) Input: x = (w {i,j} ) 1 i<j n Methode: 1 Finde MST T für K n mit Gewichten (w {i,j} ) 1 i<j n ; 2 Bilde Multigraphen G = (V, E), wobei in der Kantenliste E jede Kante aus T genau zweimal vorkommt ; 3 Finde Eulerkreis EK im Eulerschen Graphen G ; 4 Kürze EK zu Hamiltonkreis HK ab (Lemma 3.1.3); 5 Ausgabe: HK Satz Der Algorithmus TSP-per-MST ist ein 2-Approximationsalgorithmus für MIN- -TSP. Daher ist MIN- -TSP in APX. Beweis. Sei x = (w {i,j} ) 1 i<j n ein Input, und K = (v 0, v 1,..., v n ) (mit v 0 = v m ) ein Hamiltonkreis minimaler Länge m (x). Beachte nun, dass die Kantenmenge E = {(v 1 ), (v 2 ),..., (v n 1, v n )}, 3
4 die durch Entfernen der Kante (v 0, v 1 ) aus K entsteht, ein einfacher Weg durch n Knoten, also ein Spannbaum ist. Da T ein minimaler Spannbaum ist, gilt Da E aus T durch Verdoppeln entsteht, gilt w(t ) w(e ) w(k ) = m (x). w(ek ) = w(e) 2 w(t ) 2m (x). Zudem ist nach Satz (V, E) ein Euler-Graph, da durch das Verdoppeln der Kanten jeder Knoten geraden Grad hat. Nach Lemma schließlich ist wie gewünscht. m(x, TSP-per-MST(x)) = w(hk ) w(ek ) 2m (x), 3.3 Der Algorithmus von Christofides Eine Verfeinerung des einfachen TSP-per-MST-Algorithmus liefert sogar einen Algorithmus mit Approximationsgüte 3 2. Die Verdoppelung des MST T in Algorithmus diente nur dem Zweck, die Knotengrade auf einen geraden Wert zu zwingen. Wir suchen nun eine Möglichkeit, andere Kanten zu T hinzuzufügen, um denselben Zweck zu erreichen. Definition Sei G = (V, E) ein (einfacher) Graph, (w {u,v}, (u, v) E) sei eine Gewichtsfunktion auf den Kanten. (a) Eine Kantenmenge M E in G heißt ein Matching, wenn je zwei Kanten in M keinen gemeinsamen Knoten haben. 1 (b) Ein Matching M heißt perfekt, wenn jeder Knoten von V in einer Kante in M vorkommt. 2 (c) Das Gewicht eines Matchings M ist w(m) = (u,v) M w {u,v}. (d) Ein perfektes Matching M ist minimal, wenn für alle perfekten Matchings M gilt: w(m) w(m ). Wir betrachten minimale Matchings in vollständigen Graphen, in denen alle Kanten vorhanden sind. Hier ist die Existenz von perfekten Matchings kein Problem: bei gerader Knotenzahl gibt es perfekte Matchings, bei ungerader Knotenzahl nicht. Fakt Es gibt einen Algorithmus, der zu vollständigen Graphen G = (V, E) mit gerader Knotenzahl und Gewichtssatz (w {u,v}, {u, v} V, u v) in polynomieller Zeit ein minimales Matching findet. 1 matching ist das englische Wort für paarweises Anordnen. 2 Nicht jeder Graph G besitzt ein perfektes Matching. 4
5 (Warnung: Die bekannten Algorithmen für dieses Problem sind nicht ganz einfach.) Algorithmus (Christofides) Input: x = (w {u,v} ) 1 u<v n Methode: 1 Finde MST T für K n mit Gewichten (w {u,v} ) 1 u<v n ; 2 Definiere V = {v {1,..., n} deg T (v) ist ungerade } ; 3 Finde minimales perfektes Matching M in vollständigem Graphen auf V bzgl. (w {u,v} ) u,v V,u v ; 4 ( T M ist die Vereinigung disjunkter Kopien von T und M ; Doppelkanten möglich; beobachte: (V, T M) ist Euler-Graph ) 5 Finde Eulerkreis EK in (V, T M) ; 5 Kürze EK zu Hamiltonkreis HK ab (Lemma 3.1.3); 5 Ausgabe: HK Satz Der Algorithmus von Christofides ist ein 3 2-Approximationsalgorithmus für MIN- -TSP. Beweis. Um zu sehen, dass der Schritt in Zeile 3 funktioniert, müssen wir zunächst kontrollieren, dass der vollständige Graph auf V ein perfektes Matching besitzt, d.h., dass V gerade ist. Das ist aber klar: Im Graphen (V, T ) gilt (wie in jedem Graphen): deg T (v) = 2 T, v V also ist die Summe der Grade eine gerade Zahl. Daher muss die Anzahl der Knoten in (V, T ) mit ungeradem Grad gerade sein. Zu Zeile 4: Mit Satz ist leicht einzusehen, dass (V, T M) Eulerscher Graph ist: zu jedem Knoten, der in (V, T ) ungeraden Grad hat, fügt M genau eine Kante hinzu, nichts aber zu den Knoten in V V. Also haben in (V, T M) alle Knoten geraden Grad. Wie im Beweis von Satz sei K ein Hamiltonkreis minimaler Länge m (x). Wir wissen schon: w(t ) w(k ) = m (x). (3.1) Wie steht es nun mit dem Gewicht von M? Der Kreis K erzeugt (durch Überspringen von Knoten in V V ) einen Hamiltonkreis K = (u 0, u 1,..., u m ) in der Knotenmenge V. Wegen der Dreiecksungleichung gilt: w(k ) = w {ui 1,u i } w(k ) = m (x). 1 i m Der Kreis K hat gerade Länge und kann in zwei perfekte Matchings M 1 = {(u 0, u 1 ), (u 2, u 3 ),..., (u m 2, u m 1 )} und M 2 = {(u 1, u 2 ), (u 3, u 4 ),..., (u m 1, u m )} 5
6 zerlegt werden. Beide Matchings sind perfekt, und M ist ein minimales Matching, also gilt w(m) w(m 1 ) und w(m) w(m 2 ). Also: 2w(M) w(m 1 ) + w(m 2 ) = w(k ) m (x). (3.2) Aus (3.1) und (3.2) folgt sofort, dass w(t M) 3 2 m (x) gilt. Also ist w(hk ) w(ek ) = w(t M) 3 2 m (x), wie behauptet. 6
Theoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrBemerkung: Der vollständige Graph K n hat n(n 1)
Bemerkung: Der vollständige Graph K n hat n(n 1) 2 Kanten. Bew: Abzählen! Definition 111. Graphen mit n paarweise zyklisch verbundenen Kanten heißen Kreise (vom Grad n) und werden mit C n bezeichnet. Beispiel
MehrFreie Bäume und Wälder
(Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrApproximationsalgorithmen für NP-harte Optimierungsprobleme
Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante
MehrApproximation mit relativer Gütegarantie Überblick und einführende Beispiele
Approximation mit relativer Gütegarantie Überblick und einführende Beispiele Marvin Schiller 4. Oktober 2007. Einführung In diesem Essay geben wir einen Überblick über eine Auswahl von algorithmischen
MehrDiskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008
Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrNachbarschaft, Grad, regulär, Inzidenz
Nachbarschaft, Grad, regulär, Inzidenz Definition Eigenschaften von Graphen Sei G = (V, E) ein ungerichteter Graph. 1 Die Nachbarschaftschaft Γ(u) eines Knoten u V ist Γ(u) := {v V {u, v} E}. 2 Der Grad
Mehr= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2
1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)
MehrGraphen. Graphen und ihre Darstellungen
Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten
MehrEuler und Hamiltonkreise
Euler und Hamiltonkreise 1. Königsberger Brücken 2. Eulerwege und Kreise Definition, Algorithmus mit Tiefensuche 3. Hamiltonwege und Kreise Definition 4. Problem des Handlungsreisenden Enumeration und
MehrAufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
Mehr3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:
3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrDiskrete Mathematik 1
Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 2008/09 Blatt
Mehr6. Übung zur Linearen Optimierung SS08
6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrVorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen
Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter WS 2013/14 1 Eulersche Graphen Kantenzug Ein Kantenzug in einem Graphen (V, E) ist eine Folge (a 0, a 1,..., a n ) von Knoten
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrÜberblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
MehrKap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien
Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrAufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1
Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung
MehrEulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal
3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrStudientag zur Algorithmischen Mathematik
Studientag zur Algorithmischen Mathematik Eulertouren, 2-Zusammenhang, Bäume und Baumisomorphismen Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline
MehrZentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)
WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Bäume)
WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
MehrÜbungsblatt 2 - Lösung
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer
MehrKAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN
KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrGraphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S
Minimale Graphentheorie Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Minimale Inhalt
MehrToleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger
Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg gerold.jaeger@informatik.uni-halle.de
MehrZentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)
WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII
Mehr4. Kreis- und Wegeprobleme
4. Kreis- und Wegeprobleme Kapitelübersicht 4. Kreis- und Wegeprobleme Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Abstände in Graphen Berechnung
MehrHamiltonsche Graphen
Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,
MehrKap. 6.5: Minimale Spannbäume
Kap. 6.5: Minimale Spannbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19./20. VO DAP2 SS 2009 30.6./2.7.2009 1 Anmeldung zur Klausur 31.07.2009 um 10:15
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrMinimale Spannbäume. Evangelia Tsiouprou. LMU Proseminar Computer Unplugged WS 2004/05
Evangelia Tsiouprou LMU Proseminar Computer Unplugged WS 2004/05 1 MOTIVATION 3 1.1 Spannbaum 3 2 ALGORITHMEN ZUR BERECHNUNG EINES MST: 5 2.1 Der Algorithmus von Kruskal 5 2.1.1 Das Dorfbeispiel für den
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrMafI I: Logik & Diskrete Mathematik (F. Hoffmann)
Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
MehrVorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen
Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
MehrTheorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.
Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme
MehrZentralübung zur Vorlesung Diskrete Strukturen
WS 2010/11 Zentralübung zur Vorlesung Diskrete Strukturen Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/uebung/ 2. Februar 2011 ZÜ DS ZÜ XIII 1. Übungsbetrieb:
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrWeitere NP-vollständige Probleme
Weitere NP-vollständige Probleme Wir betrachten nun folgende Reduktionskette und weisen dadurch nach, daß alle diese Probleme NP-hart sind (sie sind auch in NP und damit NP-vollständig). SAT p 3-SAT p
MehrWie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung
Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Teilnehmer/innen: Markus Dahinten, Graf Münster Gymnasium Bayreuth Robert Fay, Herder Gymnasium Berlin Falko
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrDas Rucksackproblem. Definition Sprache Rucksack. Satz
Das Rucksackproblem Definition Sprache Rucksack Gegeben sind n Gegenstände mit Gewichten W = {w 1,...,w n } N und Profiten P = {p 1,...,p n } N. Seien ferner b, k N. RUCKSACK:= {(W, P, b, k) I [n] : i
Mehr2.6 Asymptotische Approximation: Min Binpacking
2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrEinheit 11 - Graphen
Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)
MehrAnwendungen von Graphen
Anwendungen von Graphen Strassen- und Verkehrsnetze Computernetzwerke elektrische Schaltpläne Entity-Relationship Diagramme Beweisbäume endliche Automaten Syntaxbäume für Programmiersprachen Entscheidungsbäume
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende
MehrLokale Suche in variabler Tiefe
Fachbereich Informatik und Mathematik Institut für Informatik Diplomarbeit Lokale Suche in variabler Tiefe Dennis Luxen 19. Juli 2007 eingereicht bei Prof. Dr. Georg Schnitger Professur Theoretische Informatik
MehrGraphen und Algorithmen
Graphen und Algorithmen Vorlesung #7: Matchingtheorie Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008 Übersicht Matchings und erweiternde Wege Satz von Berge Das Heiratsproblem und der
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrDiskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie
Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek
MehrVon den Kanten von Gewicht 4 wird nur noch eine ausgewählt, die zu dem letzten nicht ausgewählten Knoten führt: 1. Juni
CHAPTER. GRAPHEN.. B Ä UME.. Bäume Ein schlichter Graph ohne Kreise heisst Wald, ist er noch zusätzlich zusammenhängend so wird er Baum genannt. Bevor wir Bäume genauer beschreiben ein kleines LEMMA...
Mehrf h c 7 a 1 b 1 g 2 2 d
) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener
MehrGraphen und Bäume. A.1 Graphen
Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
MehrNumerische Methoden und Algorithmen in der Physik
Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 18.12.2008 Numerische Methoden und Algorithmen in der Physik Christian Autermann 1/ 39 Einführung NP-vollständige Probleme
MehrApproximationsklassen für Optimierungsprobleme
Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................
Mehr9. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
Mehr9: Gewichtete Graphen
Chr.Nelius: Graphentheorie (WS 06/7) 9 9: Gewichtete Graphen Beispiel: Eine Straßenkarte mit Entfernungsangaben zwischen den Orten ist ein Beispiel für einen gewichteten Graphen. (9.) DEF: Ein Graph G
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrGraph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten
Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrMinimal spannender Baum
Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen
Mehr6. Planare Graphen und Färbungen
6. Planare Graphen und Färbungen Lernziele: Den Begriff der Planarität verstehen und erläutern können, wichtige Eigenschaften von planaren Graphen kennen und praktisch einsetzen können, die Anzahl von
MehrÜbungsblatt Nr. 5. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 svorschlag Aufgabe 1
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
MehrDas Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
Mehr