Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe"

Transkript

1 Einführung in die Graphentheorie Modellierung mit Graphen Aufgabe Motivation Ungerichtete Graphen Gerichtete Graphen Credits: D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI 99 G. Goos: Vorlesungen über Informatik, Springer ag-kastens.upb.de/lehre/material/model/ Ein Mann steht mit einem Wolf, einer Ziege und einem Kohlkopf am einen Ufer eines Flusses, den er überqueren will. Er hat ein Boot, das groß genug ist, ihn und ein weiteres Objekt zu transportieren, so dass er immer nur eins der drei mit sich hinübernehmen kann. Falls der Mann allerdings den Wolf und die Ziege oder die Ziege und den Kohlkopf unbewacht an einem Ufer zurücklässt, so wird einer gefressen werden. Ist es möglich, den Fluss zu überqueren, ohne dass die Ziege oder der Kohlkopf gefressen werden? Wie viele Fahrten benötigt man mindestens? (Alkuin, Abt des Klosters St. Martin in Tours, Lehrer und Ratgeber Karls des Großen) Man fängt natürlich sofort an, im Kopf die verschiedenen Möglichkeiten zum Transport durchzuspielen und die sich ergebenden Verteilungen von Mann, Wolf, Ziege und Kohlkopf auf die beiden Ufer zu überprüfen. Wie kann man die Möglichkeiten systematisch durchsuchen? Modellierung der Situationen Modellierung der Übergänge von Situation zu Situation c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

2 Eine Modellierung des Rätsels Modellierung mit Graphen Eine Situation ist eine mögliche Verteilung von Mann, Wolf, Ziege, Kohlkopf auf die beiden Flussufer. Situationen können modelliert werden durch Paare von Teilmengen von S := {M,W,Z,K}: symbol. Modell Simulation Verhalten Situationen := {(S,S ) S S = S, S S = } Abstraktion Transfer Durch Überqueren des Flusses ggf. mit einem Objekt kann der Mann die Situation verändern. Überquerungen können modelliert werden durch Verbindungen zwischen Zuständen. Die Verbindungen werden beschriftet mit den transportierten Elementen aus S. graph. Modell Simulation Verhalten ({M,W,Z,K},{}) Abstraktion Transfer ({W,Z,K},{M}) ({Z,K},{M,W}) ({W,K},{M,Z}) ({W,Z},{M,K}) ({M,W,K},{Z}) System Experiment Verhalten ({K},{M,W,Z}) ({W},{M,Z,K}) Domäne ({M,K},{W,Z}) ({M,Z,K},{W}) ({M,W,Z},{K}) ({M,W},{Z,K}) ({Z},{M,W,K}) ({M,Z},{W,K}) ({},{M,W,Z,K}) c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

3 Ungerichteter Graph Beispiele für Graphen Ein (ungerichteter) Graph G =(V,E) ist ein Paar bestehend aus V einer endlichen Menge von Knoten (vertices) und E P(V ) einer Menge von Kanten (edges), i.e. zweielementigen Teilmengen von V. Knoten modellieren Zustände, Situationen, Positionen,... Kanten modellieren Relationen zwischen den Knoten. FüreineKantee = {v, w} E zwischen den Knoten v V und w V verwendet man folgende Bezeichnungen: v und w heißen inzident zu e, e heißt inzident zu v und w und v und w heißen adjazent. Knoten = Staat; Kante = gemeinsame Grenze Knoten = Bauteil oder Leitungsknoten; Kante = Leitung c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

4 Verallgemeinerungsmöglichkeiten für ungerichtete Graphen Schlaufen oder Schlingen Eine Kante führt von einem Knoten zu diesem selbst zurück. Maximale Kantenanzahl ungerichteter Graphen Lemma Für jeden ungerichteten Graphen G =(V,E) gilt: E V ( V ) Die Kantenanzahl für Graphen ohne Schlingen ist höchstens V ( V ), da jeder Knoten von V als Anfangs- oder als Endpunkt auftreten kann, aber nicht gleichzeitig Anfangs- und Endpunkt sein darf. Mehrfachkanten Zu zwei Knoten gibt es (eventuell) mehrere Kanten, die sie miteinander verbinden. Die Kantenanzahl für Graphen mit Schlingen ist höchstens V,da jeder Knoten von V als Anfangs- und als Endpunkt auftreten kann. Die Kantenanzahl für Multigraphen ist nicht beschränkt, da zu zwei Knoten von V beliebig viele Kanten inzident sein können. Die Kantenanzahl für Hypergraphen ist höchstens V, da jede Teilmenge von V als Kante auftreten kann. Hypergraphen Kanten sind Mengen von Knoten. c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

5 Datenstrukturen zur Verarbeitung von Graphen Teilgraphen ungerichteter Graphen Für einen Graphen G =(V,E) sei eine lineare Sortierung der Knoten gegeben: V = {v,...,v n } Ein Graph G =(V,E ) ist ein Teilgraph eines Graphen G =(V,E), wenn gilt V V und E E mit E P(V ). Adjazenzmatrix: M G =(a i,j ) i,j {,...,n} { falls {v i,v j } E mit a i,j = 0 sonst Adjazenzliste: L G =((v,al ),...,(v n,al n )) mit al i sortierte Liste der zu v i adjazenten Knoten (bzgl. E) inv. Ein Teilgraph G =(V,E ) eines Graphen G =(V,E) mit V = V heißt erzeugender Teilgraph (spanning subgraph). Beispiel: G =({a, b, c, d}, {{a, b}, {a, d}, {b, c}, {c, d}}) M G = b d Für einen Graphen G =(V,E) und V V heißt der Graph G =(V,E ) mit E := {{v,v } E v,v V } der von V induzierte Teilgraph von G. L G = ( a, (b, d) b, (a, c) c, (b, d) d, (a, c) ) a c c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

6 Isomorphie von Graphen Knoten- und Kantenmarkierungen Für zwei Graphen G =(V,E ) und G =(V,E ) sei eine totale und bijektive Abbildung f : V V gegeben. f heißt Isomorphismus von V auf V genau dann, wenn für alle Knoten v, w V gilt: {v, w} E {f(v),f(w)} E Offenes Problem der Komplexitätstheorie Gibt es ein effizientes (d.h. polynomielles) Verfahren, um zu entscheiden, ob zwei Graphen G und G isomorph sind? Eine Knotenmarkierung eines Graphen G =(V,E) ist eine Abbildung m : V M die jedem Knoten v eine Markierung m(v) M zuordnet. Eine Kantenmarkierung eines Graphen G =(V,E) ist eine Abbildung m : E M die jeder Kante e eine Markierung m(e) M zuordnet. Dies Problem tritt meist in (vielleicht?) schärferer Form als Teilgraph-Isomorphismus-Problem auf: Gibt es einen Teilgraphen in G, der isomorph zu G ist? Durch Verwendung von Kantenmarkierungen lassen sich Multigraphen auf einfache Graphen zurückführen: Kantenmarkierung = Anzahl paralleler Kanten Identifiziere in einer hydraulischen Anlage die Linearachsen. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

7 Beispiel: Landkarte Knotengrade Für einen Graphen G =(V,E) und einen Knoten v V heißt der (Knoten-)Grad von v in G. grad(v) := {v V {v, v } E} Der Knotengrad von v in G ist die Anzahl der mit v inzidenten Kanten. Für einen Graphen G =(V,E) heißt der (Knoten-)Grad von G. grad(g) :=max v V grad(v) Knoten = Autobahnkreuze/-dreiecke, nächste Städte Kanten = Autobahnteilstücke Knotenmarkierungen: Name des Autobahnkreuzes/-dreiecks, Name der Stadt,... Kantenmarkierungen: Nummer der Autobahn, Entfernung in Straßenkilometern, Anzahl der parallelen Spuren,... Die Anzahl der Punkte mit ungeradem Grad in einem Graphen ist gerade. Die Summe der Knotengrade aller Knoten ist (Anzahl Kanten), also gerade. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

8 Wege Wege und Adjazenzmatrix Induktive Sei G =(V,E) ein Graph. Für jeden Knoten v 0 V ist (v 0 ) ein Weg in G von v 0 nach v 0. Für Knoten v 0,...,v n,v n+ V, eine Kante e = {v n,v n+ } E ist mit einem Weg (v 0,...,v n ) von v 0 nach v n in G auch (v 0,...,v n,v n+ ) ein Weg in G und zwar von v 0 nach v n+. Ein Weg ist also eine nicht-leere Folge von Knoten, die durch Kanten miteinander verbunden sind. Beispiel: G =({a, b, c, d}, {{a, b}, {a, d}, {b, c}, {c, d}}) M G = MG = M 0 0 G M G = b a d c Meistens findet man die folgende : Für einen Graphen G =(V,E), n N und Knoten v 0,...,v n V mit {v i,v i+ } E für 0 i<nist (v 0,...,v n ) ein Weg von v 0 nach v n in G. Die Induktion steckt hier in der Verwendung der (induktiv definierten) endlichen Folgen (v 0,...,v n ) von Knoten. Die Länge l eine Weges (v 0,...,v n ) in einem GraphenG ist die Anzahl der Kanten auf dem Weg: Sei G =(V,E) ein Graph mit V = n und Adjazenzmatrix M G. Das Matrixelement a i,j von M G gibt die Anzahl der Wege der Länge von v i nach v j an. Das Matrixelement a i,j von M G gibt die Anzahl der Wege der Länge von v i nach v j an. Für einen Graphen G =(V,E) mit Adjazenzmatrix M G gibt die Matrix MG k die Anzahl der Wege an zwischen Knoten aus V mit genau der Länge k. l((v 0,...,v n )) = n c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

9 Königsberger Brückenproblem Spezielle Wege Königsberg liegt an den Ufern und zwei Inseln des Pregel. Inseln und Ufer sind mit sieben Brücken miteinander verbunden. Gibt es eine Rundweg in Köningsberg, auf dem man die sieben Brücken jeweils genau einmal überschreitet? Ein Eulerscher Weg in einem Graphen G =(V,E) ist ein Weg, der jede Kante von E genau einmal enthält. Ein Hamiltonscher Weg in einem Graphen G =(V,E) ist ein Weg, der jeden Knoten von V genau einmal enthält. Ein Kreis in einem Graphen G =(V,E) ist ein Weg (v,...,v) von v nach v der Länge l(v,...,v). Die Untersuchung dieser Frage durch Euler im Jahre 7 stellt den Anfangspunkt der modernen Graphentheorie dar. Ein Eulerscher Kreis in G =(V,E) ist ein Kreis, der jede Kante von E genau einmal enthält. Ein Hamiltonscher Kreis in G =(V,E) ist ein Kreis, der jeden Knoten von V genau einmal enthält (ausser Anfangspunkt). c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

10 Beispiele für Wege Aussagen über Wege Kreis in einem Graphen: Lemma Die Länge jedes Weges in einem Graphen G =(V,E) ist beschränkt durch E. Lemma Jeder Weg w in einem Graphen G =(V,E) mit Länge l(w) V enthält einen Kreis. Eulerweg in einem Graphen: Jeder kreisfreie Graph mit n Knoten enthält höchstens n Kanten Ist in einem Graph mit mindestens drei Knoten der Grad jedes Knotens grösser gleich der halben Anzahl von Knoten, dann enthält der Graph einen Hamiltonschen Kreis. Hamiltonweg in einem Graphen: c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

11 Traveling Salesman Problem Zusammenhang Optimierungsproblem Gegeben ist ein Menge von Städten, die durch Straßen bekannter Längen verbunden sind. Gesucht ist ein kürzester Rundweg durch alle Städte. Entscheidungsproblem Gegeben ist ein Menge von Städten, die durch Straßen bekannter Längen verbunden sind. Gesucht ist ein Rundweg durch alle Städte, der höchstens eine vorgegebene Länge B hat. Entscheidungsproblem Gegeben ist ein Gitter von n n Prozessoren. Eine Nachricht soll eine sequentiell von Prozessor zu Prozessor weitergegeben werden. Sie soll jeden Prozessor erreichen und zum Initiator zurückkehren. Für welche n ist das möglich? Entscheidungsproblem Gegeben ist ein Graph G =(V,E). Enthält G einen Hamiltonschen Kreis? Ein Knoten w V eines Graphen G =(V,E) ist erreichbar vom Knoten v V aus genau dann, wenn es einen Weg (v,...,w) in G gibt. Ein Graph G =(V,E) heißt zusammenhängend, wenn für alle v, w V gilt, w ist von v aus erreichbar. Eine Zusammenhangskomponente eines Graphen G =(V,E) ist der von einer maximalen Knotenmenge V V induzierte Teilgraph von G, so dass G zusammenhängend ist, d.h. der durch Hinzufügen eines weiteren Knotens v V \ V von V {v } induzierte Teilgraph von G ist nicht zusammenhängend. Eine Zusammenhangskomponente eines Graphen, die nur aus einem Knoten besteht, heißt auch isolierter Knoten. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

12 Existenz von Eulerwegen Sätze zum Zusammenhang Beispiel: Das Haus vom Nikolaus Jeder zusammenhängende Graph mit n Knoten enthält mindestens n Kanten. Ein Graph G =(V,E) enthält genau dann einen Eulerschen Weg, wenn G zusammenhängend ist und höchstens zwei Knoten mit ungeradem Grad enthält. Nicht nur ein Eulerweg existiert, sondern sogar mehrere. Was ist, wenn das Haus vom Nikolaus einen Anbau erhält? Für einen zusammenhängenden Graphen G =(V,E) sind folgende Aussagen äquivalent: G enthält einen Eulerschen Kreis. Jeder Knoten in G hat einen geraden Grad. Die Kantenmenge von G kann in Kreise zerlegt werden. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

13 Verbindungen und Zusammenhang Bäume Ein Knoten v V eines zusammenhängenden Graphen G =(V,E) heißt Schnittknoten in G, falls der von V \{v} induzierte Teilgraph nicht zusammenhängend ist. Eine Kante e E eines zusammenhängenden Graphen G =(V,E) heißt Brückenkante in G, falls der Graph (V,E \{e}) nicht zusammenhängend ist. Schnittknoten und Brückenkanten sind also kritische Knoten bzw. Kanten, da der Graph durch ihre Entfernung in verschiedene Zusammenhangskomponenten zerfällt. Schnittkanten spielen bei der Orientierung von Graphen eine Rolle. Ein Baum ist ein zusammenhängender, kreisfreier Graph G =(V,E). Die Klassenhierarchie des Pakets java.lang in Java bildet einen Baum mit Wurzelklasse Object. Ein Wald ist ein kreisfreier Graph G =(V,E), d.h.die Zusammenhangskomponenten von G sind Bäume. Ein erzeugender Baum (spanning tree) für einen Graphen G =(V,E) ist ein Teilgraph G =(V,E ), der ein Baum ist, d.h. ein Baum, der alle Knoten von G enthält. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

14 Beispiele für Bäume Sätze über Bäume Vollständiger binärer Baum der Tiefe Für einen Graphen G =(V,E) sind folgende Aussagen äquivalent: G ist eine Baum. G ist zusammenhängend und für jede Kante e E ist der Teilgraph G =(V,E \{e}) nicht zusammenhängend. Wald von vollständigen binären Bäumen G ist kreisfrei und für zwei Knoten v, w V mit {v, w} E ist der Graph G =(V,E {{v, w}}) nicht kreisfrei. Zwischen je zwei Knoten aus V gibt es genau einen Weg. Korollar Für einen Baum G =(V,E) mit V gilt: V = E + Erzeugender Baum für das Nikolaushaus mit Anbau G hat mindestens einen Knoten v V mit Grad grad(v) <. Vom Wurzelknoten des Spannbaumes aus erreicht man jeden Knoten des Graphen über Kanten des Spannbaumes! Meist werden Spannbäume mit zusätzlichen Eigenschaften gesucht, beispielsweise minimales Gesamtgewicht aller Kanten. c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

15 Induktive Gewurzelte Bäume () Für jeden Knoten v ist der Graph G =({v}, {}) ein Baum mit Wurzel v. Für ein k N seinen G =(V,E ),..., G k =(V k,e k ) Bäume mit Wurzeln v,..., v k und paarweise disjunkten Knotenmengen V,..., V k und sei v V... V k. Dann ist Wurzel innere Knoten Beispiele für Bäume G =({v} V... V k, {{v, v i } i k} E... E k ) ein Baum mit Wurzel v. Nur so gebildete Graphen sind Bäume. Schränkt man in der die Wahl für k weiter ein, so erhält man spezielle Bäume: Blätter Mit einer anderen Wurzel ergibt sich der folgende Baum: Für k erhält man die Menge der binären Bäume. Für k erhält man die Menge der ternären Bäume. Für festes k N erhält man die Menge der k-ären Bäume. c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

16 Gewurzelte Bäume () Kantorowitsch-Baum Beobachtung Für einen Baum G =(V,E) kann man jeden Knoten w V als Wurzel von G festlegen. In einen Baum G =(V,E) mit Wurzel w heißen für einen Knoten v V sind alle die Knoten v V Nachfolger von v, für die v im kürzesten Weg von w nach v enthalten ist. Knoten ohne Nachfolger heißen Blätter, Knoten mit Nachfolgern heißen innere Knoten. Die Nachfolger v von v mit {v, v } E heißen unmittelbare oder direkte Nachfolger von v. Ein Kantorowitsch-Baum ist ein Baum G =(V,E) mit Wurzel w V sowie einer Knotenmarkierung m : V F V, so dass jeder innere Knoten als Markierung einen Operator hat mit einer Stelligkeit k>0, sowie genau k unmittelbare Nachfolgerknoten hat und jeder Blattknoten als Markierung eine Variabe hat oder einen nullstelligen Operator. Kantorowitsch-Baum für die Formel x( yp(x, f(y, a)) P (x, a)) Für einen Baum G =(V,E) mit Wurzel w V und einen Knoten v V heißt die Länge eines kürzesten Weges von w nach v die Tiefe von v in G. Die Tiefe des Baumes G mit Wurzel w ist die maximale Tiefe eines Knotens in G. Die Tiefe eines Baumes richtet sich also danach, welcher Knoten im Baum als Wurzel festgelegt worden ist. Die Tiefe ist die maximale Länge eines kürzesten Weges von der Wurzel zu einem Knoten. Für n-ärer Baum G =(V,E) mit Wurzel w V heißt vollständiger n-ärer Baum genau dann, wenn jeder innere Knoten genau n unmittelbare Nachfolger besitzt und alle Blätter die gleiche Tiefe haben. x E A y P x f y a x P a c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

17 Sätze über k-äre Bäume Ein vollständiger k-ärer Baum G =(V,E) mit Wurzel w V und Tiefe n, k, n N,k >0 hat genau k n Blätter und genau n i=0 ki innere Knoten. Die Gesamtzahl der Knoten ist also für k N,k > n n k i + k n = k i = kn+ k i=0 i=0 Der Beweis des es wird durch eine Induktion über den Aufbau k-ärer Bäume geführt. Korollar Ein k-ärer Baum G =(V,E) mit Wurzel w V und Tiefe n, k, n N,k >0 hat höchstens kn+ Knoten. k Induktive Beweise mit k-ären Bäume Ein vollständiger k-ärer Baum G =(V,E) mit Wurzel w V und Tiefe n, k, n N,k >0 hat genau k n Blätter und genau n i=0 ki innere Knoten. Beweis Beweise über Knotenanzahlen k-ärer Bäume werden durch Induktion über die Tiefe n der Bäume und ihren Aufbau geführt. n =0 I.A.: Der einzige k-äre Baum der Tiefe 0 ist der Baum der nur aus einem Wurzelknoten besteht. Dieser Baum ist auch vollständig. Er hat genau k 0 =Blätter und 0 i=0 ki =0innere Knoten. n 0 I.V.: Jeder vollständige k-äre Baum G =(V,E) mit Wurzel w V und Tiefe n hat genau k n Blätter und genau n i=0 ki innere Knoten. n n + I.S.: Sei G =(V,E) ein vollständiger k-ärer Baum mit Wurzel w V und Tiefe n +. Also hat w genau k unmittelbare Nachfolger v,...,v k V. Der Graph (V \{w},e\{{w, v },...,{w, v k }}) besteht dann aus genau k Zusammenhangskomponenten, die jeweils vollständige k-äre Bäume mit Wurzeln v,...,v k sind. Diese Zusammenhangskomponenten haben also jeweils genau k n Blätter und n i=0 ki innere Knoten. Insgesamt ergibt sich damit für G =(V,E) k k n = k n+ als Gesamtzahl der Blätter und +k n i=0 ki + n i=0 ki+ =+ (n+) i= k i = (n+) i=0 k i als Gesamtzahl der inneren Knoten. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

18 Bipartite Graphen Beispiele für bipartite Graphen Ein Graph G =(V,E) heißt bipartit, wenn es zwei disjunkte Knotenmengen V,V V (also V V = gibt, so dass E {{v,v } v V,v V } gilt. Die Knotenmenge von G kann also in zwei disjunkte Mengen aufgeteilt werden, so dass Kanten immer mit je einem Knoten aus jeder dieser Mengen inzident sind. Ein bipartiter Graph wird auch mit (V V,E) beschrieben, wenn gilt E {{v,v } v V,v V } und zusätzlich V V. Ein Matching (Korrespondenz) in einem bipartiten Graph G =(V V,E) ist eine Menge von Kanten, die paarweise keine gemeinsamen Knoten haben. nicht bipartit Für jeden Knoten aus v i V i gehört also maximal eine mit v i inzidente Kante zu einem Matching (i =, ). Ein Matching in einem bipartiten Graph G =(V V,E) heißt vollständig, wenn jeder Knoten aus V mit einer Kante des Matching inzident ist. (Beachte hierbei V V.) Ein Matching heißt perfekt, wenn alle Knoten aus V V mit einer Kante des Matchings inzident sind. bipartit c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

19 Beispiele für bipartite Graphen Modellierung mit bipartiten Graphen (P. Hall 9) In einem bipartiten Graph G =(V V,E) mit V V gibt es genau dann ein vollständiges Matching, wenn es für jede Menge J V gilt {v V v J : {v,v } E} J also mindestens J Knoten aus V zu den Knoten aus J adjazent sind. bipartit Falls V = V gilt, dann ist ein vollständiges Matching auch ein perfektes Matching und umgekehrt. vollständiges Matching maximales Matching Beispiel: Heiratsproblem Es sei eine endliche Menge V von Damen und eine endliche Menge V von Herren gegeben. Die pref Funktion : V Pgibt zu jedem Herren die Menge der Damen an, die zu ehelichen er bereit ist. Außerdem sei V V. Nach dem von Hall gibt es ein vollständiges Matching, wenn für jede Teilmenge J von Herren die Menge v J pref(v) mindestens J Elemente enthält. Wenn die Herren nicht zu wählerisch sind, bekommt jeder eine Dame ab. maximal maximale Mächtigkeit c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

20 Färbung von Graphen Vierfarbenproblem Eine Färbung eines Graphen G =(V,E) ist eine Knotenmarkierung m : V M, die jedem Knoten eine Farbe aus M zuordnet, so dass für adjazente Knoten v, w V gilt m(v) m(w). Ist jede Landkarte mit maximal vier Farben färbbar? (Länder = Knoten, Kante = gemeinsame Grenze) Ein Graph heißt k-färbbar, falls eine Färbung des Graphen mit k Farben existiert, d.h. mit M = k. Eine Färbung eines Graphen mit einer beschränkten Anzahl Farben nennt man auch eine konfliktfreie Knotenmarkierung. Anwendungen sind: Knoten Kante Farbe / Marke Staat auf gemeinsame Grenze Farbe Partygast verfeindet Zuordnung auf Tisch Kursus haben gemeinsame Teilnehmer Termin Prozess benötigen gleiche Ressource Ausführungszeitpunkt Variable im Programm gleichzeitig lebendig Registerspeicher Die chromatische Zahl χ(g) ist die minimale Anzahl von Farben, mit der eine Färbung des Graphen G möglich ist. Ja! (Appel & Haken 977) Für jeden Graphen G gilt χ(g) +Grad(G). c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

21 Kantendisjunkte Wege Gerichteter Graph In einem Computernetzwerk bilden die Computer und Netzwerk-Komponenten die Knoten und die Netzwerk-Kabelverbindungen die Kanten. Ein (gerichteter) Graph G =(V,E) ist ein Paar bestehend aus V einer endlichen Menge von Knoten (vertices) und E V V einer Menge von Kanten (edges, arcs), i.e. Paaren von Knoten aus V. Knoten modellieren Zustände, Situationen, Positionen,... Kanten modellieren gerichtete Übergänge zwischen den Knoten. FüreineKantee =(v, w) E zwischen den Knoten v V und w V verwendet man folgende Bezeichnungen: v und w heißen inzident zu e, Typische Fragen: e heißt inzident zu v und w und v und w heißen adjazent. v heißt Startknoten und w Endknoten von e. Wie viele Netzwerkverbindungen können ausfallen, ohne dass die Verbindung von Computer A zu Computer B unterbrochen wird? Auf wie vielen komplett verschiedenen Wegen können Nachrichten von Computer A an Computer B übermittelt werden? c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

22 Verallgemeinerungsmöglichkeiten für gerichtete Graphen Schlaufen oder Schlingen Beachte: Schlaufen oder Schlingen, d.h. eine Kante von einem Knoten aus zu diesem selbst zurück, sind nach der gerichteten Graphen ERLAUBT. Maximale Kantenanzahl gerichteter Graphen Lemma Für jeden gerichteten Graphen G =(V,E) gilt: E V Die Kantenanzahl für gerichtete Graphen kann den Wert V erreichen, da jeder Knoten von V als Start- und als Endpunkt auftreten kann. Mehrfachkanten Beachte: Zwischen zwei Knoten können nach bereits bis zu zwei Kanten existieren, eine hin und eine zurück. Die Kantenanzahl für Multigraphen ist nicht beschränkt, da zu zwei Knoten von V beliebig viele Kanten inzident sein können. Die Kantenanzahl für Hypergraphen ist höchstens ( V ) = V,da jede Teilmenge von V als Kante auftreten kann. Hypergraphen Kanten sind Paare von Mengen von Knoten. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

23 Datenstrukturen zur Verarbeitung von Graphen Teilgraphen gerichteter Graphen Für einen gerichteten Graphen G =(V,E) sei eine lineare Sortierung der Knoten gegeben: V = {v,...,v n } Ein gerichteter Graph G =(V,E ) ist ein Teilgraph eines gerichteten Graphen G =(V,E), wenn gilt V V und E E mit E V V. Adjazenzmatrix: { falls (v mit a i,j = i,v j ) E 0 sonst M G =(a i,j ) i,j {,...,n} Adjazenzliste: L G =((v,al ),...,(v n,al n )) mit al i sortierte Liste der Endknoten in V von Kanten in E mit Startknoten v i. Ein Teilgraph G =(V,E ) eines gerichteter Graphen G =(V,E) mit V = V heißt erzeugender Teilgraph (spanning subgraph). Beispiel: G =({a, b, c, d}, {(a, b), (d, a), (c, b), (c, d)}) M G = b d Für einen gerichteten Graphen G =(V,E) und V V heißt der gerichtete Graph G =(V,E ) mit E := {(v,v ) E v,v V } der von V induzierte Teilgraph von G. L G = ( a, (b) b, () c, (b, d) d, (a) ) a c c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

24 Isomorphie von gerichteten Graphen Knoten- und Kantenmarkierungen Für zwei Graphen G =(V,E ) und G =(V,E ) sei eine totale und bijektive Abbildung f : V V gegeben. f heißt Isomorphismus von V auf V genau dann, wenn für alle Knoten v, w V gilt: (v, w) E (f(v),f(w)) E Offenes Problem der Komplexitätstheorie Gibt es ein effizientes (d.h. polynomielles) Verfahren, um zu entscheiden, ob zwei gerichtete Graphen G und G isomorph sind? Eine Knotenmarkierung eines gerichteten Graphen G =(V,E) ist eine Abbildung m : V M die jedem Knoten v eine Markierung m(v) M zuordnet. Eine Kantenmarkierung eines gerichteten Graphen G =(V,E) ist eine Abbildung m : E M die jeder Kante e eine Markierung m(e) M zuordnet. Dies Problem tritt meist in (vielleicht?) schärferer Form als Teilgraph-Isomorphismus-Problem auf: Gibt es einen Teilgraphen in G, der isomorph zu G ist? Durch Verwendung von Kantenmarkierungen lassen sich gerichtete Multigraphen auf einfache gerichtete Graphen zurückführen: Kantenmarkierung = Anzahl paralleler Kanten mit gleicher Kantenrichtung c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

25 Knotengrade in gerichteten Graphen Wege Für einen gerichteten Graphen G =(V,E) und einen Knoten v V heißt ingrad(v) := {v V (v, v ) E} der Eingangsgrad von v in G, outgrad(v) := {v V (v,v) E} der Ausgangsgrad von v in G und grad(v) :=ingrad(v)+outgrad(v) der Grad von v in G. Knoten mit Eingangsgrad 0 heißen auch Quellen und Knoten mit Ausgangsgrad 0 heißen auch Senken. Der Knotengrad von v in G ist die Anzahl der mit v inzidenten Kanten, außer eine Schleife führt von v zu v. Für einen Graphen G =(V,E) heißt der (Knoten-)Grad von G. grad(g) :=max v V grad(v) Die Summe der Eingangsgrade aller Knoten ist gleich der Summe der Ausgangsgrade aller Knoten eines gerichteten Graphen. Die Anzahl der Punkte mit ungeradem Grad in einem gerichteten Graphen ist gerade. Für einen gerichteten Graphen G =(V,E), n N und Knoten v 0,...,v n V mit (v i,v i+ ) E oder (v i+,v i ) E für 0 i<nist (v 0,...,v n ) ein Kantenzug von v 0 nach v n in G. Für einen gerichteten Graphen G =(V,E), n N und Knoten v 0,...,v n V mit (v i,v i+ ) E für 0 i<nist (v 0,...,v n ) ein Weg von v 0 nach v n in G. v n ist dann von v 0 aus erreichbar. Die Kantenrichtung aller Kanten auf dem Weg führt also vom Startknoten v 0 des Weges zu seinem Endknoten v n.einwegist also eine nicht-leere Folge von Knoten, die durch Kanten passender Richtung miteinander verbunden sind. In der Literatur findet man hierfür auch den Begriff des gerichteten Weges. Die Länge l eine Weges (v 0,...,v n ) in einem gerichteten GraphenG ist die Anzahl der Kanten auf dem Weg: l((v 0,...,v n )) = n Ein Zyklus in einem gerichteten Graphen G =(V,E) ist ein Weg (v,...,v) von v nach v der Länge l(v,...,v). c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

26 Wege und Adjazenzmatrix Beispiele für Wege M G = Beispiel: G =({a, b, c, d}, {(a, b), (d, a), (c, b), (c, d)}) Zyklus in einem Graphen: M G = MG = M G M G = Sei G =(V,E) ein gerichteter Graph mit V = n und Adjazenzmatrix M G. b a d c Gerichteter Eulerweg in einem Graphen: Das Matrixelement a i,j von M G gibt die Anzahl der Wege der Länge von v i nach v j an. Das Matrixelement a i,j von M G gibt die Anzahl der Wege der Länge von v i nach v j an. Für einen gerichteten Graphen G =(V,E) mit Adjazenzmatrix M G gibt die Matrix MG k die Anzahl der Wege an zwischen Knoten aus V mit genau der Länge k. Nach der hier vorgestellten für Wege dürfen auch Kanten mehrfach in Wegen benutzt werden. In der Literatur findet man für diese allgemeine Variante auch den Begriff Kantenzug (walk). Bei Kantenzügen und Wegen (trail) ist dabei oft auch die Kantenrichtung irrelevant, man unterscheidet z.b. Wege und gerichtete Wege. Außerdem dürfen Wege meist keine Kante mehrfach nutzen und einfache Wege oder Pfade (path) keinen Knoten mehrfach nutzen. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

27 Aussagen über Wege Zusammenhang Lemma Die Länge jedes Weges in einem gerichteten Graphen G =(V,E) ist beschränkt durch E. Lemma Jeder Weg w in einem gerichteten Graphen G =(V,E) mit Länge l(w) V enthält einen Zyklus. Bemerkung Es gibt zyklenfreie gerichtete Graphen mit n Knoten und mehr als n Kanten. Zwei Knoten v, w V eines gerichteten Graphen G =(V,E) heißen zusammenhängend genau dann, wenn es einen Kantenzug (v,...,w) in G gibt. Ein gerichteter Graph G =(V,E) heißt zusammenhängend, wenn für alle v, w V gilt, v und w sind zusammenhängend. Eine Zusammenhangskomponente eines gerichteten Graphen G =(V,E) ist der von einer maximalen Knotenmenge V V induzierte Teilgraph von G, so dass G zusammenhängend ist, d.h. der durch Hinzufügen eines weiteren Knotens v V \ V von V {v } induzierte Teilgraph von G ist nicht zusammenhängend. Jeder zusammenhängende gerichtete Graph mit n Knoten enthält mindestens n Kanten. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

28 Starker Zusammenhang Beispiele zum Zusammenhang Ein gerichteter Graph G =(V,E) heißt stark zusammenhängend, wenn für alle v, w V gilt, dass ein Weg von v nach w in G existiert. Eine starke Zusammenhangskomponente eines gerichteten Graphen G =(V,E) ist der von einer maximalen Knotenmenge V V induzierte Teilgraph G von G, so dass G stark zusammenhängend ist, d.h. der durch Hinzufügen eines weiteren Knotens v V \ V von V {v } induzierte Teilgraph von G ist nicht mehr stark zusammenhängend. Beispiel : Einbahnstraßenregelung zu Libori Aufgrund des hohen Verkehrsaufkommens bei Volksfesten überlegt der Stadtrat, ob nicht sämtliche Straßen für diese Zeit zu Einbahnstraßen gemacht werden. Können Sie den Stadtrat davon überzeugen, dass alle Stellen im Stadtgebiet erreichbar bleiben? Eine starke Zusammenhangskomponente S in G kann man folgendermaßen ermitteln:. Setzte S := {v} für einen Knoten v V.. Solange ein Knoten w V \ S existiert mit (a) Es gibt einen Weg von einem Knoten v S nach w und (b) es gibt einen Weg von w zu einem Knoten v S. füge w zu S hinzu.. Kann kein Knoten aus V \ S mehr zu S hinzugefügt werden, so ist S eine starke Zusammenhangskomponente. Beispiel : Baustelle auf dem Rathausvorplatz Der schlechte Zustand des Pflasters vor dem Rathaus macht eine Erneuerung nötig. Können Fußgänger noch alle Bereiche der Fußgängerzone erreichen, wenn der Rathausvorplatz komplett gesperrt wird, ohne dass sie den Fußgängerbereich verlassen müssen? Ein gerichteter Graph G =(V,E) kann in starke Zusammenhangskomponenten S,..., S k zerlegt werden, so dass für die S,..., S k definierenden Knotenmengen V,..., V k gilt V = V... V k c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

29 Orientierung Vollständige Orientierung Ein gerichteter Graphen G g =(V g,e g ) heißt Orientierung eines ungerichteten Graphen G u =(V u,e u ), falls gilt. V g = V u und. für jede Kante {v, w} E u gilt (v, w) E g oder (w, v) E g und. E u = E g. Eine Orientierung eines ungerichteten Graphen G =(V,E) kann man als Abbildung auffassen: o : E V V mit f({v, w}) {(v, w), (w, v)} für {v, w} E Der gerichtete Graph ergibt sich dann als G o =(V,{f(e) e E}). Ein ungerichteter Graph G =(V,E) heißt orientierbar, falls eine Orientierung von G existiert, die stark zusammenhängend ist. Ein gerichteter Graph G g =(V g,e g ) heißt vollständige Orientierung eines ungerichteten Graphen G u =(V u,e u ), falls gilt. V g = V u und. für jede Kante {v, w} E u gilt (v, w) E g und (w, v) E g. Die vollständige Orientierung eines ungerichteten Graphen G =(V,E) erhält man also, in dem man jede Kante durch die beiden entgegengesetzt gerichteten Kanten ersetzt. co : E V V mit f({v, w}) ={(v, w), (w, v)} für {v, w} E und damit G co =(V, e E f(e)). Für einen gerichteten Graphen G =(V,E) ohne Schleifen heißt der ungerichtete Graph G =(V,{{v, w} (v, w) E}) der zughörige (ungerichtete) Graph (underlying graph) zu G. Ein zusammenhängender ungerichteter Graph G =(V,E) ist orientierbar genau dann, wenn G keine Brückenkante enthält. c LETTMANN 00/0 Modellierung Graphentheorie VI-7 c LETTMANN 00/0 Modellierung Graphentheorie VI-8

30 Gerichtete Bäume Beispiel für Bäume Ein gerichteter Baum mit Wurzel w ist ein gerichteter Graph G =(V,E) mit w V, so dass G ein Baum ist und so dass von w zu jedem Knoten v V genau ein Weg existiert. Ein gerichteter Baum ist also ebenso Zusammenhängend und zyklenfrei und besitzt genau V Kanten, analog zum ungerichteten Baum. Für einen ungerichteten Baum G =(V,E) gibt es also für jeden Knoten w V genau eine Orientierung von G, die ein gerichteter Baum mit Wurzel w ist. Für einen gerichteten Baum gilt: Vollständige binäre Bäume Induktive Für jeden Knoten v ist der Graph G =({v}, {}) ein vollständiger binärer gerichteter Baum mit Wurzel v der Tiefe 0. Seien G =(V,E ),G =(V,E ) vollständige binäre Bäume der Tiefe n mit Wurzeln v,v und disjunkten Knotenmengen V,V und sei v V V. Dann ist G =({v} V V, {v, v ), (v, v )} E E ) ein vollständiger binärer gerichteter Baum mit Wurzel v der Tiefe n +. Nur so gebildete Graphen sind vollständige binäre gerichtete Bäume. Es existiert genau ein Knoten mit Eingangsgrad 0, nämlich die Wurzel. Jeder Knoten außer der Wurzel hat den Eingangsgrad. Blätter sind genau die Knoten mit Ausgangsgrad 0. Für einen gerichteten Baum G =(V,E) mit Wurzel w V und einen Knoten v V heißt die Länge eines kürzesten Weges von w nach v die Tiefe von v in G. Die Tiefe des Baumes G mit Wurzel w ist die maximale Tiefe eines Knotens in G. Ein vollständiger binärer gerichteter Baum G =(V,E) mit Wurzel w V und Tiefe n, n N hat genau n Blätter und genau n i=0 i = n innere Knoten. Ein binärer gerichteter Baum G =(V,E) mit Wurzel w V und Tiefe n, n N hat b Blätter mit b n und genau b innere Knoten. c LETTMANN 00/0 Modellierung Graphentheorie VI-9 c LETTMANN 00/0 Modellierung Graphentheorie VI-0

31 Modellierung mit gerichteten Graphen Modellierung mit gerichteten Graphen Programmaufrufgraph: Aufrufbeziehung zwischen Funktionen in einem Programm f: Funktion f im Programm Knoten f g: Funktion f enthält Aufruf der Funktion g Kante rekursive Funktion Schleife im Aufrufgraph wechselweise rekursive Aufrufe Zyklus der Länge nicht rekursive Funktion Knoten nicht in Zyklus nicht erreichbare Funktionen Eingangsgrad 0 g Abhängigkeitsgraph: Abhängigkeiten zwischen Aktionen oder Ereignissen Knoten e: Aktion, Ereignis Knotenmarkierung: Dauer der Aktion e Kante e Aktion e : ist Vorbedingung für e Der Graph muss zyklenfrei sein! Scheduling: sequentielle bzw. parallele Anordnung von Aktion/Operationen, z.b. von Transaktionen auf einer Datenbank Gesucht ist die kürzestmögliche Gesamtdauer für die Ausführung aller Aktionen unter Berücksichtigung der Abhängigkeiten. Kritischer Pfad: Weg von einem Anfangsknoten (Wurzel, Knoten mit Eingangsgrad 0) zu einem Endknoten (Blatt, Knoten mit Ausgangsgrad 0) mit maximaler Dauer (Summe der Knotenmarkierungen) f h h k Innerhalb eines Plans von kürzestmöglicher Gesamtdauer gibt es für jede Operation einen frühesten Zeitpunkt für den Beginn der Ausführung und einen spätesten Zeitpunkt hierfür, ohne die Gesamtdauer zu erhöhen. Ist der Pufferzeitraum 0, so spricht man von einer kritischen Operation. Ein kritischer Pfad enthält nur kritische Operationen. A B C D c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

32 Modellierung mit gerichteten Graphen Zustandsgraph: Übergänge zwischen Situationen oder Zuständen Knoten s: Situation, Zustand Kante s s : Aktion überführt Zustand s in Zustand s Dauer der Operation, Art der Aktion Kantenmarkierung: Beispiel: Rätsel des Alkuin (Mann, Wolf, Ziege, Kohlkopf), allgemein Suchräume, Spielbäume, Syntaxdiagramm, Entscheidungsbäume Nimm-Spiel: Gegeben ist ein Stapel mit s Streichhölzern, von dem Spieler abwechselnd mindestens und höchstens n Streichhölzer wegnehmen. Wer das letzte Streichholz nimmt, hat gewonnen. B: B: B: B: B: B: B: B: B: A: A: A: A: A: A: A: A: A: A: A: A: A: A: A: A: A: A: B: B: B: B: B: B: B: B: B: B: B: B: A: A: A: 7 8 A: A: A: Gewinnstrategie: Wenn möglich, entferne k der s Streichhölzer mit k n, so dass (s k) mod (n +)=0gilt. Ansonsten nimm eine beliebige Anzahl und warte auf einen Fehler des Gegenspielers. Modellierung mit gerichteten Graphen Fluss-Netzwerke: Transport von Punkt zu Punkt über Wege mit beschränkter Kapazität Knoten s: Stationen Kante s s : Weg führt von Station s zu Station s Kantenmarkierung: Kapazität der Verbindung Beispiel: Netzwerk von Kanälen, über die in jeweils eine Richtung Daten übertragen werden können. Jeder Kanal hat eine feste Bandbreite. Wie viele Daten können maximal parallel von einem Knoten s zu einem Knoten t übertragen werden? s 8 a 0 8 b c f 8 7 d 7 e 7 t c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

33 Flüsse und Schnitte () Sei G =(V,E) ein gerichteter Graph und c : E R + 0 eine Kantenmarkierung, die Kapazität der Kanten. t V sei von s V aus erreichbar. Es gelte ingrad(s) =0und outgrad(t) =0. Dann heißt N =(G, c, s, t) ein Fluss-Netzwerk mit Quelle s und Senke t. Ein Fluss auf N ist eine Abbildung f : E R + 0, die die folgenden Bedingungen erfüllt:. 0 f(e) c(e) für alle e E.. f((v,v)) = f((v, v )) für alle v V mit s v t. (v,v) E (v,v ) E Flüsse und Schnitte () Ein Schnitt (S, T ) von N ist eine disjunkte Aufteilung der Knoten, also S T = V, so dass s S und t T gilt. c(s, T ):= c((v,v )) v S,v T,(v,v ) E ist die Kapazität des Schnittes (S, T ). Ein Schnitt heißt minimal, wenn seine Kapazität minimal unter allen Schnitten ist. (Ford & Fulkerson 9) In einem Fluss-Netzwerk N ist der maximale Wert eines Flusses auf N gleich der minimalen Kapazität eines Schnittes in N. Es gilt dann (s,v) E f((s, v)) = (v,t) E f((v, t)), also liegt ein Fluss von s nach t vor mit dem Wert w(f) = f((s, v)) (s,v) E Ein Fluss heißt maximal, wenn sein Wert maximal unter allen Flüssen ist. s a b c f 8 d e 7 7 t s a b c f 8 d e 7 7 t (Fluss Kapazität) c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe Einführung in die Graphentheorie Modellierung mit Graphen Aufgabe Motivation Ungerichtete Graphen Gerichtete Graphen Credits: D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI 99 G. Goos: Vorlesungen

Mehr

symbol. Verhalten Modell graph. Verhalten Modell System Verhalten Domäne Einführung in die Graphentheorie Modellierung mit Graphen

symbol. Verhalten Modell graph. Verhalten Modell System Verhalten Domäne Einführung in die Graphentheorie Modellierung mit Graphen Einführung in die Graphentheorie Modellierung mit Graphen Aufgabe Motivation Ungerichtete Graphen Gerichtete Graphen Credits: D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI 99 G. Goos: Vorlesungen

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

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

= 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Freie Bäume und Wälder

Freie Bäume und Wälder (Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese

Mehr

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

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

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

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

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

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr

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

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

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

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

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII

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

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

Zentralübung zur Vorlesung Diskrete Strukturen

Zentralübung zur Vorlesung Diskrete Strukturen WS 2010/11 Zentralübung zur Vorlesung Diskrete Strukturen Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/uebung/ 2. Februar 2011 ZÜ DS ZÜ XIII 1. Übungsbetrieb:

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

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

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

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

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

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

1. Einige Begriffe aus der Graphentheorie

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

Mehr

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

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

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester

Mehr

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E

Mehr

Grundlagen: Begriffe zu Graphen

Grundlagen: Begriffe zu Graphen l o a UNIVERSITÄT KONSTANZ September 18 LEHRSTUHL FÜR PRAKTISCHE INFORMATIK Prof Dr D Wagner / Annegret Liebers Grundlagen: Begriffe zu Graphen Das erste Lehrbuch zur Graphentheorie war [K ön6 (Der Nachdruck

Mehr

6. Planare Graphen und Färbungen

6. Planare Graphen und Färbungen 6. Planare Graphen und Färbungen Lernziele: Den Begriff der Planarität verstehen und erläutern können, wichtige Eigenschaften von planaren Graphen kennen und praktisch einsetzen können, die Anzahl von

Mehr

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

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

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

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

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

Ferienkurs Propädeutikum Diskrete Mathematik

Ferienkurs Propädeutikum Diskrete Mathematik Ferienkurs Propädeutikum Diskrete Mathematik Teil 3: Grundlagen Graphentheorie Tina Janne Schmidt Technische Universität München April 2012 Tina Janne Schmidt (TU München) Ferienkurs Propädeutikum Diskrete

Mehr

Kapitel 5: Graphen und Graphalgorithmen

Kapitel 5: Graphen und Graphalgorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Algorithmen und Datenstrukturen Kapitel 5: Graphen und Graphalgorithmen Skript zur Vorlesung Algorithmen und Datenstrukturen

Mehr

Für die Anzahl der Kanten in einem vollständigen Graphen (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt:

Für die Anzahl der Kanten in einem vollständigen Graphen (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt: Der K 4 lässt sich auch kreuzungsfrei zeichnen: Für die Anzahl der Kanten in einem vollständigen Graphen (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt: ( ) n n (n 1) E

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

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

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

Mehr

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

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

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

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

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

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt. Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 5. Musterlösung Problem : Vitale Kanten * In einem Netzwerk (D = (V, E); s, t; c) mit Maximalfluß f heißen Kanten e

Mehr

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter WS 2013/14 1 Eulersche Graphen Kantenzug Ein Kantenzug in einem Graphen (V, E) ist eine Folge (a 0, a 1,..., a n ) von Knoten

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

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

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

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Knotenfärbung Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Die chromatische Zahl χ(g) eines Graphen G ist die minimale

Mehr

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2) Graphen (2) 1 Topologisches Sortieren (1) Die Kanten eines gerichteten zyklenfreien Graphen bilden eine Halbordnung (die Ordnungsrelation ist nur für solche Knoten definiert die am gleichen Pfad liegen).

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

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

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

8. Übung zu Algorithmen I 15. Juni 2016

8. Übung zu Algorithmen I 15. Juni 2016 8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

Mehr

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n

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

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

Isomorphie von Bäumen

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

Mehr

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

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

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

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 2008/09 Blatt

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE

Mehr

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

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Graphen und Bäume Prof. Dr. Nikolaus Wulff Weitere Datentypen Als wichtige abstrakte Datentypen (ADT) kennen wir bis lang die Liste, den Stapel und die Warteschlange. Diese

Mehr

3. Die Datenstruktur Graph

3. Die Datenstruktur Graph 3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken

Mehr

Ecken des Zuordnungsproblems

Ecken des Zuordnungsproblems Total unimodulare Matrizen Ecken des Zuordnungsproblems Definition.6 Ein Zuordnungsproblem mit den Vorzeichenbedingungen 0 apple x ij apple für i, j =,...,n statt x ij 2{0, } heißt relaxiertes Zuordnungproblem.

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

4. Kreis- und Wegeprobleme

4. Kreis- und Wegeprobleme 4. Kreis- und Wegeprobleme Kapitelübersicht 4. Kreis- und Wegeprobleme Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Abstände in Graphen Berechnung

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

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

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen?

4. Welchen Zusammenhang gibt es zwischen den Eckengraden und der Anzahl der Kanten eines ungerichteten Graphen? Kapitel 7 Graphentheorie Verständnisfragen Sachfragen 1. Was ist ein ungerichteter Graph? 2. Erläutern Sie den Begriff Adjazenz! 3. Erläutern Sie den Eckengrad in einem Graphen! 4. Welchen Zusammenhang

Mehr

Formale Grundlagen. bis , Lösungen. 1. Beweisen Sie, daß die Summe aller Grade der Knoten stets gerade ist.

Formale Grundlagen. bis , Lösungen. 1. Beweisen Sie, daß die Summe aller Grade der Knoten stets gerade ist. Formale Grundlagen 4. Übungsaufgaben bis 2011-06-03, Lösungen 1. Beweisen Sie, daß die Summe aller Grade der Knoten stets gerade ist. 2. Finden Sie einen Eulerschen Weg im Briefumschlag, d.h. in: { ((1,

Mehr