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

Größe: px
Ab Seite anzeigen:

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

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

2 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ür eine Kante e = {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- 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,dajede 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

3 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: { falls {v i,v j } E mit a i,j = 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 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}}) b M G = 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 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-

4 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- 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}}) 0 0 b 0 0 M G = MG = M 0 0 G M G = 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: l((v 0,...,v n )) = n 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. c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

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

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

7 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- Beispiele für Bäume Sätze über Bäume Vollständiger binärer Baum der Tiefe Wald von vollständigen binären Bäumen 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. 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: Erzeugender Baum für das Nikolaushaus mit Anbau V = E + 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

8 Induktive Gewurzelte Bäume () Wurzel Beispiele für 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 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: innere Knoten 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 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. E x A y P x f y a x P a c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

9 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. I.A.: n =0 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. I.V.: n 0 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. I.S.: n n + Sei G =(V,E) ein vollständiger k-ärer Baum mit Wurzel w V und Tiefe n +.Alsohatw 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- 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-

10 Beispiele für bipartite Graphen Modellierung mit bipartiten Graphen bipartit (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. 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 Funktion pref : 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 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

11 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ür eine Kante e =(v, w) E zwischen den Knoten v V und w V verwendet man folgende Bezeichnungen: Typische Fragen: v und w heißen inzident zu e, 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- 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-

12 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)}) b M G = 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- 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

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

14 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, sodassg 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- 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-

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

16 Modellierung mit gerichteten Graphen Programmaufrufgraph: Aufrufbeziehung zwischen Funktionen in einem Programm Knoten f: Funktion f im Programm Kante f g: Funktion f enthält Aufruf der Funktion g 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 Modellierung mit gerichteten Graphen Abhängigkeitsgraph: Abhängigkeiten zwischen Aktionen oder Ereignissen Knoten e: Aktion, Ereignis Knotenmarkierung: Dauer der Aktion Kante e 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- 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 Kantenmarkierung: Dauer der Operation, Art der Aktion 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. 7 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: 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-

17 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 8 8 (Fluss Kapazität) 0 a b c f 8 d e 7 7 t s a b c f 8 d e 7 7 t c LETTMANN 00/0 Modellierung Graphentheorie VI- c LETTMANN 00/0 Modellierung Graphentheorie VI-

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

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

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

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

Algorithmen und Datenstrukturen (WS 2007/08) 63

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

Mehr

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

Kombinatorische Optimierung

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

Mehr

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

Graphentheorie Mathe-Club Klasse 5/6

Graphentheorie Mathe-Club Klasse 5/6 Graphentheorie Mathe-Club Klasse 5/6 Thomas Krakow Rostock, den 26. April 2006 Inhaltsverzeichnis 1 Einleitung 3 2 Grundbegriffe und einfache Sätze über Graphen 5 2.1 Der Knotengrad.................................

Mehr

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

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

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

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

Mehr

Graphen: Datenstrukturen und Algorithmen

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

Mehr

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

Bäume und Wälder. Bäume und Wälder 1 / 37

Bäume und Wälder. Bäume und Wälder 1 / 37 Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine Kreise enthält. Diese Graphen sind Bäume: Diese aber nicht:

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

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

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

Mehr

Algorithmen und Datenstrukturen 2

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

Mehr

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

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

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

Mehr

5. Verschiedene Repräsentanten

5. Verschiedene Repräsentanten 5. Verschiedene Repräsentanten 5.1. Die Sätze Hall und König Sei I := {1,...,n}, und sei A(I) = (A 1,...,A n ) eine Familie von Teilmengen einer endlichen Menge E. Zu K I seien A(K) := (A i : i K) und

Mehr

Die in den Suchverfahren konstruierten Graphen waren zusammenhängend und enthielten keine Kreise. Also vereinbaren wir:

Die in den Suchverfahren konstruierten Graphen waren zusammenhängend und enthielten keine Kreise. Also vereinbaren wir: Kapitel 4 Bäume und Matchings Wir haben im letzten Kapitel Bäume implizit als Ergebnis unserer Suchverfahren kennengelernt. In diesem Kapitel wollen wir diese Graphenklasse ausführlich untersuchen. 4.1

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Algorithmische Methoden der Netzwerkanalyse

Algorithmische Methoden der Netzwerkanalyse Algorithmische Methoden der Netzwerkanalyse Marco Gaertler 9. Dezember, 2008 1/ 15 Abstandszentralitäten 2/ 15 Distanzsummen auf Bäumen Lemma Sei T = (V, E) ein ungerichteter Baum und T s = (V S, E s )

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Efficient Parallel Algorithms for Edge Coloring Problems H. Karloff, D. Shmoys Journal of Algorithms 8, 39-52 (1987)

Efficient Parallel Algorithms for Edge Coloring Problems H. Karloff, D. Shmoys Journal of Algorithms 8, 39-52 (1987) Efficient Parallel Algorithms for Edge Coloring Problems H. Karloff, D. Shmoys Journal of Algorithms 8, 39-5 (1987) Ausarbeitung im Fach Parallele Algorithmen Dozent: Prof. Dr. Berrendorf Sommersemester

Mehr

Von optimaler Partnerwahl, minimalen Schnitten und maximalen Flüssen. Schülerwoche der Bonner Mathematik 2013

Von optimaler Partnerwahl, minimalen Schnitten und maximalen Flüssen. Schülerwoche der Bonner Mathematik 2013 Von optimaler Partnerwahl, minimalen Schnitten und maximalen Flüssen Schülerwoche der Bonner Mathematik 203 3. September 203 Dr. Lisa Beck Hausdorff Center for Mathematics Universität Bonn Einleitung Ziel

Mehr

Modelle und Statistiken

Modelle und Statistiken Kapitel 4 Modelle und Statistiken In letzter Zeit werden vermehrt Parameter (Gradfolgen, Kernzahlfolgen, etc.) empirischer Graphen (Internet, WWW, Proteine, etc.) berechnet und diskutiert. Insbesondere

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit für das SE Reine Mathematik- Graphentheorie Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis

Mehr

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

Datenstrukturen & Algorithmen

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

Mehr

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

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

Mehr

Property Testing in Graphen mit beschränktem Maximalgrad

Property Testing in Graphen mit beschränktem Maximalgrad Property Testing in Graphen mit beschränktem Maximalgrad Björn Schümann Seminar Graphentheorie und Kombinatorik WS 2007-08 Inhaltsverzeichnis 1 Einleitung 2 2 Allgemeine Aussagen zum Property Testing 3

Mehr

Expander Graphen und Ihre Anwendungen

Expander Graphen und Ihre Anwendungen Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze Einführung in Petri-Netze Modellierung von Abläufen und Prozessen () Motivation Abhängigkeitsgraphen: A B 6 C 5 D Petri-Netze Markierungen Invarianten Credits: L. Priese, H. Wimmel: Petri-Netze, Theoretische

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Einführung in die Lineare und Kombinatorische Optimierung

Einführung in die Lineare und Kombinatorische Optimierung Einführung in die Lineare und Kombinatorische Optimierung (Algorithmische Diskrete Mathematik I, kurz ADM I) Skriptum zur Vorlesung im WS 2012/2013 Prof. Dr. Martin Grötschel Institut für Mathematik Technische

Mehr

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik P E T R I N E T Z E. Vorlesungsskript

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik P E T R I N E T Z E. Vorlesungsskript Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik P E T R I N E T Z E Vorlesungsskript Magdeburg, Oktober 2008 Januar 2009 Vorwort Petri-Netze gehören zu den meist

Mehr

Praktikum Planare Graphen

Praktikum Planare Graphen 1 Praktikum Planare Graphen Michael Baur, Martin Holzer, Steffen Mecke 10. November 2006 Einleitung Gliederung 2 Grundlagenwissen zu planaren Graphen Themenvorstellung Gruppeneinteilung Planare Graphen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

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

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

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

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

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

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Definition eines Spiels

Definition eines Spiels Definition eines piels 1. Einleitung 1.1 Einführung: Die mathematische pieltheorie beschäftigt sich nicht nur mit der Beschreibung und Analyse von pielen im üblichen inn, sondern allgemein mit Konfliktsituationen

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

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

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Prof. Dr.-Ing. Firoz Kaderali Prof. Dr. rer. nat. Werner Poguntke. Graphen, Algorithmen und Netze

Prof. Dr.-Ing. Firoz Kaderali Prof. Dr. rer. nat. Werner Poguntke. Graphen, Algorithmen und Netze Prof. Dr.-Ing. Firoz Kaderali Prof. Dr. rer. nat. Werner Poguntke Graphen, Algorithmen und Netze Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere das Recht der Vervielfältigung

Mehr

Formelsammlung Mathematische Grundlagen für die Informatik

Formelsammlung Mathematische Grundlagen für die Informatik Formelsammlung Mathematische Grundlagen für die Informatik Wolfgang Führer wolfgang.fuehrer@web.de August 2007 Inhaltsverzeichnis Lineare Algebra. Vektorräume.................................... Abelsche

Mehr

Beispiele für Relationen

Beispiele für Relationen Text Relationen 2 Beispiele für Relationen eine Person X ist Mutter von einer Person Y eine Person X ist verheiratet mit einer Person Y eine Person X wohnt am gleichen Ort wie eine Person Y eine Person

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

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

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

Mehr

Discrete Exterior Calculus im Maschinellen Lernen

Discrete Exterior Calculus im Maschinellen Lernen Discrete Exterior Calculus im Maschinellen Lernen Alexander Schier Geboren am 25. März 1986 in Köln 31. Januar 2014 Diplomarbeit Informatik Betreuer: Prof. Dr. Michael Griebel Institut für Numerische Simulation

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Diskrete Mathematik für Informatiker

Diskrete Mathematik für Informatiker Diskrete Mathematik für Informatiker Markus Lohrey Universität Siegen Wintersemester 2014/2015 Lohrey (Universität Siegen) Diskrete Mathematik Wintersem. 2014/2015 1 / 344 Organisatorisches zur Vorlesung

Mehr

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität Prof. Dr. H. Brenner Osnabrück SS 2012 Algebraische Kurven Vorlesung 26 Die Schnittmultiplizität Es seien zwei ebene algebraische Kurven C,D A 2 K gegeben, die keine Komponente gemeinsam haben. Dann besteht

Mehr

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Schwierige Probleme in der Informatik Informationen für die Lehrperson Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench

Mehr

Maschinelles Lernen. Kapitel 5

Maschinelles Lernen. Kapitel 5 Kapitel 5 Maschinelles Lernen Im täglichen Leben begegnet uns das Lernen meist in einer Mischung aus den Aspekten der Vergrößerung von Wissen und der Verbesserung von Fähigkeiten. Beim Erlernen einer Fremdsprache

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung Kapitel 3: Problemformulierungen in der KI oder das Problem ist die halbe Lösung Lernziele: eine Struktur für die Definition eines problemlösenden Agenten kennen die wichtige Rolle von Abstraktionen in

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Modellierung Prof. Dr. Uwe Kastens WS 2011 / 2012

Modellierung Prof. Dr. Uwe Kastens WS 2011 / 2012 Modellierung Prof. Dr. Uwe Kastens WS 2011 / 2012 Mod-1.0 Begründung der Vorlesung Mod-1.1 Das Modellieren ist eine für das Fach Informatik typische Arbeitsmethode. Mit der Modellierung einer Aufgabe zeigt

Mehr

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Ulrich Loup 24.03.2006 Prüfungsstoff: Alegebra I, Analysis IV, Graphentheorie I Prüfer: Prof. Dr. Wilhelm Plesken Protokollant: Dipl.

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

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

Mehr