Minimal spannende Bäume

Größe: px
Ab Seite anzeigen:

Download "Minimal spannende Bäume"

Transkript

1 Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006)

2 Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu inhaltlichen, als auch zu rechtschreiblichen und grammatikalischen Verbesserungen beigetragen. Ebenfalls bedanke ich mich hiermit bei Anke Szofer für das schnelle Korrekturlesen. Für etwaige Kritik an wäre ich dem Leser sehr dankbar.

3 Inhaltsverzeichnis 1 Ungerichtete Graphen Definition Wege Untergraphen Kantengewichtete Graphen Bäume 6.1 Definition und Eigenschaften Minimal spannende Bäume Algorithmen zur Bestimmung minimal spannender Bäume

4 1 UNGERICHTETE GRAPHEN 3 1 Ungerichtete Graphen 1.1 Definition Zu Beginn führen wir den wichtigen Begriff des ungerichteten Graphen ein. Definition 1.1. Ein ungerichteter Graph G ist eine algebraische Struktur G = (V, E), wobei V eine endliche nicht leere Menge und E mit E V V eine symmetrische Relation auf V ist ( x, y V : xey yex). Wir bezeichnen V als Menge von Knoten (vertices) und E als Menge von Kanten (edges). Wir meinen im Folgenden stets einen ungerichteten Graphen, wenn wir von einem Graphen sprechen. Außerdem werden wir die Elemente aus V als Knoten und die Mengen der Form {(x, y), (y, x)} beziehungsweise {(z, z)} mit (x, y), (y, x), (z, z) E als Kanten bezeichnen. Weiterhin nennen wir Kanten der Form (x, x) E Schlingen. Sollte ein Graph keine Schlingen haben, also die Menge der Kanten E irreflexiv ( x V : xex) sein, so heißt dieser schlicht. Beispiel 1.1. Die Abbildung 1.1 veranschaulicht den Graphen G 1 = (V 1, E 1 ) = ({v 1, v,,, v 5 }, {(v 1, v ), (v, v 1 ), (v 1, ), (, v 1 ), (v, ), (, v ), (, ), (, ), (, )}). Abbildung 1.1: Der Graph G 1. Wir bemerken, dass es sich bei der Kante e 5 um eine Schlinge handelt. Natürlich ist G 1 somit kein schlichter Graph. Außerdem erkennen wir mit dem Knoten v 5, dass Knoten existieren können, die nicht in einer Kante präsent sind. Als Nächstes fragen wir uns, wie viele Kanten es in einem Graphen geben kann und halten die Antwort im folgendem Lemma fest. Lemma 1.1. Die Menge der Kanten E eines Graphen G = (V, E) ist nur endlich. Beweis: Sei G = (V, E) ein Graph. Dann ist die Menge V nach Definition 1.1 endlich. Somit ist auch V V mit V V = V endlich. Da nach Definition E V V ist, folgt E V V, was uns die Endlichkeit von E zeigt.

5 1 UNGERICHTETE GRAPHEN 4 1. Wege Eine der wichtigsten Fragen in einem Graphen ist eine nach einem Weg zwischen zwei Knoten. Was genau wir unter einem Weg zu verstehen haben und wie wir entscheiden, ob es einen Weg zwischen zwei Knoten gibt, zeigen wir im Nachstehenden. Definition 1.. Ein Weg w V n in einem Graphen G = (V, E) zwischen zwei Knoten x, y V ist ein n-tupel w = (x 1, x,..., x n ) mit x 1 = x, x n = y und n, n N genau dann, wenn (x i, x i+1 ) E mit 1 i n 1, i N gilt 1. Wir nennen x Anfangs- und y Endknoten des Weges w. Um nun zu entscheiden, ob w tatsächlich ein Weg in einem Graphen G ist, definieren wir induktiv die Menge W (G) aller Wege von G wie folgt. Definition 1.3. Sei G = (V, E) ein Graph. 1. Jede Kante aus E ist ein Weg: (x, y) E : (x, y) W (G). Seien (x,..., y) und (u,..., v) bereits Wege, also (x,..., y), (u,..., v) W (G), dann.1 ist (x,..., y,... v), wenn y = u gilt, auch ein Weg ((x,..., y,... v) W (G)).. ist (x,..., y, u,... v), falls (y, u) E, ein Weg ((x,..., y, u,... v) W (G)). 3. Mehr Wege gibt es nicht. Wir bezeichnen einen Weg (x 1, x,..., x n ) W (G) als Kreis, wenn Anfangs- und Endknoten mit x 1 = x n gleich sind und x i x j mit i j und i, j {k 1 k n 1, k N} gilt. Einen Graphen G, der keine Kreise enthält, nennen wir kreisfrei ( x V : (x 1, x,..., x n ) W (G) : x 1 = x n = x x i x j i j i, j {k 1 k n 1, k N}). Lemma 1.. Wenn ein Graph kreisfrei ist, dann ist er auch schlicht. Beweis: Graphen. Lemma 1. folgt direkt aus der Definition von Kreisfreiheit und Schlichtheit eines Darüber hinaus heißt ein Graph G = (V, E) zusammenhängend, wenn zwischen je zwei unterschiedlichen Knoten x und y aus V ein Weg (x,..., y) aus W (G) existiert, also gilt. x, y V : x y (x,..., y) W (G) Beispiel 1.. Die Abbildung 1. zeigt den Graphen G 1 aus Beispiel 1.1. In dieser Abbildung ist der Weg (v 1, v, ) W (G 1 ) zwischen den Knoten v 1 und rot markiert worden. Überdies erkennen wir einen in grün dargestellten Kreis (, ) W (G 1 ). 1 Mit N meinen wir stets die natürlichen Zahlen ohne 0.

6 1 UNGERICHTETE GRAPHEN 5 G v v 1 v 5 Abbildung 1.: Graph aus Beispiel 1.1 mit rotem Weg und grünem Kreis. An diesem Beispiel stellen wir auch fest, dass es nicht nur einen Weg zwischen zwei Knoten geben muss. So existiert etwa zwischen v 1 und neben dem bereits genannten Weg noch ein weiterer Weg (v 1, ) W (G 1 ). Zudem erkennen wir noch einen Kreis (v 1, v,, v 1 ) W (G 1 ) im Graphen G 1. Schließlich bemerken wir, dass G 1 = (V 1, E 1 ) im Gegensatz zu (V 1 \ {v 5 }, E 1 ) kein zusammenhängender Graph ist. 1.3 Untergraphen Wie man aus Beispiel 1. vielleicht schon bemerkt haben könnte, gibt es zu einem beliebigen Graphen Graphen, die gewissermaßen nur durch einige Teile dieser Graphen aufgebaut sind. Was genau wir unter solchen Untergraphen zu verstehen haben, zeigt die nachfolgende Definition. Definition 1.4. Wir bezeichnen einen Graphen G G = (V, E), wenn V V und E E gelten. = ( V, E ) als Untergraphen des Graphen Sollte für einen Untergraphen G = ( ) V, E des Graphen G = (V, E) die Aussage V = V gelten, so heißt G spannend. In diesem Sinne ist G 1 = (V 1 \ {v 5 }, E 1 ) aus Beispiel 1. ein Untergraph von G 1 = (V 1, E 1 ) aber kein spannender. Satz 1.1. Es gibt nur endlich viele Untergraphen in einem Graphen. Beweis: Sei G = (V, E) ein Graph und G = ( ) V, E ein Untergraph von G. Dann gilt nach Definition 1.4 V V und E E und somit auch V V und E E. Offensichtlich sind V mit V = V und E mit E = E endliche Mengen, da auch V und E nach Definition 1.1 und Lemma 1.1 endliche Mengen sind. Hieraus schlussfolgern wir sofort, dass es nur endliche viele verschiedene Untergraphen G = ( ) V, E geben kann. 1.4 Kantengewichtete Graphen Von entscheidender Bedeutung wird für uns die nächste Definition sein, die es uns erlauben wird, die Kanten eines Graphen zu bewerten. Die Menge M ist die Potenzmenge (Menge aller Teilmengen) der Menge M.

7 BÄUME 6 Definition 1.5. Ein kantengewichteter Graph G = (V, E, w) ist ein Graph (V, E) mit einer Abbildung w : E R +, wobei w ((x, y)) = w ((y, x)). Wir nennen die Funktion w Gewicht (weight). 3 Natürlich gelten für einen kantengewichteten Graphen die schon für Graphen bekannten Eigenschaften. Wir bezeichnen mit w Σ (G) = (x,y) E,x y w ((x, y)) + (x,x) E w ((x, x)) das Gewicht eines kantengewichteten Graphen G. Auch lässt sich für einen kantengewichteten Graphen ein Untergraph definieren, wobei die Gewichtung der Kanten nicht verloren gehen soll. Definition 1.6. Wir nennen einen kantengewichteten Graphen G = ( ) V, E, w kantengewichteten Untergraphen des kantengewichteten Graphen G = (V, E, w), wenn ( ) V, E ein Untergraph von (V, E) ist und e E : w (e) = w (e) gilt. Analog zum Untergraphen bezeichnen wir einen kantengewichteten Untergraphen als spannend, falls die beiden Mengen der Knoten gleich sind. Beispiel 1.3. In Abbildung 1.3 ist ein kantengewichteter Graph G 3 = ({v 1, v,, }, {(v 1, ), (, v 1 ), (v 1, ), (, v 1 ), (v, ), (, v )}, w), w (v 1, ) = w (, v 1 ) =, w (v 1, ) = w (, v 1 ) = 5, 1, w (v, ) = w (, v ) = 3 und ein Untergraph G 4 von G 3 dargestellt. G 3 G 4 v 1 v 5,1 3 v 1 Abbildung 1.3: Ein kantengewichteter Graph G 3 und ein Untergraph G 4 von G 3. Das Gewicht des kantengewichteten Graphen G 3 beträgt w Σ (G 3 ) = 10, 1. Offensichtlich ist G 4 kein spannender Untergraph von G 3. Bäume.1 Definition und Eigenschaften An dieser Stelle wollen wir besondere Graphen betrachten, die eine baumartige Struktur aufweisen. 3 Mit R + meinen wir die positiven reellen Zahlen.

8 BÄUME 7 Definition.1. Ein Baum (tree) T ist ein zusammenhängender und kreisfreier Graph (V, E). Wir bemerken, dass ein Baum aufgrund von Lemma 1. auch immer schlicht sein muss. Definition.. Ein spannender Baum S ist ein Baum, der ein spannender Untergraph eines Graphen ist. Beispiel.1. Abbildung.1 visualisiert einen Graphen T 1. T 1 Abbildung.1: Ein Baum T 1. Offenbar ist T 1 ein Baum, da er zusammenhängend und kreisfrei ist. Der nächste Satz wird für uns von zentraler Bedeutung sein, wenn wir später aus einem Graphen besondere Bäume heraussuchen werden. Satz.1. Es existiert dann und nur dann ein spannender Baum in einem Graphen G, wenn G zusammenhängend ist. Beweis: Wenn S = ( ) V, E ein spannender Baum zu einem Graphen G = (V, E) ist, dann ist S nach Definition. ein spannender Untergraph von G. Somit enthält S alle Knoten von G, also V = V und es gilt E E. Dies bedeutet, alle Kanten von S sind auch Kanten von G. Aus diesen Tatsachen und dass S zusammenhängend ist, folgern wir direkt, dass auch G zusammenhängend ist. Sei nun G = (V, E) ein zusammenhängender Graph. Wenn G ein Baum ist, dann ist G auch ein spannender Baum von G. Wenn G kein Baum sein sollte, dann gibt es mindestens einen Kreis k = (x 1,..., x n ) W (G). Entfernen wir nun genau eine Kante {(x, y), (y, x)} mit (x 1,..., x, y,... x n ) = k aus G, so erhalten wir einen Untergraphen G = (V, E \ {(x, y), (y, x)}) von G, der immer noch zusammenhängend ist aber den Kreis k nicht mehr enthält. Entweder ist G ein Baum und damit ein spannender Baum von G, oder es existiert mindestens ein Kreis k W ( ) G. Nun entfernen wir analog zu G genau eine Kante aus G und erhalten einen neuen zusammenhängenden Graphen ohne den Kreis k. Wir verfahren weiter so, wie oben dargestellt, bis wir einen zusammenhängenden kreisfreien Untergraphen S = ( ) V, E von G erlangen. S ist dann ein gesuchter spannender Baum von G. Dass die Konstruktion von S in endlich vielen Schritten gelingt, sehen wir durch Satz 1.1 ein.. Minimal spannende Bäume Im Folgenden befassen wir uns mit minimal spannenden Bäumen in kantengewichteten Graphen. Was genau wir unter solchen Bäumen zu verstehen haben, zeigt die nachstehenden Definition.

9 BÄUME 8 Definition.3. Ein minimal spannender Baum (Minimum Spanning Tree MST) M eines zusammenhängenden kantengewichteten Graphen G = (V, E, w) ist ein spannender Baum ( ) V, E vom Graphen (V, E), falls kein anderer spannender Baum ( V, E ) von (V, E) derart existiert, (( )) (( )) dass w Σ V, E, w < wσ V, E, w mit e E : w (e) = w (e) und e E : w (e) = w (e) gilt. Beispiel.. Abbildung. zeigt einen Graphen G 5 und mit M 1 einen minimal spannenden Baum in G 5. G 5, M 1 v 1 1 v Abbildung.: Ein Graph G 5 mit einem zugehörigen minimal spannenden Baum M 1. Das Gewicht des Graphen G 5 beträgt w Σ (G 5 ) = 7 und jenes von M 1 nur w Σ (M 1 ) = 7. Wie wir an diesem Beispiel sehen, kann man mit den Kanten in M 1 von jedem beliebigen Knoten aus jeden anderen erreichen und dabei ist das Gewicht von M 1 auch noch minimal. Der nachfolgende Satz zeigt uns, wann genau wir einen minimal spannenden Baum in einem Graphen finden können. Satz.. Es existiert dann und nur dann ein minimal spannender Baum in einem kantengewichteten Graphen G, wenn G zusammenhängend ist. Beweis: Sei M ein minimal spannender Baum zu einem kantengewichteten Graphen G = (V, E, w). Dann ist M nach Definition.3 ein spannender Baum von (V, E) und somit ist laut Satz.1 (V, E) ein zusammenhängender Graph. Schließlich folgt aus der letzten Tatsache, dass G zusammenhängend ist. Sei G = (V, E, w) andersherum ein kantengewichteter zusammenhängender Graph. Dann gibt es nach Satz.1 einen spannenden Baum S = ( ) V, E in dem zusammenhängenden Graphen (V, ( E). ) Entweder ist S bereits (( minimal )) oder es(( gibt einen weiteren spannenden Baum S = )) V, E von (V, E), sodass wσ V, E, w < wσ V, E, w mit e E : w (e) = w (e) und e E : w (e) = w (e) gilt. Nun gibt es nach Satz 1.1 nur endliche viele Untergraphen, mithin auch nur endlich viele spannende Bäume in (V, E). Folglich muss mindestens einer dieser nur endlich vielen spannenden Bäume ein minimaler sein...1 Algorithmen zur Bestimmung minimal spannender Bäume Wir fragen uns nun, wie man einen minimal spannenden Baum M in einem zusammenhängenden kantengewichteten Graphen G = (V, E, w) finden kann. Um diese Bäume zu finden, geben wir im Folgenden zwei Algorithmen an.

10 BÄUME 9 Definition.4. Algorithmus von Kruskal Eingabe: zusammenhängender kantengewichteter Graph G = (V, E, w) Ausgabe: minimal spannender Baum M = ( V, E ) von G B1: E := ; E := E; B: solange E { B3: K := {(x, y), (y, x)} mit (x, y) { e E e B4: E := E \ K; B5: wenn ( V, E K ) kreisfrei, dann { B6: E := E K; } } E : w ( e ) < w (e) } ; Insbesondere bemerken wir, dass B3 stets ausführbar ist, da { ( e E e E : w e ) } < w (e) offensichtlich wegen B niemals leer sein kann. Wir geben nun eine bildliche Interpretation des Algorithmus. Zu Beginn sortieren wir alle Kanten des Graphen G aufsteigend entsprechend ihres Gewichtes und schreiben sie in eine Liste. Dann entfernen wir die kleinste Kante aus der Liste und nehmen sie in den noch kantenlosen Graphen M auf. Wir entfernen nun solange die jeweils kleinste Kante aus der Liste und fügen diese in M ein, wenn M dadurch noch immer kreisfrei bleibt, bis keine Kante mehr in der Liste ist. M ist dann ein minimal spannender Baum von G. Beispiel.3. Seien G 5 = (V, E, w) und M 1 = ( V, E ) der Graph beziehungsweise der minimal spannende Baum in Abbildung. aus Beispiel.. Der Algorithmus von Kruskal berechnet dann, durch Abbildung.3 veranschaulicht, M 1 wie folgt. 1. v 1 1 v. v 1 1 v 1 3. v 1 1 v 4. v 1 1 v 4 Abbildung.3: Schrittweiser Aufbau des minimal spannenden Baums M 1 von G 5.

11 BÄUME 10 Zu Beginn ist wegen B1 E Schleife B: = und E = E. Anschließend durchlaufen wir schrittweise die 1. K = {(v 1, v ), (v, v 1 )}, E = E \ {(v 1, v ), (v, v 1 )}, E = {(v 1, v ), (v, v 1 )}. K = {(, )}, E = (E \ {(v 1, v ), (v, v 1 )}) \ {(, )}, E = {(v 1, v ), (v, v 1 )} (die in Abbildung.3 rot dargestellte Kante {(, )} wird nicht in E aufgenommen, da sonst ein Kreisentstehen würde) 3. K = {(v 1, ), (, v 1 )}, E = ((E \ {(v 1, v ), (v, v 1 )}) \ {(, )}) \ {(v 1, ), (, v 1 )}, E = {(v 1, v ), (v, v 1 ), (v 1, ), (, v 1 )} 4. K = {(v 1, ), (, v 1 )}, E = (((E \ {(v 1, v ), (v, v 1 )}) \ {(, )}) \ {(v 1, ), (, v 1 )}) \ {(v 1, ), (, v 1 )}, E = {(v 1, v ), (v, v 1 ), (v 1, ), (, v 1 ), (v 1, ), (, v 1 )} 5. Bei diesem und den folgenden Schritten bleibt E unverändert, da sonst jede neu eingefügte Kante einen Kreis in M 1 erzeugen würde. Schließlich ist E = im 7. Durchlauf der Schleife und der Algorithmus wird beendet. Nachdem der Algorithmus terminiert ist, erhalten wir den bereits in Beispiel. dargestellten minimal spannenden Baum M 1. Satz.3. Der Algorithmus von Kruskal ist korrekt. Beweis: Sei G = (V, E, w) ein zusammenhängender kantengewichteter Graph und M = ( ) V, E die Ausgabe des Algorithmus von Kruskal. Wir beweisen die Korrektheit des Algorithmus, indem wir zeigen, dass er terminiert und dass M ein minimal spannender Baum von G ist. Wir müssen also für M zeigen, dass M Untergraph von (V, E), spannend, kreisfrei, zusammenhängend und minimal ist. Weshalb der Algorithmus terminieren muss, sehen wir durch B, B3 und B4 folgendermaßen ein: Durch B3 suchen wir in jedem Schleifendurchlauf aus E mindestens ein Element heraus und entfernen jenes anschließend durch B4 aus E. Weiterhin wird E durch keine andere Operation verändert. Somit enthält E nach jedem Schleifendurchlauf immer weniger Elemente. Aufgrund von B terminiert der Algorithmus, wenn E =. Da E := E am Anfang des Algorithmus durch B1 festgelegt wurde und E nach Definition 1.1 nur endlich ist, wird die Schleife B nur endlich oft durchlaufen. Folglich terminiert der Algorithmus. Dass M = ( ) V, E ein Untergraph von (V, E) ist, sieht man durch den aus B6 folgenden Zusammenhang E E ein. Offensichtlich ist M = ( ) V, E spannend, da M nach Definition dieselbe Menge von Knoten wie (V, E) enthält. Außerdem ist die Kreisfreiheit von M trivialerweise durch B5 gegeben. Als nächstes zeigen wir indirekt, dass M zusammenhängend ist. Sei also M nicht zusammenhängend. Dann existieren in M zwei Knoten x, y V, die nicht durch einen Weg (x 1, x,..., x n ) W (M) mit x 1 = x und x n = y verbunden sind. Dagegen aber sind x und y im zusammenhängenden Graphen (V, E) durch einen Weg (y 1, y,..., y n ) W ((V, E)) mit y 1 = x und y n = y verbunden. Folglich gibt es eine Kante (y i, y i+1 ) E mit 1 i n 1, i

12 BÄUME 11 N im Weg (y 1,..., y i, y i+1,..., y n ), sodass (y i, y i+1 ) / E und damit auch (y i+1, y i ) / E gilt. Außerdem beachten wir, dass der Algorithmus durch B, B3 und B4 alle Kanten in E, ( und somit ebenfalls (y i, y i+1 ) beziehungsweise (y i+1, y i ), betrachtet. Wir zeigen nun, dass V, E {(y i, y i+1, (y i+1, y i )} ) bei B5 kreisfrei sein muss. Wenn dies nicht der Fall wäre, dann hätte es in ( ) V, E schon einen Weg von x nach y geben müssen, was ja nach obiger Annahme nicht der Fall ist. Schließlich folgt aus dieser Kreisfreiheit, dass (y i, y i+1 ) E und (y i+1, y i ) E durch B6 gelten müssten. Dies kann aber nach den Voraussetzungen (y i, y i+1 ) / E und (y i+1, y i ) / E unmöglich sein. Hieraus folgern wir, dass unsere Annahme falsch und M somit zusammenhängend ist. Schlussendlich müssen wir noch belegen, dass M = ( ) V, E minimal ist. Dies wollen wir indirekt tun. Nehmen wir also an M sei nicht minimal. Dann existiert ein minimal spannender Baum M * = ( V, E *) ( von G, sodass w ) Σ M * < w Σ (M). Ferner seien (e 1,..., e n ) mit n N und n E die durch den Algorithmus in B6 der Reihe nach in E eingefügten Kanten der Form {(x, y), (y, x)}. Aufgrund von M * M gibt es eine erste Kante e i aus (e 1,..., e n ) mit i N und 1 i n, für die e i E * gilt. Wir erzeugen nun einen Untergraphen ( ) V, E * e i von (V, E) aus M *, der dann sicher einen Kreis k W (( )) V, E * e i beinhaltet. k enthält offensichtlich e i und eine weitere Kante e mit e E * und e E. Außerdem gilt nach dem Algorithmus w (e i ) w (e), da sonst e in B3 zuerst gewählt worden wäre. Der Untergraph ( V, ( ) ) E * e i \ e von (V, E) ist dann aufgrund obiger Tatsachenselbstverständlich (( ( zusammenhängend ) )) und ( ein spannender Baum von (V, E). Und somit erhalten wir w Σ V, E * e ) i \ e wσ M *. Darüber hinaus hat ( V, ( ) ) E * e i \ e genau eine Kante mehr gemeinsam mit M als M * mit M. So wie wir ( V, ( ) ) E * e i \ e = U1 aus M * konstruiert haben, konstruieren wir analog einen weiteren Untergraphen U aus ( V, ( ) ) E * e i \ e und Untergraphen Ui+1 aus U i mit i m 1 und i, m ( N, wobei U m = M ist. Für alle U j mit 1 j m und j N gilt dann w Σ (U j ) w ) ( Σ M *. Mithin muss auch w Σ (U m = M) w ) Σ M * ( sein. Dies ist aber ein Widerspruch zur obigen Annahme w ) Σ M * < w Σ (M). Hieraus folgern wir, dass M doch minimal ist. Der Algorithmus von Kruskal lässt sich so implementieren, dass sein Aufwand O ( E log V ) ist. Dies sieht man folgendermaßen ein: Der Algorithmus wird mit einem Heap realisiert, der in O ( E ) erzeugt werden kann und in welchem die Kante mit dem geringsten Gewicht in O (log E ) entfernt wird. Weiterhin lässt sich die Überprüfung auf Kreisfreiheit in O (log V ) implementieren. Da wir in der Schleife alle Kanten aus E durchlaufen, ergibt sich dann O ( E (log E + log V )). Mit dem Aufbauen des Heaps in O ( E ), der Schleife und E V wegen E V V erhalten wir für den Gesamtaufwand O ( E + E (log E + log V )) = O ( E (log V + log V )) = O ( E ( log V + log V )) = O ( E log V ). Als Nächstes betrachten wir einen zweiten Algorithmus zur Bestimmung eines minimal spannenden Baums. Definition.5. Algorithmus von Prim: Eingabe: zusammenhängender kantengewichteter Graph G = (V, E, w) Ausgabe: minimal spannender Baum M = ( V, E ) von G

13 BÄUME 1 B1: V := {v} mit v V ; E := ; B: solange V V { { (x, y) B3: E := E {(x, y), (y, x)}; B4: V := V {y}; } p V q V \ V (p, q) E ( p, q ) E : p V q V \ V w (( p, q )) } < w ((p, q)) Auch zum Algorithmus von Prim geben wir eine Interpretation an. Sei G = (V, E, w) und V = {v} eine Menge von Knoten, die zu Beginn einen beliebigen Knoten v V beinhaltet. Darüber hinaus sei E = die anfangs leere Menge von Kanten des zu findenden minimal spannenden Baums M von G. Wir wählen nun von Kanten der Form {(x, y), (y, x)} von G, wobei x V und y V \ V, eine solche mit minimalem Gewicht aus. Diese Kante fügen wir dann in E ein und y in V. Anschließend wiederholen wir diese Schritte solange, bis V V. Beispiel.4. Wiederum seien G 5 = (V, E) und M 1 = ( V, E ) der Graph beziehungsweise der minimal spannende Baum in Abbildung. aus Beispiel.. Dieses mal berechnen wir M 1 nicht mit dem Algorithmus von Kruskal wie in Beispiel.3, sondern mit dem Algorithmus von Prim. Abbildung.4 veranschaulicht die einzelnen Schritte dieses Algorithmus für M v 1 v 1. v 1 v 4 1. v 1 1 v 3. v 1 1 v 4 4 Abbildung.4: Schrittweiser Aufbau des minimal spannenden Baums M 1 von G 5. Anfänglich sei wegen B1 V := { } und E =. Anschließend durchlaufen wir schrittweise die Schleife B: 1. E = {(, v 1 ), (v 1, )}, V = {, v 1 } (wie wir in Abbildung.4 sehen, müssen wir die Kante {(, )} verwerfen, da V aber / V \ V ). E = {(, v 1 ), (v 1, ), (v 1, v ), (v, v 1 )}, V = {, v 1, v }

14 BÄUME E = {(, v 1 ), (v 1, ), (v 1, v ), (v, v 1 ), (v 1, ), (, v 1 )}, V = {, v 1, v, } = V 4. Wegen V = V wird die Schleife jetzt verlassen und der Algorithmus beendet. Nach der Terminierung des Algorithmus erhalten wir den schon in Beispiel. und Beispiel.3 gezeigten minimal spannenden Baum M 1. Satz.4. Der Algorithmus von Prim ist korrekt. Beweis: Wir verweisen an dieser Stelle auf den in [CH94] durchgeführten Beweis. Wir erwähnen hier nur, dass der Algorithmus von Prim mit Hilfe eines Fibonacci-Heaps in O ( E + V log V ) realisiert werden kann. Die zwei Algorithmen finden nicht nur minimal spannende Bäume, sondern durch eine geschickte Umgewichtung der Kanten auch maximal spannende Bäume. Wollen wir etwa einen maximal spannenden Baum von G = (V, E, w) erzeugen, so geben wir G = ( ) V, E, w mit w (e) = s w (e), s R + und e E : s > w (e) in Kruskals beziehungsweise Prims Algorithmus ein. Wir erhalten dann als Ausgabe einen minimal spannenden Baum von G und somit einen maximal spannenden von G. Die beiden vorgestellten Algorithmen sind, aufgrund der sofortigen und lokalen Auswahl einer Kante mit möglichst kleinem Gewicht, den Greedy- Algorithmen zu zuordnen. Der Algorithmus von Kruskal und der von Prim werden heute im Allgemeinen verwendet, um minimal oder maximal spannende Bäume zu finden. Dennoch existiert ein von Bernard Chazelle entwickelter Algorithmus, der minimal spannende Bäume in einem Graphen G = (V, E) mit einem Aufwand von annähernd O ( E ) findet. Zum Schluss erwähnen wir noch eine praktische Anwendung der genannten Algorithmen. Ein Ingenieur hat die Aufgabe erhalten zwischen verschiedenen Ortschaften eines Landes die Verlegung von Netzwerkkabeln zum Ausbau des Internets zu planen. Dabei muss jeder Ort von jedem anderen Ort aus erreichbar sein. Nun erstellt der Ingenieur zunächst einen Graphen in dem er die Ortschaften als Knoten einträgt. Kanten fügt er zwischen jeweils zwei Knoten ein, wenn zwischen jeweils zwei Orten die Möglichkeit besteht ein Netzwerkkabel zu verlegen. Anschließend überprüft er die realen Kosten eines jeden Netzwerkkabels und trägt diese als Gewicht der entsprechenden Kante im Graphen ein. Hat der Ingenieur den Graphen nun vollständig erstellt, so kann er mit Hilfe von Kruskals beziehungsweise Prims Algorithmus einen minimal spannenden Baum bestimmen. Dieser zeigt dann die Netzwerkkabel an, die Verlegt werden müssen damit jeder Ort von jedem anderen aus erreichbar ist und die die Gesamtkosten des Netzes minimal halten.

15 Literatur [Aig93] Aigner, Martin: Diskrete Mathematik. Braunschweig [u.a.] : Vieweg, ISBN [Bra94] Brandstädt, Andreas: Graphen und Algorithmen. Stuttgart : B. G. Teubner, ISBN [CH94] Clark, John ; Holton, Derek A.: Graphentheorie Grundlagen und Anwendungen. Heidelberg [u.a.] : Spektrum Akademischer Verlag, ISBN X [Das05] Dassow, Jürgen: Logik für Informatiker. Wiesbaden : B. G. Teubner, 005. ISBN [Hol03] Hollatz, Horst: Mathematik Vorlesung für Informatiker. Aachen : Shaker, 003. ISBN [Tur96] Turau, Volker: Algorithmische Graphentheorie. Bonn [u.a.] : Addison Wesley, ISBN

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Minimal spannender Baum

Minimal 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

Mehr

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem

Mehr

Aufgabe 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. 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.

Mehr

9 Minimum Spanning Trees

9 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

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar 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

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Algorithmische Graphentheorie

Algorithmische 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

Mehr

5. Bäume und Minimalgerüste

5. 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

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.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

Mehr

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Übungsblatt 2 - Lösung

Ü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

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 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

Diskrete Mathematik 1 WS 2008/09

Diskrete Mathematik 1 WS 2008/09 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 008/09 Blatt

Mehr

3. 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. 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),

Mehr

Freie Bäume und Wälder

Freie 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

Mehr

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert: KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Wie wird ein Graph dargestellt?

Wie 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

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

Bäume und Wälder. Definition 1

Bä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

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Kap. 6.5: Minimale Spannbäume

Kap. 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

Mehr

Bäume und Wälder. Definition 1

Bä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

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012 Algorithmen und Datenstrukturen Tafelübung 14 Jens Wetzl 8. Februar 2012 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&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

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial

Mehr

Wie 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 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

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Nachbarschaft, Grad, regulär, Inzidenz

Nachbarschaft, 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

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete 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

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Ferienkurs 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 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

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition 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.

Mehr

Kap. 6.5: Minimale Spannbäume ff

Kap. 6.5: Minimale Spannbäume ff Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:

Mehr

3.2 Generischer minimaler Spannbaum-Algorithmus

3.2 Generischer minimaler Spannbaum-Algorithmus 3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: 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

Mehr

Theoretische Informatik 1

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

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralü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

Mehr

3. Musterlösung. Problem 1: Heapsort

3. Musterlösung. Problem 1: Heapsort Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 3. Musterlösung Problem : Heapsort ** 2 3 4 5 Algorithmus : Heapsort (A) Eingabe : Array A der Länge n Ausgabe : Aufsteigend

Mehr

Naiver Algorithmus für Hamiltonkreis

Naiver Algorithmus für Hamiltonkreis Naiver Algorithmus für Hamiltonkreis Algorithmus HAMILTON EINGABE: G = ([n], E) in Adjazenzmatrixdarstellung 1 Für alle Permutationen π : [n] [n]. 1 Falls (π(1), π(2),..., π(n)) ein Kreis in G ist, AUSGABE

Mehr

Einheit 11 - Graphen

Einheit 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)

Mehr

Datenstrukturen und Algorithmen Beispiellösung zu Heimübungsblatt 7. Abbildung 1: Das Array A als Baum (vgl. Foliensatz 16, Folie 3)

Datenstrukturen und Algorithmen Beispiellösung zu Heimübungsblatt 7. Abbildung 1: Das Array A als Baum (vgl. Foliensatz 16, Folie 3) Aufgabe 3 a) Wir verwenden zur Lösung den Algorithmus Build-Heap 1, dieser verwendet die Funktion Heapify. Unser Array A ist gegeben durch [7, 10,, 5, 5,, 3, 3, 17]. 10 5 5 3 17 7 Abbildung 1: Das Array

Mehr

Kürzeste-Wege-Algorithmen und Datenstrukturen

Kürzeste-Wege-Algorithmen und Datenstrukturen Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition 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

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete 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

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Dieser Graph hat 3 Zusammenhangskomponenten

Dieser Graph hat 3 Zusammenhangskomponenten Vl 2, Informatik B, 19. 04. 02 1.1.3 Definitionen und wichtige Graphen Sei im folgenden G =(V;E) ein schlichter ungerichteter Graph. Definition: Der Grad eines Knoten v in einem ungerichteten Graphen ist

Mehr

1 Pfade in azyklischen Graphen

1 Pfade in azyklischen Graphen Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.

Mehr

Algorithmen & Komplexität

Algorithmen & 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

Mehr

1. Einleitung wichtige Begriffe

1. Einleitung wichtige Begriffe 1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und

Mehr

WS 2013/14. Diskrete Strukturen

WS 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

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Drei Vorlesungen über Bäume

Drei Vorlesungen über Bäume Bäume. Einleitung Drei Vorlesungen über Bäume Jens Vygen Nehmen wir einmal an, für einen neuen Zug wollen wir ein komplett neues Schienennetz bauen, das einige Städte miteinander verbindet. Oder ein neues

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

Ein Turnierplan mit fünf Runden

Ein Turnierplan mit fünf Runden Mathematik I für Informatiker Graphen p. 1 Ein Turnierplan mit fünf Runden c b a c b a c b a c b a c b a d e d e d e d e d e Mathematik I für Informatiker Graphen p. 2 Definition: Graph Ein (schlichter)

Mehr

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 5: Suchalgorithmen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 20. März 2018 1/91 WIEDERHOLUNG - BÄUME / bin etc home

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

MafI 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

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. 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

Mehr

1. Einige Begriffe aus der Graphentheorie

1. Einige Begriffe aus der Graphentheorie . Einige Begriffe aus der Graphentheorie Notation. Sei M eine Menge, n N 0. Dann bezeichnet P n (M) die Menge aller n- elementigen Teilmengen von M, und P(M) die Menge aller Teilmengen von M, d.h. die

Mehr

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

3.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 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

Mehr

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Vollständiger Graph Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung

Mehr

Diskrete Mathematik Graphentheorie (Übersicht)

Diskrete Mathematik Graphentheorie (Übersicht) Diskrete Mathematik Graphentheorie (Übersicht) Dr. C. Löh 2. Februar 2010 0 Graphentheorie Grundlagen Definition (Graph, gerichteter Graph). Ein Graph ist ein Paar G = (V, E), wobei V eine Menge ist (die

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Diskrete Mathematik 1

Diskrete 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

( ) ( ) < b k, 1 k n} (2) < x k

( ) ( ) < b k, 1 k n} (2) < x k Technische Universität Dortmund Fakultät für Mathematik Proseminar Analysis Prof. Dr. Röger Benjamin Czyszczon Satz von Heine Borel Gliederung 1. Zellen und offene Überdeckungen 2. Satz von Heine Borel

Mehr

Der Satz von Menger. und seine Anwendung auf Algorithmen zur Berechnung von Ecken und Kanten

Der Satz von Menger. und seine Anwendung auf Algorithmen zur Berechnung von Ecken und Kanten Der Satz von Menger und seine Anwendung auf Algorithmen zur Berechnung von Ecken und Kanten Dozent: Prof. Dr. Iwanowski Erarbeitet von: Kontakt: Katharina Schmitz wi4586@fh-wedel.de Erstellt im WS 2004/05

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Karlsruher Institut für Technologie. Klausur Algorithmen I

Karlsruher Institut für Technologie. Klausur Algorithmen I Klausur-ID: Vorname: Matrikelnummer: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 11. April 2018 Klausur Algorithmen I Aufgabe 1. Kleinaufgaben 15 Punkte

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr