KAPITEL 7. Connectivity

Größe: px
Ab Seite anzeigen:

Download "KAPITEL 7. Connectivity"

Transkript

1 KAPITEL 7 Connectivity

2 Inhalt Einführung Grundlegenden Theoreme - wir fügen wichtige Theoreme, Lemmata und Korollare ein, die uns später besser helfen würden den Inhalt des Kapitels zu verstehen. Minimale Schnitte ( minimum cuts )

3 Inhalt Cactus Repräsentation aller minimalen Schnitten Flow-Based Connectivity Algorithms Knotenzusammenhangsalgorithmen, Even und Tarjan Algorithmus und Kantenzusammenhangsalgorithmen u.a. Non - flow - based Algorithmen Grundlegende Algorithmen für Komponenten

4 Einführung Wir werden uns mit Algorithmen beschäftigen, die - k Knotenzusammenhang (bzw. k-k Kantenzusammenhang) ein gegebenen Graph überprüft. - der Knotenzusammenhang (bzw. der Kantenzusammenhang) ein gegebenen Graph berechnet. - die maximale k - zusammenhängende Komponente ein gegebenen Graph berechnet.

5 Einführung Sei G=(V,E) ein ungerichteten Graph und seien s und t zwei verschiedene Knoten von G. Zwei Pfade p1 und p2 von s nach t heißen Kantendisjunkt,falls sie keine Kanten gemeinsam haben. G heißt k-fach kantenzusammenhängend ( k-edge-connected ),falls es für jedes Paar ( s, t ) verschiedene Knoten von G mindestens k kantendisjunkte Pfade von s nach t gibt. Der Kantenzusammenhang von G ist das maximale k für das k-fach kantenzusammenhängend. (G):=max{k:G ist k-fach kantenzusammenhängend} λ

6 Einführung Sei G=(V,E) ein ungerichteter Graph und weiter seien s und t zwei verschiedene Knoten von G. Zwei Pfade p1 und p2 heißen Knotendisjunkt, falls sie außer dem Startknoten s und Endknoten t keinen Knoten gemeinsam haben. G heißt k- fach knotenzusammenhängend( ( k-k connected ), falls es für jedes Paar ( s, t ) verschiedene Knoten von G mindestens k knotendijunkte Pfade von s nach t gibt. k(g):=max{k:g ist k-k fach zusammenhängend}

7 Einführung Für zwei Knoten s und t in einem ungerichteten Graph G = (V,E) heißt eine Menge F E s - t - trennende Kantenmenge, falls in G\F G F kein Pfad von s nach t existiert. Für zwei Knoten s und t in einem ungerichteten Graph heißt eine Menge T (V\{s,t( {s,t}) eine s-t-trennendetrennende Knotenmenge, falls in G\T G T kein Pfad von s nach t existiert.

8 Einführung

9 Grundlegende Theoremen Theorem.7.1.2:(Menger,1927). - Knotenversion: Für zwei nicht benachbarte Knoten s und t in einem ungerichteten Graphen G ist die maximale Anzahl Knotendisjunkte Pfade von s nach t gleich der minimalen Größe einer s-s t- trennenden Knotenmenge. - Kantenversion: Die maximale Anzahl kantendisjunkte Pfade von s nach t ist gleich der minimalen Größe einer s-t-s trennenden Kantenmenge. Aus dem Satz von Menger lassen sich die folgende weitere Theoreme ableiten:

10 Grundlegende Theoremen Theorem.7.1.5:(Whitney,1932) Ein ungerichteter Graph G mit mindestens k+1 Knoten ist genau dann k - fach knotenzusammenhängend,, wenn jede trennende Knotenmenge in G mindestens k Knoten enthält. Theorem.7.1.6: Ein ungerichteter Graph G ist genau dann k - fach kantenzusammenhängend,, wenn jede trennende Kantenmenge in G mindestens k Kanten enthält.

11 Grundlegende Theoremen Die folgende Theorem von Lovasz stellt die Wechselbeziehung zwischen die maximale Anzahl gerichtete kantendisjunkte Pfade und ein- und aus - Grad eines Knoten dar. Theorem (Lovasz,1973): Sei v V ein Knoten von Graph G = (V,E). Falls λ G (v, w) λg (w, v) für alle Knoten w V,dann d+ d (v) = d- d (v). Als direkte Folgerung liefert diese Theorem den Beweis für den Kotzig s Theorem.

12 Grundlegende Theoremen Theorem (Kotzig s Theorem): Für ein gerichtete Graph G, λ G ( v, w) ist gleich λg( ( w, v) für alle v, w V, dann und nur dann,wenn den Graph pseudo- symmetrisch ist, d.h. die in- degree ( ein- Grad ) ist gleich out- degree (aus- Grad) für alle Knoten d+ d (v) = d- d (v).

13 Einführung zu minimalen Schnitt (minimum cut) w( X,Y ) bezeichnet in einem ungerichteten gewichteten Graphen die Summe der Gewichten von den Kanten mit einem Endpunkt in jeder zwei disjunkten Knotenmengen X und Y. Definition Ein minimalen Schnitt ist so ein Schnitt S, sodass für alle andere Schnitte T gilt: w( S,V\S S ) w( T,V\T T ). Das Algorithmus, das alle minimalen Schnitte berechnet, soll diese Schnitte abbilden. Das Problem ist alle minimale Schnitte abzulegen ohne viel Raum zu verbrauchen.

14 Einführung zu minimalen Schnitt (minimum cut) Ein Vorschlag wurde 1976 von Dinitz gemacht. Er hat die so genannte Datenstruktur Cactus präsentiert, die alle minimalen Schnitte auf einen ungerichteten Graph abbildet. Mit Hilfe einem Cactus können wir die Größe des Schnittes linear berechnen. Karzanov und Timofeev haben die erste Algorithmus für das Konstruieren von ein Cactus für ungewichteten ungerichteten Graphen entworfen. Das Algorithmus hat zwei Teile.

15 Einführung zu minimalen Schnitt (minimum cut) 1.Teil: findet Folgerung aus alle minimale Schnitte 2.Teil: konstruiert den Kaktus aus diese Folgerung. Der Algorithmus funktioniert mit gewichteten Graphen solange alle Gewichte positiv sind. Ein ungewichtete Graph kann in einem gewichteten Graph abgebildet werden, sodass alle Kanten Gewicht 1 zugeteilt wird.

16 Minimale Schnitte in ungerichteten Graphen Definition Paar ( S1 S, S2 S ) heißt kreuzende Schnitt ( crossing cut ), wenn S1 S, S2S zwei minimalen Schnitte sind und keine von der Mengen S1 S2,, S1 S \ S2,S2 \ S1, S1 S2 leer ist.

17 Minimale Schnitte in ungerichteten Graphen Definition Eine Kreispartition ist eine Partition von V in k 3 disjunkte Mengen V1,VV,V2,...,Vk,sodass 1. w( Vi, Vj ) = { λ/ 2 : i-j i j = 1 mod k und 0: sonst 2. Wenn S ein minimale Schnitt ist, dann a. S oder S ist echte Teilmenge von einige Vi,, oder b. Der minimale Schnitt ist die Vereinigung einiger Mengen von den Kreispartition ( circular partition).

18 Minimale Schnitte in ungerichteten Graphen Zwei Kreispartitionen P:={U1 Uk Uk} } und Q:={V1 Vl} sind passend (compatible( compatible), wenn es eindeutige r und s gibt, sodass für alle i r :Ui Vs und für alle j s : Vj Ur

19 Cactus Repräsentation von alle Eine Menge S heißt laminar - S1 und S2S sind disjunkt, oder - S1 S2,oder - S2 S1 minimale Schnitte laminar,, wenn für S1,S S,S2 S : Jede laminare Menge S kann als Baum dargestellt werden. Jeder Knoten stellt eine Menge in S dar ; die Blätter stellen die Mengen dar, die keine andere Mengen aus S enthalten. Der Vater eines Knoten, der eine Menge T darstellt, stellt die kleinste Obermenge von T. Diese Konstruktion endet mit eine Menge von Bäume,genannt Wald. Fügt man ein extra Knoten r zu dem Wald ein und schließt alle Wurzeln von den Bäumen eines Waldes mit eine Kante zu den neuen Knoten r ein, bekommt man ein Wurzel von einem größeren Baum. Daher stellen die Knoten von einen Baum alle Mengen von S dar und die Wurzeln stellen die gesamte grundlegende Menge. Das ist die Vereinigung alle Elemente S S.. Wenn diese Vereinigung n Elemente hat, dann kann so ein Baum höchstens n Blätter haben und daher höchstens 2n-1 Knoten.

20 Cactus Repräsentation von alle minimale Schnitte Zunächst betrachten wir G=(V,E) ohne Kreispartitionen. Da alle minimale Schnitte von G laminar sind, kann das mit ein Baum TGT wie folgt dargestellt werden: - Betrachte die kleinste Knotenmenge von jeder minimalen Schnitt. - Bezeichne diese Menge von Mengen mit Λ - Wenn die Knotenmengen eines minimalen Schnittes gleiche Größe haben, nimm eine davon. - Repräsentiere jede Menge von Λ mit einem einzelnen Knoten.

21 Cactus Repräsentation von alle minimale Schnitte Zwei Knoten, entsprechend minimalen Schnitte A und B, sind in G verbunden mit eine Kante, wenn A B und es gibt keinen anderen minimalen Schnitt C,sodass A C B. Also die Wurzeln des Waldes stellen minimale Schnitten in Λdar, die in keine anderen minimalen Schnitt enthalten sind. Schließe alle Wurzeln eines Waldes mit eine Kante zu eine einzelne extra Knoten,die wir als Wurzel des Baumes definieren. Beim entfernen einer Kante in den Baum trennt sich ein Unterbaum von den Rest des Baumes.

22 Cactus Repräsentation von alle minimale Schnitte Für jeder minimale Schnitt S von G sind die Knoten von S abgebildet zu einige Knoten X, sodass es eine Kante gibt, bei denen Entfernen,trennt sich der Knoten X von den Rest des Baumes. Umgekehrt: Beim Entfernen eine Kante aus TGT trennen sich die Knoten des Baumes an zwei Teile, sodass die Menge alle Knoten die in eine Teil abgebildet sind, ein minimale Schnitt ist. Wenn G keine Kreispartition hat, ist der Baum TGT der Cactus CG für G.Die Anzahl der Knoten des Cactus ist 2 V - 1. Beachte ein Graph G = ( V,E ),der nur eine Kreispartition V1,...,Vk hat.

23 Cactus Repräsentation von alle minimale Schnitte Circular partition cuts können durch ein Kreis mit n Knoten repräsentiert werden. Für 1 i k, die Knoten jeder Teil Vi sind mit einen Knoten NiN des Kreises dargestellt, sodass zwei Teile Vi und Vi+1V mit zwei benachbarte Knoten dargestellt sind. Wir können der Baum T(Vi,E) konstruieren für alle minimalen Schnitte die Untermengen von Vi mit Restriktion, dass nur die Knoten von Vi in diese Baum abgebildet sind. Der Wurzel von T(Vi,E) entspricht genau die Menge Vi.Man verbindet den Knoten Ni des Kreises mit den Wurzel von T(Vi,E) für alle 1 i k. Dieses Kreis verbunden mit alle Bäume ist der Cactus CG für G.

24 Cactus Repräsentation von alle minimale Schnitte Die Anzahl der Knoten ist gleich die Summe aller Knoten in die Bäume T(Vi,E) mit 1 i k. Daher kommt die Anzahl der Knoten des Cactus 2 V -1. Betrachte der Graph G = ( V,E ) mit Kreispartitionen P1,...,Pz.Nehme.Nehme alle Kreispartitionen als Menge von Mengen. Die Knoten jeder Menge F F P1... Pz sind abgebildet in einen Knoten und zwei Knoten sind zusammenhängend, wenn für F1F und F2 F : w( F1,FF,F2 ) > 0. Jeder Kreispartition erstellt ein Kreis in CG C.Da alle Kreispartitionen paarweise passend sind, sind die Kreise zusammengebunden mit Kanten, die zu keinem Kreis gehören.

25 Cactus Repräsentation von alle minimale Schnitte

26 Flow-Based Connectivity Algorithms Die meisten Algorithmen für die Berechnung der Knoten / Kantenzusammenhang basieren an die Berechnung von (maximum flow ) maximale Fluss durch abgeleitete Netzwerk. Definition Ein Netzwerk wird ein Einheitskapazität Netzwerk genannt ( oder Netzwerk ),wenn der Kapazität 1 für alle Kanten ist. Ein Einheitskapazität Netzwerk ist von Typ 1,wenn es keine parallele Kanten hat, oder von Typ 2,wenn für jeder Knoten v( v s, v t ) und der Eingangsgrad d-(v) ) oder der Ausganggrad d+(v) ) nur 1 ist.

27 Flow-Based Connectivity Algorithms Lemma Für ein unit capacity Network kann der Maximum Fluss in Ο( 3/2 m ) berechnet (mit der Dinitz s Algorithmus ) 2.Für ein unit capacity Network von Typ 1 - Ο 2/3 ( n m) 3.Für ein unit capacity Network von Typ 2 - Ο ( n 1/2 m)

28 Flow-Based Connectivity Algorithms Der Grundlage von alle flow-based Zusammenhangsalgorithmen ist ein Unterprogramm, die der Zusammenhang zwischen zwei eindeutige Knoten s und t berechnet. Methode von Even für Berechnung kg( ( s, t ): Gegeben seien ein Graph G = ( V,E ),n Knoten und m Kanten, abgeleitet zu ein gerichtete Graph G = ( V, E ) mit V = 2n und E = 2m + n durch austauschen jeder Knoten v V mit zwei v, v V, verbunden mit eine Kante ev = (v, v ) V. Fig.7.9.

29 Flow-Based Connectivity Algorithms k( s, t ) ist berechnet als Maximum flow in von Quelle s zu Senke t mit unit capacities für alle Kanten. Jedes Paar v, v V repräsentiert ein Knoten v V die innere Kante ( v, v ),die einzige Kante entstammend aus v und gehend in v,da Netzwerk G von Typ 2 ist. Even und Tarjan Algorithmus Laufzeit : Ο ( 2) n m G

30 Flow-Based Connectivity Algorithms

31 Flow-Based Connectivity Algorithms Der folgende Algorithmus : - Berechnet den Spannbaum eines gegebenen Graphen - Wählt ein beliebige innere Knoten v von den Baum und berechnet die lokale Zusammenhang λ( v, w) zu jeder anderen Knoten w, der kein Blatt ist. - Das Minimum von diese Werte zusammen mit δ (G) ergibt genau λ (G). Algorithmus 15 berechnet ein Spannbaum T von G, sodass L und R einiger minimale trennende Kantenmenge sind und enthalten mindestens ein Blatt von T und mindestens ein inneren Knoten.

32 Flow-Based Connectivity Algorithms Lemma Annahme : λ (G) < δ (G).Wenn T ein Spannbaum von G ist, dann alle Komponente von G - S enthalten mindestens ein Knoten, der kein Blatt von T ist. (Knoten von T, die keine Blätter sind, formen ein λ - covering ).

33 Flow-Based Connectivity Algorithms

34 Flow-Based Connectivity Algorithms Die Berechnung des Kantenzusammenhang basiert auf den Maximalenfluss Algorithmus,der den lokalen Kantenzusammenhang λ G( ( s, t ) berechnet.man ersetzt einfach alle ungerichteten Kanten durch Paare,antiparallele gerichteten Kanten mit Kapazität 1 und berechnet der Maximalenfluss von der Quelle s zu der Senke t. Da das Netzwerk von Typ 1 ist, die Berechnung ist auf Grund des Lemma mit Komplexität 3/2 2/3 O ( m, n m ) von (G).

35 Flow-Based Connectivity Algorithms Ein trivialen Algorithmus für die Berechnung von λ (G) könnte einfach des Minimum von den lokalen Kantenzusammenhang für alle Paare von Knoten ausrechnen. Dieses Algorithmus würde nn ( 1)/2 Aufrufe des Maximumfluss Unterprogramm machen. Wir können leicht der Algorithmuskomplexität verbessern, wenn wir nur die Zusammenhang λ G( ( s, t ) für ein einzelnen Knoten s und alle anderen Knoten t beachten.

36 Flow-Based Connectivity Algorithms Da ein von den Knoten t V\ V {s} durch beliebige minimalen Kantenschnitt von s getrennt sein muss, λ (G) entspricht das Minimum von alle diese Werte. Die Anzahl den Aufrufen von MaxFlow ist dadurch reduziert auf n-1. n Die gesamte Zeitkomplexität ist 2 / 3 1 / 2 O ( n m. m i n { n, m } ) Der oben erwähnte Algorithmus funktioniert, wenn die ganze Knotenmenge durch eine Untermenge ersetz wird, die zwei Knoten enthält,die durch einige minimalen Kantenschnitt getrennt sind. Das folgende versucht die Größe diese Knotenmenge zu reduzieren.

37 Flow-Based Connectivity Algorithms Sei S ein minimalen Kantenschnitt eines Graphen G=(V,E) und seien L,R V ein Partition einer Knotenmenge, sodass L und R durch s getrennt sind. Lemma Wenn λ( G) < σ ( G),dann enthält jeder Komponente von G-S G S mehr als σ(g) Knoten, das heißt L > σ (G) und R > σ (G).

38 Flow-Based Connectivity Algorithms λ (G) (kantenzusammenhang( kantenzusammenhang) ) ist dann berechnet mit diesem Algorithmus: λ Laufzeit : O ( m n )

39 Non flow - based Algorithmen Wir betrachten jetzt Zusammenhangsalgorithmen, die nicht auf Netzwerkflusstechniken basiert sind Der minimalen Schnittalgorithmus von Stoer und Wagner Jede Phase des Algorithmus ist sehr ähnlich zu den minimalen Spannbaumalgorithmus und Dijkstra s und kürzeste Pfade Berechnung. Die äquivalente Laufzeit O( m + n log n ) pro Phase hat eine gesamte Komplexität von O( nm +n²logn ).

40 Non flow - based Algorithmen

41 Non flow - based Algorithmen

42 Non flow - based Algorithmen Randomisierte Algorithmen (randomized( randomized): - für viele Probleme die einzigen bzw. die schnellsten verfügbaren effizienten Lösungsmethoden. - Monte-Carlo Algorithmen liefern Näherungslösungen für viele Probleme. Die praktische Durchführung eines solchen Algorithmus basiert auf dem Einsatz von Zufallszahlen. - Las Vegas Algorithmen liefern immer exakte Ergebnisse. Die Laufzeit ist aber zufällig.

43 Non flow - based Algorithmen - Linial, Lovasz, Wigderson : - Monte-Carlo Algorithmus : ( ) Laufzeit : Ο n nk 2.5 mit Fehler Wahrscheinlichkeit < 1/n. - Las Vegas Algorithmus : Laufzeit : ( n 2.5 nk 3.5 ) Ο +

44 Grundlegende Algorithmen für Komponenten - biconnected components( ( 2-zusammenhängende 2 Komponenten) - strongly connected components( ( stark zusammenhängende Komponenten) - triconnectivity components(3-zusammenhängende Komponenten) Komponente (ungerichteten Graphen): ein maximalen Teilgraph, in dem jeder Knoten von jedem anderem Knoten aus erreichbar ist. Ein Knoten a in G heißt Artikulationsknoten, wenn {a} eine trennende Knotenmenge in einer Zusammenhangskomponente von G ist.

45 Grundlegende Algorithmen für Komponenten biconnected components Eine Komponente eines ungerichteten Graphen ist 2-fachzusammenhängend, wenn jeder Knoten von jedem anderen Knoten auf zwei unterschiedliche Pfade erreichbar ist. Frage: Welche Knoten einer Netzwerk immer zusammenhängend bleiben, in der Fall, dass ein beliebigen Knoten ausfällt. Die Berechnung von biconnected components einen Graphen werden Blöcke genannt.

46 Grundlegende Algorithmen für Komponenten Die Blöcke von G=(V,E) kann man durch eine modifizierte Tiefensuche berechnen(1972,tarjan).eine Tiefensuche besucht von einem Startknoten s V aus alle anderen Knoten nach den folgenden Regeln, wobei die Kanten von G in Baumkanten (die am Ende einen Spannbaum von G, sog. DFS-Baum ergeben) und Rückwärtskanten eingeteilt werden. - num := preorder Reihenfolge ( Nummerierung) - Rückwertskante keine Baumkante, gerichtet von eine Knote mit größere num nach eine Knote mit kleinere num.

47 Grundlegende Algorithmen für Komponenten - low[v] = minimale Präordernummer num[w] eines Knotens w, der von v aus über 0 Baumkanten abwärts, evtl. gefolgt von einer einzigen Rückwärtskante, erreicht werden kann. Am Anfang ist s die aktuelle Knoten und als besucht markiert. Falls der aktuelle Knoten v ein unbesuchten Nachbarknoten w hat, so wird die Tiefensuche bei w fortgesetzt, d.h. w wird als besucht markiert und ist nun der aktuelle Knoten. Die Kante(v,w) ist eine Baumkante und v der Vater von w in DFS-Baum.

48 Grundlegende Algorithmen für Komponenten Falls der aktuelle Knoten v keine unbesuchten Nachbarn hat, so wird der Vater von v zum aktuellen Knoten. Falls v keinen Vater hat, so muss v =s gelten und die Tiefensuche ist beendet. Die Tiefensuche wird als rekursive Prozedur implementiert, die beim aktuellen Knoten einmal über alle Nachbarkanten läuft und dabei für jede Kante zu einem unbesuchtem Knoten einen rekursiven Aufruf macht. Die Berechnung von low - Werte geschieht einfach durch Ausnutzung der folgenden Tatsache : low[v] =min ({num[v] } { low[w] wobei w ist Kind von v in DFS-Baum} {num[w] {v, w} ist Rückwärtskante})

49 Grundlegende Algorithmen für Komponenten

50 Grundlegende Algorithmen für Komponenten strongly connected conponents Eine starke zusammenhängende Komponente eines gerichteten Graphen ist ein maximaler Teilgraph in dem jeder Knoten von jedem anderen Knoten aus erreichbar ist. - Berechnung mittels modifizierte Tiefensuche

51 Grundlegende Algorithmen für Komponenten 1.Nummeriere alle Knoten des Graphen in preorder Reihenfolge einer Tiefensuche. 2.Bilde den inversen inversen Graphen durch umkehren der Orientierung aller Kanten. 3.Ermittle aller spannende Bäume des inversen Graphen durch Tiefensuche in den Reihenfolge der Nummerierung der Knoten. Die Knoten jedes spannenden Baumes bilden gemeinsam mit den sie verbindenden Kanten des ursprünglichen Graphen die stark zusammenhängenden Komponenten. Die Kanten, die während den Tiefsuche überprüft sind, sind wie folgt eingeteilt :

52 Grundlegende Algorithmen für Komponenten 1. Alle Kanten, die zu nicht markierte Knoten leiten, heißen Baumkanten( tree edges - Die gehören zu den DFS Wald). 2. Die Kanten, die zu eine Knoten w leiten, der schon in den vorherige Schritt markiert wurde, gliedern sich in die folgende Klassen : - Wenn num [w] > num [v], nennt man Vorwärtskante. - Einerseits, wenn w ein Urahn von v in den selben DFS- Baum ist, heißt e Rückwärtskante. - Andererseits ist kreuzende Kante (cross edge )

53 Grundlegende Algorithmen für Komponenten

54 Grundlegende Algorithmen für Komponenten Zwei Knoten v, w sind in den selben starken Komponenten, wenn es ein direkte Pfade von w nach v und von v nach w gibt. Das induziert äquivalente Relation als Partition einer Knotenmenge (bei biconected components ist die Knotenmenge partitioniert,, da die Knoten können zu mehreren Komponenten gehören.

55 Grundlegende Algorithmen für Komponenten triconnectivity components Definition Sei G=( V, E ) ein 2-zusammenhängende 2 (multi-) ) Graph. Zwei Knoten a, b V heißen Separationspaar von G, wenn den induzierten Teilgraph an den Knoten V\{a,b} } nicht zusammenhängend ist. Das Paar (a, b) zerlegt den Kanten von G in äquivalenten Klassen E1,.. E,..,Ek, (Separationsklassen). Zwei Kanten gehören zu den selben Klasse, wenn beide an den selben Pfad p liegen,der weder a noch b,als inneren Knoten enthält. Das Paar (a, b) ist Separationspaar, wenn es wenigstens zwei Separationsklassen gibt. Außer diese spezial Fällen:

56 Grundlegende Algorithmen für Komponenten - Es gibt genau zwei Separationsklassen und einer davon entsteht aus eine einzige Kante. - Wenn genau drei Separationsklassen gibt, die alle aus eine einzelne Kante entstehen. Definition l Sei (a, b) Separationspaar von G und seien die Äquivalentklassen E1,, E,,k geteilt an zwei Gruppen E`= k i= und E = Ei, wobei jede Gruppe wenigstens zwei U i=+ l 1 Kanten enthält. Die zwei Graphen G`=(V(E` e), E` e) und U U G``=(V(E`` e), E`` e), wobei e= (a, b) eine virtuale Kante ist, heißen Splitgraphen von G. Wenn der Splitoperation rekursiv ist, dann ergeben e sich die Splitkomponenten von G. U U U 1 Ei

57 Grundlegende Algorithmen für Komponenten Es gibt drei Typen Splitkomponenten : - triple bonds Dreifachbindungen ( 3 Kanten zwischen 2 Knoten) - triangles - Dreiecken (Zyklen der Länge 3) - triconnected simple graphs Die drei-fach zusammenhängende Komponenten werden aus die Splitkomponenten berechnet durch mischen der triple bonds so viel wie möglich zu multiple bonds und durch mischen der driangles zu polygons (Vieleck). Laufzeit : O( V + E ).

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

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

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

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

WS 2009/10. Diskrete Strukturen

WS 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

Mehr

Graphen und Bäume. A.1 Graphen

Graphen 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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen

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

Algorithmen II Vorlesung am

Algorithmen 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

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

4 Greedy-Algorithmen (gierige Algorithmen)

4 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

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

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

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

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

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

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

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

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

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Ausarbeitung über den Satz von Menger und den Satz von König

Ausarbeitung über den Satz von Menger und den Satz von König Ausarbeitung über den Satz von Menger und den Satz von König Myriam Ezzedine, 0326943 Anton Ksernofontov, 0327064 Jürgen Platzer, 0025360 Nataliya Sokolovska, 0326991 1. Beweis des Satzes von Menger Bevor

Mehr

8 Diskrete Optimierung

8 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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Einführung in die Graphentheorie. Monika König

Einführung in die Graphentheorie. Monika König Einführung in die Graphentheorie Monika König 8. 11. 2011 1 Vorwort Diese Seminararbeit basiert auf den Unterkapiteln 1.1-1.3 des Buches Algebraic Graph Theory von Chris Godsil und Gordon Royle (siehe

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

6. Übung zur Linearen Optimierung SS08

6. Ü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

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 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

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

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

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete 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

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas

Mehr

WS 2009/10. Diskrete Strukturen

WS 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

Mehr

Studientag zur Algorithmischen Mathematik

Studientag 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

Mehr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer

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

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

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

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

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

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 204 4. Vorlesung Matchings / Paarungen Kombinatorische Anwendungen des Max-Flow-Min-Cut-Theorems Prof. Dr. Alexander Wolff 2 Paarungen (Matchings) Def. Sei

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene 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

Mehr

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen 6. Flüsse in Netzwerken Berechnung maximaler Flüsse Satz 6.4. Ersetzt man in Algorithmus 6.1 den Schritt 2 durch 2a. Wähle den Knoten, der zuerst in eingefügt wurde. Setze. dann berechnet der arkierungsalgorithmus

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin Anwendungen von Netzwerkfluss Wojciech Polcwiartek Institut für Informatik FU Berlin 13. 01. 2009 Gliederung Einführung Netzwerk, Fluss und Schnitt Max-Flow-Min-Cut Theorem Algorithmen zum Bestimmen vom

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

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

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen Kapitel 10 Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition

Mehr

2 Tiefen- und Breitensuche

2 Tiefen- und Breitensuche 2 Tiefen- und Breitensuche Übersicht 2.1 SpannendeBäume... 21 2.2 WiefindetmanspannendeBäume?... 24 2.3 AnwendungenvonBFSundDFS... 29 2.4 Aufgaben... 33 2.1 Spannende Bäume Vor nicht allzu langer Zeit

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

KAPITEL 4 FLÜSSE IN NETZWERKEN

KAPITEL 4 FLÜSSE IN NETZWERKEN KAPITEL 4 FLÜSSE IN NETZWERKEN F. VALLENTIN, A. GUNDERT 1. Das Max-Flow-Min-Cut Theorem Es sei D = (V, A) ein gerichteter Graph, s, t V zwei Knoten. Wir nennen s Quelle und t Senke. Definition 1.1. Eine

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

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 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

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Definition 7.1. Der Coxeter Graph zu W ist der ungerichtete gewichtete Graph Γ W = (V, E), mit Eckenmenge V und Kantenmenge E, gegeben durch V = und

Definition 7.1. Der Coxeter Graph zu W ist der ungerichtete gewichtete Graph Γ W = (V, E), mit Eckenmenge V und Kantenmenge E, gegeben durch V = und 7. Coxeter Graphen Um die endlichen Spiegelungsgruppen zu klassifizieren, wollen wir ihnen nun Graphen zuordnen, die die Gruppen bis auf Isomorphie eindeutig bestimmen. Im Folgenden sei wie vorher Π Φ

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 8, 4.11.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Am Dienstag, 11.11., fällt die

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

Algorithmen und Datenstrukturen 2-2. Seminar -

Algorithmen und Datenstrukturen 2-2. Seminar - Algorithmen und Datenstrukturen 2-2. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 2. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A4 Flußnetzwerk, Restgraphen

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Verteilen von Bällen auf Urnen

Verteilen von Bällen auf Urnen Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle

Mehr

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. Lösungen Übung 13 Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. a) Strategie 1 (nächster Nachbar): Jedes Mal reist der Reisende vom Punkt, wo er gerade ist, zur nächstgelegenen Stadt,

Mehr

RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I

RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I Shanni Cai Verbindende gefärbte Punktmengen 31. Oktober 2006 Seminararbeit im WS 2006/2007 Betreuer: Martin Köhler Sanaz Kamali

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

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2 Inhaltsverzeichnis - Kurzer Überblick Seite 1-1) Einleitung Seite 1-2) Vorbereitungen Seite 2 - ungewichtete und ungerichtete Graphen Seite 2 - Erweiterung für gerichtete Graphen Seite 8-3) a) Abschätzung

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

DATENSTRUKTUREN UND ALGORITHMEN

DATENSTRUKTUREN UND ALGORITHMEN DATENSTRUKTUREN UND ALGORITHMEN 2 Ist die Datenstruktur so wichtig??? Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen Dünn besetzte Graphen und Matrizen bilden

Mehr

f h c 7 a 1 b 1 g 2 2 d

f 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

Mehr

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007 Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80

Mehr

Algorithmen zur Berechnung von Matchings

Algorithmen zur Berechnung von Matchings Algorithmen zur Berechnung von Matchings Berthold Vöcking 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber auf freie Stellen

Mehr

15 G R A P H E N gerichtete graphen

15 G R A P H E N gerichtete graphen 15 G R A P H E N In den bisherigen Einheiten kamen schon an mehreren Stellen Diagramme und Bilder vor, in denen irgendwelche Gebilde durch Linien oder Pfeile miteinander verbunden waren. Man erinnere sich

Mehr

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers Graphalgorithmen 2 Oleksiy Rybakov 3. Juni 2015 Betreuer: Tobias Werth, Daniel Brinkers 1 / 40 Inhaltsverzeichnis 1 Minimale Spannbäume und Datenstrukturen 2 Kürzeste Wege 3 Spezielle Graphen 2 / 40 Minimale

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr