Graphentheorie. Yichuan Shen. 10. Oktober 2013

Größe: px
Ab Seite anzeigen:

Download "Graphentheorie. Yichuan Shen. 10. Oktober 2013"

Transkript

1 Graphentheorie Yichuan Shen 0. Oktober 203 Was ist ein Graph? Ein Graph ist eine kombinatorische Struktur, die bei der Modellierung zahlreicher Probleme Verwendung findet. Er besteht ganz allgemein aus einer Menge von Objekten, auch Knoten genannt, und Relationen zwischen diesen Objekten, auch Kanten genannt. Beispiel. (Das Königsberger Brückenproblem) Als Geburtsstunde der Graphentheorie kann eine Arbeit von Leonard Euler aus dem Jahr 736 angesehen werden: Die Stadt Königsberg in Preußen (heute Kaliningrad in Russland) liegt am Zusammenfluss zweier Arme der Pregel. Die Stadt besitzt sieben Brücken, die die einzelnen Stadtteile verbinden, die an den verschiedenen Ufern dieser Flussarme und auf einer Insel im Fluss liegen. Kann nun ein Spaziergänger an einem beliebigen Punkt der Stadt aus starten, über alle sieben Brücken genau einmal zu spazieren, und schließlich wieder den Ausgangspunkt erreichen?

2 Um dieses Problem zu lösen, bezeichnet Euler die einzelnen Stadtteile mit A, B, C und D und verbindet die Punkte mit einer Kante, wenn eine Brücke zwischen denen existiert. Der Stadtplan von Königsberg hat unter diesem Blickwinkel nun die folgende Gestalt: A B C D Gibt es einen Weg, die von einem beliebigen Knoten ausgeht, genau einmal über jede Kante verläuft und zum Ausgangspunkt zurückführt? Auf dieser Basis konnte Euler nun sehr einfach zeigen, dass es in Königsberg keinen Rundgang der gewünschten Art gibt: Auf einem solchen Rundgang müsste nämlich die Anzahl der Kanten in jedem Zwischenknoten gerade sein. Definition. Ein (ungerichteter) Graph G = (V, E) ist ein Tupel, bestehend aus einer Menge V und einer Teilmenge: E {{u, v} V u v} Die Elemente der Menge V werden Knoten genannt, die Elemente e = {u, v} der Menge E sind die Kanten des Graphen. Die Kante e verbindet die Knoten v und u. In diesem Fall sagen wir, dass v und u adjazent sind. Ein Tupel G = (V, E) heißt gerichteter Graph oder auch Digraph, wenn die Kantenmenge E V V aus Tupeln besteht. G heißt endlich, wenn die Knotenmenge V endlich ist. Wir werden nur von nun an nur endliche Graphen betrachten. Bemerkung. Tatsächlich kann man mit unserer Definition das Königsberger Brückenproblem nicht modellieren, da wir keine Möglichkeiten haben, doppelte Kanten darzustellen. Ein Graph, das Mehrfachkanten erlaubt, heißt Multigraph. Beispiel. werden. Ein Graph kann zur Modellierung verschiedenster Gebiete verwendet V {Webseiten}, (u, v) E Es existiert ein Link auf Seite u nach Seite v. Dann ist G = (V, E) ein Digraph. V {Ortschaften}, {u, v} E Es existiert eine Straße, die u und v auf direktem Wege verbindet. Dann ist G = (V, E) ein Graph. V {Medikamente}, {u, v} E Die gleichzeitige Einnahme von u und v ist tödlich. Dann ist G = (V, E) ein Graph. 2

3 V {Länder}, {u, v} E Länder u und v haben auf der Landkarte eine gemeinsame Grenze. Dann ist G = (V, E) ein Graph. V {Personen}, {u, v} E u und v sind befreundet. G = (V, E) ist meistens ein ungerichteter Graph. Definition. Für einen Graphen G = (V, E) definieren wir die Nachbarschaft Γ(v) eines Knotens v V durch: Γ(v) := {u V {u, v} E} Der Grad deg(v) := #Γ(v) von v bezeichnet die Größe der Nachbarschaft von v. Satz. Für jeden Graphen G = (V, E) gilt: deg(v) = 2 #E v V Beweis. Wir führen den Beweis durch vollständige Induktion über die Kantenzahl m = #E. Ist m = 0, so auch Γ(v) E = und somit deg(v) = 0 für alle v V. Sei die Behauptung für alle Graphen mit höchstens m Kanten bewiesen und G = (V, E) ein Graph mit m + Kanten. Sei e = {u, v } E eine Kante und betrachte den Graphen G = (V, E \ {e}). Nach der Induktionsvoraussetzung gilt: deg G (v) = 2m v V Nun ist deg G (v) = deg G (v) für alle v V \ {u, v } und deg G (v) = deg G (v) + für alle v {u, v }. Also folgt: deg G (v) = 2 + deg G (v) = 2(m + ) = 2 #E v V v V Korollar 2. gerade. In jedem Graphen ist die Zahl der Knoten mit ungeradem Grad Beweis. Aufgrund des letzten Satzes ist die Gesamtsumme der Knotengrade in jedem Graphen gerade. Da sich gerade Knotengrade stets zu einer geraden Summe addieren, ungerade aber nur, wenn die Zahl der Summanden gerade ist, muss die Zahl der ungeraden Knotengrade gerade sein. Korollar 3. Für einen k-regulären Graphen G = (V, E), d.h. deg(v) = k für alle v V gilt: k #V = 2 #E 3

4 Definition. Ein Graph H = (V, E ) heißt Teilgraph eines Graphen G = (V, E), wenn V V und E E gilt. Gilt sogar u, v V {u, v} E, so nennt man H einen induzierten Teilgraphen von G und schreibt H = G[V ]. Beispiel. Betrachte den 4-regulären Graphen K 5 : Dann sind der linke Graph ein Teilgraph und der rechte der induzierte Teilgraph K 5 [{, 3, 4, 5}]: Definition. Sei G = (V, E) ein Graph und u, v V. Ein Weg W von u nach v ist eine endliche Folge W = (w 0,..., w l ) mit u = w 0 und v = w l, so dass {w i, w i } E für alle i =,..., l gilt. Die Länge dieses Weges ist l. W heißt geschlossen, wenn w 0 = w l gilt. W heißt Pfad, wenn alle Knoten w 0,..., w l paarweise verschieden sind. W heißt Kreis, wenn er geschlossen ist und (w,..., w l ) ein Pfad ist. Definition. Zwei Knoten u, v V eines Graphen G = (V, E) heißen zusammenhängend, wenn es in G einen Weg von u nach v gibt. Diese Zusammenhangsrelation ist eine Äquivalenzrelation. G heißt zusammenhängend, wenn jedes Paar von Knoten u, v V zusammenhängend ist. Die Äquivalenzklassen der Zusammenhangsrelation heißen Zusammenhangskomponenten von G. 4

5 Bemerkung. Eine Zusammenhangskomponente eines Graphen ist also ein maximal zusammenhängender induzierter Teilgraph. Lemma 4. Sei G = (V, E) ein zusammenhängender Graph und C ein Kreis in G. Dann ist für jede im Kreis C enthaltende Kante e der Graph G e := (V, E \{e}) zusammenhängend. Beweis. Angenommen, G e wäre nicht zusammenhängend. Dann gibt es mindestens zwei Zusammenhangskomponenten. Da G zusammenhängend ist, müssen die Knoten der Kante e = {u, v} in verschiedenen Zusammenhangskomponenten liegen. Weil e in einem Kreis C liegt, gibt es einen Pfad von u nach v, der die Kante e nicht enthält. Also liegen u, v in der selben Zusammenhangskomponente, ein Widerspruch. 2 Datenstruktur Wir wollen nun anhand des folgenden Beispiels Graphenprobleme mithilfe eines Rechners lösen. Gegeben ist ein Labyrinth, ein Eingang und ein Ausgang. Das Ziel ist einen Weg durch das Labyrinth zu finden. Als Erstes unterteilen wir das Labyrinth in gleich große Quadrate wie im Bild angedeutet. Die nicht passierbaren Wände werden mit grau hinterlegt und die Gänge des Labyrinths mit weiß. Wir erhalten unser Labyrinth-Graph G = (V, E), wobei: V = {Nicht-graue Quadrate}, {u, v} E u und v liegen nebeneinander 5

6 Bevor wir anfangen können, müssen wir einen Graphen im Rechner darstellen können. Für eine Repräsentation von G im Rechner ist es hilfreich, wenn die Knotenmenge aus natürlichen Zahlen besteht. Wir identifizieren jedes Quadrat aus V mit einer natürlichen Zahl, also V = {0,,..., n}. Definition. Die Adjazenzmatrix eines Graphen G = (V, E) ist definiert als A = (a uv ) 0 u,v n mit: {, {u, v} E a uv := 0, sonst A ist symmetrisch, d.h. a uv = a vu. Man kann Graphen auch in einer Adjazenzliste Γ speichern, d.h. wir speichern für jeden Knoten seine Nachbarschaft als eine Liste. Beispiel. Die folgende Abbildung illustriert die Speicherung eines Graphen mit einer Adjazenzmatrix bzw. Adjazenzliste: 0 3 A = , Γ = [ [, 3] [0, 3, 2] [] [, 0] ] Beide Darstellungen haben Vor- und Nachteile. So ist der Platz, den eine Adjazenzmatrix im Speicher benötigt, proportional zu der Anzahl der Einträge in der Matrix, also proportional zu #V 2. Diese Darstellung eignet sich besonders für dichte Graphen. Im Gegensatz dazu ist die Darstellung durch eine Adjazenzliste effizienter, wenn der Graph nicht dicht ist, so dass viele Einträge der Adjazenzmatrix Null wären. Definition. Um den Graphen effizient durchsuchen zu können, ist es praktisch zu wissen, ob man einen Knoten schon besucht hat oder nicht. Ferner wollen wir beim Durchlaufen des Graphen zu jedem Knoten seinen Vorgänger speichern, damit wir am Ende den Weg zurückverfolgen und somit rekonstruieren können. Wir speichern diese Daten in einem Zustandsarray s. Für alle v V setzen wir s[v] :=, wenn v noch nicht besucht ist. Andernfalls setzen wir s[v] := u 0, wenn u V der Vorgänger von v ist und s[v] := v 0, wenn v kein Vorgänger hat, d.h. der Startknoten ist. 6

7 3 Durchlaufen von Graphen Unsere erste Idee ist es, ein Divide & Conquer-Algorithmus zu entwerfen. Wenn wir es rekursiv machen, geht es schon fast von selbst: Wenn der Zielknoten in der Nachbarschaft vom Startknoten ist, sind wir fertig. Wenn nicht, entfernen wir den Startknoten vom Graph und erhalten einen kleineren Teilgraphen, den wir rekursiv mit der Tiefensuche durchsuchen. Algorithmus 5. (Tiefensuche) : u V ist der Startknoten, v V der Zielknoten, s der Zustandsarray. 2: 3: function DepthFirstSearch(u, v, s = None) 4: if s = None then Initializierung 5: s [,..., ], so dass #s = #V 6: s[u] u 7: end if 8: 9: for u Γ[u], so dass s[u ] = do 0: s[u ] = u Besuche Knoten : if u = v then Ziel gefunden 2: Weg aus s zusammensetzen und zurückgeben. 3: end if 4: 5: DepthFirstSearch(u, v, s) Rekursion 6: end for 7: 8: return None Knoten nicht erreichbar 9: end function Korollar 6. Mit der Tiefensuche kann man leicht testen, ob der Graph zusammenhängend ist. Man wählt einfach einen nicht vorhandenen Endknoten v = 2 und prüft am Ende, ob s[x] für alle x V ist. Falls nicht, bilden alle Knoten x V mit s[x] eine Zusammenhangskomponente. 7

8 Anstatt in die Tiefe zu suchen, können wir auch in die Breite suchen, d.h. sind wir bei einem Knoten v V angelangt, so erforschen wir zunächst alle Nachbarn u Γ(v), bevor wir bei tiefer weitersuchen. Diese Methode können wir verwenden, um den kürzesten Pfad durch das Labyrinth zu finden. 8

9 Algorithmus 7. (Breitensuche) : u V ist der Startknoten, v V der Zielknoten. 2: 3: function BreadthFirstSearch(u, v) 4: s [,..., ], so dass #s = #V Zustandsarray 5: s[u] u 6: Q [u] Warteschlange 7: 8: while #Q > 0 do 9: u Q[0] und Q.RemoveFirst( ) 0: if u = v then Ziel erreicht : Weg aus s zusammensetzen und zurückgeben. 2: end if 3: 4: for u Γ[u], so dass s[u ] = do 5: s[u ] u 6: Q.Append(u ) 7: end for 8: end while 9: 20: return None Knoten nicht erreichbar 2: end function 4 Was man noch alles anstellen kann Man kann mit einer veränderten Tiefensuche Kreise oder Zusammenhangskomponenten im Graphen finden. Man kann die Knoten eines Graphen G = (V, E) einfärben. Mathematisch ist eine Färbung eine Abbildung f : V N. Eine Farbe entspricht eine natürliche Zahl. Man ist interessiert an gültige Färbungen, bei der zwei benachbarte Knoten unterschiedliche Farben haben, d.h: u, v V, {u, v} E : f(u) f(v) Wie kann man einen Graphen mit möglichst wenig Farben gültig färben? Anwendungsbeispiel: V {Vorlesungen} {u, v} E u und v können/sollen nicht gleichzeitig stattfinden (weil z.b. gleicher Professor) Dann gibt uns eine gültige Färbung f von G eine Stundenplaneinteilung, wenn wir die verschiedenen Farben mit zuteilbaren Zeitfenstern assoziieren. 9

10 Ist ein Graph G = (V, E) gegeben, so ist ein Matching eine Teilmenge M E, so dass keine zwei Kanten aus M einen Knoten gemeinsam haben Gesucht ist ein großtmögliches Matching, d.h. ein Matching M, das als Menge eine maximale Kardinalität unter allen gültigen Matchings von G hat. Anwendungsbeispiel: V {Arbeitssuchende} {Stellenangebote} {u, v} E Arbeitssuchender u ist für die Stelle v geeignet Ein großtmögliches Matching liefert dann eine optimale Zuordnung. 5 Appendix: Der Dijkstra-Algorithmus Die Breitensuche liefert genau dann den kürzesten Pfad, wenn alle Kanten gleich lang sind wie im Labyrinth oben. Will man verschiedene Längen verschiedene Kanten zuweisen, müssen wir diese Information unserer Struktur hinzufügen. Ein Graph wird zu einem gewichteten Graphen, d.h. ein Graph G = (V, E) zusammen mit einer Abbildung ω : E R, das jede Kante e E einem Gewicht ω(e) R zuordnet. Gesucht ist dann ein Pfad W = (w 0, w,..., w l ) zwischen u und v, so dass der Gewicht von W ω(w ) := l ω({w i, w i }) i= minimal ist. Wir können diese Information in einer erweiterten Adjazenzmatrix speichern: { ω({u, v}), {u, v} E A = (a uv ) 0 u,v n, a uv =, sonst Wir werden zusätzlich den Graph im Form einer Adjazenzliste Γ bereitstellen. Der Algorithmus ähnelt der Breitensuche; der Unterschied liegt darin, in welcher Reihenfolge die Warteschlange abgearbeitet wird. Zusätzlich zu unserer Warteschlange Q, speichern wir in einem weiteren Array P den Vorgänger sämtlicher Knoten in Q und in Ω die Gewichte der gefunden Wege. 0

11 Algorithmus 8. (Dijkstra-Algorithmus) : u V ist der Startknoten, v V der Zielknoten. 2: 3: function Dijkstra(u, v) 4: s [,..., ], so dass #s = #V Zustandsarray 5: Q [u], P [u], Ω [0] Warteschlange 6: 7: while #Q > 0 do 8: Suche i, so dass Ω[i] = min{ω[j] 0 j < #Ω} 9: u Q[i] und Q.Remove(i) 0: : if s[u] then 2: P.Remove(i) und Ω.Remove(i) 3: continue Schon besucht 4: end if 5: 6: s[u] P [i] und P.Remove(i) Besuche Knoten 7: l Ω[i] und Ω.Remove(i) 8: 9: if u = v then Ziel erreicht 20: Weg aus s zusammensetzen und zurückgeben. 2: end if 22: 23: for u Γ[u], so dass s[u ] = do 24: Q.Append(u ) 25: P.Append(u) 26: Ω.Append(l + A[u, u]) 27: end for 28: end while 29: 30: return None Knoten nicht erreichbar 3: end function Beispiel. Gegeben ist der folgende Graph und wir führen Dijkstra(0, 4) aus u = 0, s[u] = 0, l = 0, Q = [, 2, 3], P = [0, 0, 0], Ω = [2,, ] 2. u = 2, s[u] = 0, l =, Q = [, 3, 4], P = [0, 0, 2], Ω = [2,, 4]

12 3. u = 3, s[u] = 0, l =, Q = [, 4], P = [0, 2], Ω = [2, 4] 4. u =, s[u] = 0, l = 2, Q = [4, 4], P = [2, ], Ω = [4, 3] 5. u = 4, s[u] =, l = 3, Ziel erreicht Bemerkung. Der Dijkstra-Algorithmus funktioniert im Allgemeinen nicht für Graphen mit negativen Kantengewichte. Beispiel Führen wir Dijkstra(0, 2) an den Graphen aus, so erhalten wir: u = 0, s[u] = 0, l = 0, Q = [2, ], P = [0, 0], Ω = [, 2] u = 2, s[u] = 0, l =, Ziel erreicht Es gibt aber einen kürzeren Weg, nämlich W = (0,, 2) mit ω(w ) =

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

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

Übersicht. Bielefeld Hannover. Kamen Paderborn. Unna Wünnenberg Kassel. Ziffer wählen. abheben. auflegen. Gespräch führen

Übersicht. Bielefeld Hannover. Kamen Paderborn. Unna Wünnenberg Kassel. Ziffer wählen. abheben. auflegen. Gespräch führen Übersicht Graphen beschreiben Objekte und Beziehungen zwischen ihnen geeignet für Modellierung verschiedener Aufgaben betrachten endliche, ungerichtete und endliche, gerichtete Graphen Graphen bestehen

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Bemerkung: Der vollständige Graph K n hat n(n 1)

Bemerkung: Der vollständige Graph K n hat n(n 1) Bemerkung: Der vollständige Graph K n hat n(n 1) 2 Kanten. Bew: Abzählen! Definition 111. Graphen mit n paarweise zyklisch verbundenen Kanten heißen Kreise (vom Grad n) und werden mit C n bezeichnet. Beispiel

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

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2 1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)

Mehr

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen Grundlagen der Mathematik für Informatiker 1 Grundlagen der Mathematik für Informatiker 5 Graphen 5.1 Gerichtete Graphen Definition 5.1 (V, E) heißt gerichteter Graph (Digraph), wenn V Menge von Knoten

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

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

8. Übung Algorithmen I

8. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Grundlagen

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

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

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

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

Graphen. Graphen und ihre Darstellungen

Graphen. Graphen und ihre Darstellungen Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten

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

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Vorlesungstermin 2: Graphentheorie II Markus Püschel David Steurer Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Wiederholung: Vollständige Induktion Ziel: zeige n N. A(n) für eine Aussage

Mehr

12. Graphen. Königsberg Zyklen. [Multi]Graph

12. Graphen. Königsberg Zyklen. [Multi]Graph Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt

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

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

Programmiertechnik II

Programmiertechnik II Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

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

Programmiertechnik II

Programmiertechnik II Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind

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

1. Einführung. Grundbegriffe und Bezeichnungen. Beispiele. gerichtete Graphen. 1. Einführung Kapitelübersicht

1. Einführung. Grundbegriffe und Bezeichnungen. Beispiele. gerichtete Graphen. 1. Einführung Kapitelübersicht 1. Einführung Kapitelübersicht 1. Einführung Grundbegriffe und Bezeichnungen Beispiele Bäume gerichtete Graphen Graphentheorie HS Bonn-Rhein-Sieg, WS 2014/15 15 Das Königsberger Brückenproblem Beispiel

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

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

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,

Mehr

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten

Mehr

Anwendungen von Graphen

Anwendungen von Graphen Anwendungen von Graphen Strassen- und Verkehrsnetze Computernetzwerke elektrische Schaltpläne Entity-Relationship Diagramme Beweisbäume endliche Automaten Syntaxbäume für Programmiersprachen Entscheidungsbäume

Mehr

Elementare Definitionen. Anwendungen von Graphen. Formalisierung von Graphen. Formalisierung von Digraphen. Strassen- und Verkehrsnetze

Elementare Definitionen. Anwendungen von Graphen. Formalisierung von Graphen. Formalisierung von Digraphen. Strassen- und Verkehrsnetze Anwendungen von Graphen Strassen- und Verkehrsnetze Computernetzwerke Elementare Definitionen Ein Graph besteht aus Knoten und Kanten, die die Knoten verbinden. elektrische Schaltpläne Entity-Relationship

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

1 Beispiele für Graphen

1 Beispiele für Graphen Beispiele für Graphen 1 Beispiele für Graphen 1. Kreuzungsproblem : 3 Häuser sollen mit einem Wasser-, Gas- und Elektroanschluß verbunden werden, wobei keine Kreuzung entstehen darf. Abbildung 1: Kreuzungsproblem

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

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

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

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches

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

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen

Mehr

Was bisher geschah. gerichtete / ungerichtete Graphen G = (V, E) Darstellungen von Graphen

Was bisher geschah. gerichtete / ungerichtete Graphen G = (V, E) Darstellungen von Graphen Was bisher geschah gerichtete / ungerichtete Graphen G = (V, E) Darstellungen von Graphen Spezielle Graphen: I n, K n, P n, C n, K m,n, K 1,n, K n1,...,n m Beziehungen zwischen Graphen: Isomorphie, Teilgraph,

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

Motivation Kap. 6: Graphen

Motivation Kap. 6: Graphen Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 17. Vorlesung Graphen: Repräsentation und Durchlaufstrategien Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Vorlesungsumfrage Nutzen Sie

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

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt Prof. Dr. J. Csirik. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am. und.

Mehr

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S Minimale Formale Grundlagen Graphentheorie Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Minimale Inhalt Minimale

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

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs

Mehr

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS Kap. 5: Graphen Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 17. VO DAP2 SS 2009 23. Juni 2008 1 Motivation Warum soll ich heute hier bleiben? Graphen sind wichtig und

Mehr

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

Diskrete Strukturen. Hausaufgabe 1 (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 8

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

Diskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München

Diskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München WS 2005/06 Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2005ws/ds/ 27. Januar 2006 Ernst W. Mayr 2.16 Inzidenzmatrix 3. Definitionen für gerichtete Graphen 3.1 Digraph

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton)

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton) WS 2015/16 Diskrete Strukturen Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Minimale Graphentheorie Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Minimale Inhalt

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

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

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

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

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.

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

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

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

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am

Mehr

Elementare Definitionen. Anwendungen. Formalisierung von Digraphen. Formalisierung von Graphen

Elementare Definitionen. Anwendungen. Formalisierung von Digraphen. Formalisierung von Graphen Elementare Definitionen Ein Graph besteht anschaulich aus Knoten und Kanten, die die Knoten verbinden. Anwendungen Flussdiagramme Versorgungsnetze Computernetzwerke Petri-Netze Entity-Relationship Diagramme

Mehr

Graphenalgorithmen I

Graphenalgorithmen I enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

Mehr

André Krischke Helge Röpcke. Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen

André Krischke Helge Röpcke. Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen André Krischke Helge Röpcke Graphen und Netzwerktheorie Grundlagen Methoden Anwendungen 8 Grundbegriffe der Graphentheorie für die Kante, die die beiden Knoten und verbindet. Der linke Graph in Bild. kann

Mehr

2.4 Starke Zusammenhangskomponenten in Digraphen

2.4 Starke Zusammenhangskomponenten in Digraphen Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 9 Graphen Version vom 13. Dezember 2016 1 / 1 Vorlesung Fortsetzung 13. Dezember

Mehr

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Über 7 Brücken... wissen leben WWU Münster. Dietmar Lammers Hochschultag 201

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Über 7 Brücken... wissen leben WWU Münster. Dietmar Lammers Hochschultag 201 MÜNSTER Über 7 Brücken... Dietmar Lammers Hochschultag 201 MÜNSTER Über 7 Brücken... 2/29 > Dauerwerbeveranstaltung für ein Studium der Informatik- aber mit mathematischem Inhalt! Hier: Ein Auszug aus

Mehr

Seminar: Einladung in die Mathematik

Seminar: Einladung in die Mathematik Seminar: Einladung in die Mathematik Marius Kling 11.11.2013 Übersicht 1. Königsberger Brückenproblem 2. Diskrete Optimierung 3. Graphentheorie in der Informatik 4. Zufällige Graphen 5. Anwendungen von

Mehr

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

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

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

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

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..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

ADS: Algorithmen und Datenstrukturen 2

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Algorithmische Graphentheorie (SS2013)

Algorithmische Graphentheorie (SS2013) Algorithmische Graphentheorie (SS2013) Kapitel 1 Grundlagen Walter Unger Lehrstuhl für Informatik 1 08.05.2013 09:42 (1:2) Walter Unger 8.5.2013 10:26 SS2013 Z x Inhalt I 1 Einleitende Definitionen

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri FR.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 011 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen

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

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen

Mehr

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Univ.-Prof. Dr. Goulnara ARZHANTSEVA Diskrete Mathematik Univ.-Prof. Dr. Goulnara ARZHANTSEVA SS 2018 c Univ.-Prof. Dr. Goulnara Arzhantseva Kapitel 08: Menger, König und Hall / Planare Graphen 1 / 30 Der Satz von Menger: s t trennende Kantenmenge

Mehr