Grundbegriffe der Informatik

Ähnliche Dokumente
Grundbegriffe der Informatik

Grundbegriffe der Informatik

15 G R A P H E N gerichtete graphen

11 G R A P H E N. malt man lieber Abbildungen wie diese:

Grundbegriffe der Informatik Tutorium 8

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

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

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Anwendungen von Graphen

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

WS 2013/14. Diskrete Strukturen

Algorithmen und Datenstrukturen

Nachbarschaft, Grad, regulär, Inzidenz

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

Graphen. Definitionen

Grundbegriffe der Informatik

Dieser Graph hat 3 Zusammenhangskomponenten

Einheit 11 - Graphen

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

Grundlagen der Theoretischen Informatik

= 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

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:

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

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

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

8. Übung Algorithmen I

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Graphen. Graphen und ihre Darstellungen

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

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

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

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

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

Graphen und Bäume. A.1 Graphen

Graphentheorie. Yichuan Shen. 10. Oktober 2013

Klausur zur Vorlesung Grundbegriffe der Informatik 14. September 2015

WS 2008/09. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen

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

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

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

Algorithmen und Datenstrukturen 2

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Programmiertechnik II

Algorithmische Graphentheorie

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

Programmiertechnik II

Klausur zur Vorlesung Grundbegriffe der Informatik 2. März 2016

Einführung in die Graphentheorie. Monika König

Freie Bäume und Wälder

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

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

Kapitel IV Minimale Spannbäume

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

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Planare Graphen, Färbung)

Übung zur Vorlesung Diskrete Strukturen I

Kapitel IV Minimale Spannbäume

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

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

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

Tutorium 23 Grundbegriffe der Informatik (6. Sitzung)

Algorithmen und Datenstrukturen 2-1. Seminar -

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Grundbegriffe der Informatik Aufgabenblatt 11

Lösungen zu Kapitel 5

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 6. März 2017

ADS: Algorithmen und Datenstrukturen 2

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

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

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Bäume und Wälder. Definition 1

Motivation Kap. 6: Graphen

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

ADS: Algorithmen und Datenstrukturen 2

Bäume und Wälder. Definition 1

1. Einige Begriffe aus der Graphentheorie

Grundbegriffe der Informatik

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

WS 2013/14. Diskrete Strukturen

9. Übung Algorithmen I

Massive Parallelität : Neuronale Netze

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Verteilen von Bällen auf Urnen

Graphentheorie. Algebraic Graph Theory von Chris Godsil und Gordon Royle. Kapitel Seminararbeit. von. Katharina Mayr

1 Beispiele für Graphen

8. Übung zu Algorithmen I 15. Juni 2016

A B = {(a,b) a A, b B}

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

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

Isomorphie von Bäumen

Algorithmische Graphentheorie

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen

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

Graphenalgorithmen I

Transkript:

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 1 / 65

Darstellung von Zusammenhängen oft Objekte durch Linien verbunden, z. B. in dieser Vorlesung in der Vorlesung Programmieren im realen Leben nun allgemein Gegenstand der Betrachtungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 2 / 65

Königsberg, 1652 (heute Kaliningrad) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 3 / 65

Königsberg, 1652 (heute Kaliningrad) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 65

Königsberg, 1652 (heute Kaliningrad) Leonard Euler (1736): kein Spaziergang über jede Brücke genau einmal GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 65

Überblick Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Übertragung der Grundbegriffe aus dem gerichteten Fall Eine Anmerkung zu Relationen Graphen mit Knoten- oder Kantenmarkierungen Gewichtete Graphen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 65

Wo sind wir? Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 6 / 65

Wo sind wir? Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 65

Gerichteter Graph Paar G = (V, E) Knotenmenge V endlich, nichtleer (Knoten: engl. vertex) Kantenmenge E V V (Kante: engl. edge) also auch endlich darf leer sein statt V = {0, 1, 2, 3, 4, 5} E = {(0, 1), (0, 3), (1, 2), (1, 3), (4, 5), (5, 4)} lieber 0 1 2 3 4 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 8 / 65

Gerichteter Graph Paar G = (V, E) Knotenmenge V endlich, nichtleer (Knoten: engl. vertex) Kantenmenge E V V (Kante: engl. edge) also auch endlich darf leer sein statt V = {0, 1, 2, 3, 4, 5} E = {(0, 1), (0, 3), (1, 2), (1, 3), (4, 5), (5, 4)} lieber 0 1 2 oder 3 4 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 65

Man kann den gleichen Graphen verschieden hinmalen Anordnung der Knoten in der Darstellung irrelevant zwei Darstellungen des gleichen Graphen: 0 1 2 3 4 5 1 2 4 3 0 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 65

Bäume kamen schon mehrfach vor 10 100 101 1 11 110 111 G = (V, E) mit V = {1} ( i Z 3 {0, 1} ) i = {1, 10, 11, 100, 101, 110, 111} E = {(w,wx) x {0, 1} w V wx V } = {(1, 10), (1, 11), (10, 100), (10, 101), (11, 110), (11, 111)} GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 65

de Bruijn-Graphen V = {0, 1} n und Kanten (xw,wy) Beispiel n = 3: V = {0, 1} 3 = {000, 001, 010, 011, 100, 101, 110, 111} E = {(xw,wy) x,y {0, 1} w {0, 1} 2 } = {(000, 000),..., (010, 101),... } 001 011 000 010 101 111 100 110 Schlinge: (x, x) E schlingenfrei: ohne Schlingen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 65

Teilgraph G = (V, E ) ist ein Teilgraph von G = (V, E), wenn V V E E V V, Endpunkte von Kanten in E müssen in V sein Teilgraph des de Bruijn-Graphen 001 011 000 101 111 100 110 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 65

Wo sind wir? Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 14 / 65

Pfade können über mehrere Kanten führen V (+) : Menge der nichtleeren Listen von Elementen aus V p = (v 0,...,v n ) V (+) ist Pfad wenn für jedes i Z n gilt: (v i,v i+1 ) E Länge eines Pfades: Anzahl n = p 1 der Kanten (!) v n von v 0 erreichbar, wenn Pfad p = (v 0,...,v n ) existiert Länge 0 für Pfade erlaubt: p = (v 0 ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 15 / 65

Zyklen führen zum Ausgangspunkt zurück Pfad mit v 0 = v n heißt geschlossen geschlossenener Pfad heißt Zyklus, wenn n 1 ist. Pfad (v 0,...,v n ) wiederholungsfrei, wenn Knoten v 0,..., v n 1 paarweise verschieden und Knoten v 1,..., v n paarweise verschieden v 0 und v n dürfen gleich sein einfacher Zyklus: wiederholungsfreier Zyklus azyklischer Graph: kein Teilgraph ist Zyklus GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 16 / 65

Beispiele für Pfade 001 011 000 101 111 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 17 / 65

Beispiele für Pfade 001 011 000 101 111 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 18 / 65

Beispiele für Pfade 001 011 000 101 111 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 65

Beispiele für Pfade 001 011 000 101 111 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 65

Beispiele für Pfade 001 011 000 101 111 zweimal 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 21 / 65

Beispiele für Pfade 001 011 000 101 111 100 110 (100) ist Pfad der Länge 0 (100, 001) ist Pfad der Länge 1 (100, 000, 001) ist Pfad der Länge 2 (110, 101, 011, 111, 111, 111) ist Pfad der Länge 5 (011, 110, 101, 011) ist einfacher Zyklus der Länge 3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 22 / 65

Teilpfade Teilpfad eines Pfad p = (v 0,...,v n ) V (+) entsteht durch Streiche endlich vieler Knoten am Anfang oder/und am Ende mindestens ein Knoten muss übrig bleiben GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 23 / 65

Strenger Zusammenhang gerichteter Graph streng zusammenhängend für jedes Knotenpaar (x,y) V 2 existiert Pfad von x nach y Beispiel: 001 011 000 010 101 111 100 110 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 65

Strenger Zusammenhang gerichteter Graph streng zusammenhängend für jedes Knotenpaar (x,y) V 2 existiert Pfad von x nach y Beispiel: 001 011 000 010 101 111 100 110 hier existieren sogar einfache Zyklen, die alle Knoten enthalten GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 65

Strenger Zusammenhang gerichteter Graph streng zusammenhängend für jedes Knotenpaar (x,y) V 2 existiert Pfad von x nach y Beispiel: 001 011 000 010 101 111 100 110 hier existieren sogar einfache Zyklen, die alle Knoten enthalten GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 25 / 65

Gerichtete Bäume 10 1 11 es gibt eine Wurzel r V mit der Eigenschaft zu jedem Knoten x existiert genau ein Pfad gleich: Wurzel immer eindeutig 100 101 110 111 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 65

Eindeutigkeit der Wurzel Lemma. Die Wurzel eines gerichteten Baumes ist eindeutig. Beweis. Angenommen, r und r wären verschiedene Wurzeln Dann gäbe es einen Pfad von r nach r, weil r Wurzel ist, und einen Pfad von r nach r, weil r Wurzel ist. Hintereinanderhängen dieser Pfade der Länge > 0 ergäbe Pfad von r nach r, der vom Pfad (r ) verschieden wäre. Also wäre der Pfad von r nach r gar nicht eindeutig. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 27 / 65

Knotengrad bei gerichteten Graphen A D B C Eingangsgrad eines Knoten y ist d (y) = {x (x,y) E} Ausgangsgrad eines Knoten x ist d + (x) = {y (x,y) E} Grad eines Knotens ist d(x) = d (x) + d + (x) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 28 / 65

Bäume: Blätter und innere Knoten bei einem Baum sind Blätter Knoten mit Ausgangsgrad = 0 innere Knoten Knoten mit Ausgangsgrad > 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 29 / 65

Wo sind wir? Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 30 / 65

Struktur eines Graphen was ist das? das, was gleich bleibt, wenn man die Knoten umbenennt GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 65

Struktur eines Graphen was ist das? das, was gleich bleibt, wenn man die Knoten umbenennt G 1 = (V 1, E 1 ) isomorph zu G 2 = (V 2, E 2 ), wenn Bijektion f : V 1 V 2 existiert mit der Eigenschaft x V 1 : y V 1 : (x,y) E 1 (f (x), f (y)) E 2 f heißt dann auch ein (Graph-)Isomorphismus Beispiel: 00 01 11 10 und A B C D GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 65

Struktur eines Graphen was ist das? das, was gleich bleibt, wenn man die Knoten umbenennt G 1 = (V 1, E 1 ) isomorph zu G 2 = (V 2, E 2 ), wenn Bijektion f : V 1 V 2 existiert mit der Eigenschaft x V 1 : y V 1 : (x,y) E 1 (f (x), f (y)) E 2 f heißt dann auch ein (Graph-)Isomorphismus f (00) = A f (01) = B f (11) = C f (10) = D Beispiel: 00 01 11 10 und A B C D GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 65

Graphisomorphie hat drei wichtige Eigenschaften Wenn G 1 isomorph zu G 2, dann auch G 2 isomorph zu G 1 : f 1 leistet das Gewünschte. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 65

Graphisomorphie hat drei wichtige Eigenschaften Wenn G 1 isomorph zu G 2, dann auch G 2 isomorph zu G 1 : f 1 leistet das Gewünschte. Jeder Graph ist isomorph zu sich selbst: wähle f = I V GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 65

Graphisomorphie hat drei wichtige Eigenschaften Wenn G 1 isomorph zu G 2, dann auch G 2 isomorph zu G 1 : f 1 leistet das Gewünschte. Jeder Graph ist isomorph zu sich selbst: wähle f = I V Wenn G 1 isomorph zu G 2 (dank f ) und wenn G 2 isomorph zu G 3 (dank д), dann G 1 isomorph zu G 3 (dank д f ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 65

Wo sind wir? Gerichtete Graphen Graphen und Teilgraphen Pfade und Erreichbarkeit Isomorphie von Graphen Ein Blick zurück auf Relationen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 65

Graphen sind Relationen Welche Bedeutung hat das Relationenprodukt? G = (V, E) mit E V V E binäre Relation auf V Frage: Bedeutung von E 2 = E E? E E = {(x, z) V V y V : (x,y) E (y, z) E} Pfad der Länge 2: Knotenliste p = (v 0,v 1,v 2 ) mit der Eigenschaft, dass (v 0,v 1 ) E (v 1,v 2 ) E. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 34 / 65

Graphen sind Relationen Welche Bedeutung hat das Relationenprodukt? G = (V, E) mit E V V E binäre Relation auf V Frage: Bedeutung von E 2 = E E? E E = {(x, z) V V y V : (x,y) E (y, z) E} Pfad der Länge 2: Knotenliste p = (v 0,v 1,v 2 ) mit der Eigenschaft, dass (v 0,v 1 ) E (v 1,v 2 ) E. also Knotenpaar (x, z) genau dann in Relation E 2, wenn Pfad (x, y, z) der Länge 2 von x nach z existiert GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 34 / 65

Graphen sind Relationen Erreichbarkeit (x,y) E 2 es existiert Pfad der Länge 2 von x nach y. noch leichter (x,y) E 1 es existiert Pfad der Länge 1 von x nach y. (x,y) E 0 es existiert Pfad der Länge 0 von x nach y. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 65

Graphen sind Relationen Erreichbarkeit (x,y) E 2 es existiert Pfad der Länge 2 von x nach y. noch leichter (x,y) E 1 es existiert Pfad der Länge 1 von x nach y. (x,y) E 0 es existiert Pfad der Länge 0 von x nach y. vollständige Induktion liefert Lemma. Für jeden gerichteten Graphen G = (V, E) und jedes i N 0 gilt: Knotenpaar (x,y) ist genau dann in der Relation E i, wenn in G Pfad der Länge i von x nach y vorhanden GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 65

Graphen sind Relationen Erreichbarkeit Korollar. Es sei G = (V, E) ein gerichteter Graph. Knotenpaar (x,y) ist genau dann in der Relation E, wenn Pfad (evtl. der Länge 0) von x nach y in G existiert. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 36 / 65

Graphen sind Relationen Erreichbarkeit Korollar. Es sei G = (V, E) ein gerichteter Graph. Knotenpaar (x,y) ist genau dann in der Relation E, wenn Pfad (evtl. der Länge 0) von x nach y in G existiert. Korollar. Ein gerichteter Graph G = (V, E) ist genau dann streng zusammenhängend, wenn E = V V ist. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 36 / 65

Was ist wichtig Das sollten Sie mitnehmen: gerichtete Graphen drücken Beziehungen aus (Relationen) Pfade strenger Zusammenhang Bäume Das sollten Sie üben: Benutzung der neuen Begriffe beim Reden Malen von Graphen sehen, wann Graphen isomorph sind GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 37 / 65

Wo sind wir? Gerichtete Graphen Ungerichtete Graphen Übertragung der Grundbegriffe aus dem gerichteten Fall Eine Anmerkung zu Relationen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 65

Wo sind wir? Gerichtete Graphen Ungerichtete Graphen Übertragung der Grundbegriffe aus dem gerichteten Fall Eine Anmerkung zu Relationen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 39 / 65

Ungerichtete Graphen mit Kanten ohne Richtung manchmal zu jeder Kante (x, y) E auch «umgekehrte Kante» (y, x) E graphische Darstellung der zwei gerichteten Kanten (x, y) und (y, x) durch einen Strich ohne Pfeilspitzen Man spricht dann auch nur von einer Kante. Beispiel 0 1 2 3 4 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 40 / 65

Ungerichtete Graphen formal definiert Ein ungerichteter Graph ist eine Struktur U = (V, E) mit V : endliche nichtleere Menge von Knoten E: Menge von Kanten mit E { {x,y} x V y V } adjazente Knoten: durch eine Kante miteinander verbunden Schlinge Kante mit identischen Start- und Zielknoten formal ergibt sich {x, y} mit x = y, also einfach {x} Graph ohne Schlingen heißt schlingenfrei GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 41 / 65

Beispiel 0 1 3 V = {0, 1, 2, 3, 4, 5} E = { {0, 1}, {0, 3}, {1, 3}, {3}, {4, 5} } 4 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 65

Beispiel 0 1 3 V = {0, 1, 2, 3, 4, 5} E = { {0, 1}, {0, 3}, {1, 3}, {3}, {4, 5} } 4 5 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 65

Teilgraph eines ungerichteten Graphen U = (V, E ) ist Teilgraph eines ungerichteten Graphen U = (V, E), wenn V V und E E { {x,y} x,y V }. Endpunkte jeder Kante von E müssen zu V gehören. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 43 / 65

Wege das ungerichtete Gegenstück zu Pfaden p = (v 0,...,v n ) V (+) ist Weg in einem ungerichteten Graphen, wenn für jedes i Z n gilt: {v i,v i+1 } E Länge eines Weges: Anzahl n = p 1 der Kanten (!) v n von v 0 erreichbar, wenn Weg p = (v 0,...,v n ) existiert Weg (v 0,...,v n ) heißt wiederholungsfrei, wenn gilt: Knoten v 0,..., v n 1 paarweise verschieden und Knoten v 1,..., v n paarweise verschieden v 0 und v n dürfen gleich sein GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 44 / 65

Kreise das ungerichtete Gegenstück zu Zyklen geschlossener Weg oder Kreis: p = (v 0,...,v n ) mit v 0 = v n einfacher Kreis wiederholungsfreier Kreis mit mindestens drei verschiedenen Knoten GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 45 / 65

Ungerichtete Kanten und Relationen gerichtete Graphen E binäre Relation auf V E i und E haben anschauliche Bedeutung ungerichtete Graphen: E keine binäre Relation, aber GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 46 / 65

Ungerichtete Kanten und Relationen gerichtete Graphen E binäre Relation auf V E i und E haben anschauliche Bedeutung ungerichtete Graphen: E keine binäre Relation, aber zu U = (V, E) definiere Kantenrelation E д V V : E д = {(x,y) {x,y} E} G U = (V, E д ) der zu U gehörende gerichtete Graph GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 46 / 65

Zusammenhang in ungerichteten Graphen ungerichteter Graph U = (V, E) zusammenhängend, wenn zugehöriger gerichteter G U = (V, E д ) streng zusammenhängend GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 65

Von gerichteten zu ungerichteten Graphen die umgekehrte Richtung ist auch nützlich sei G = (V, E) ein gerichteter Graph definiere E u = { {x,y} (x,y) E} U G = (V, E u ) ist der zu G gehörige ungerichtete Graph U entsteht aus G durch Entfernen der Pfeilspitzen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 48 / 65

Ungerichtete Bäume (ungerichteter) Baum: ungerichteter Graph U = (V, E), zu dem gerichteter Baum G = (V, E ) existiert mit E = E u GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 49 / 65

Ungerichtete Bäume (ungerichteter) Baum: ungerichteter Graph U = (V, E), zu dem gerichteter Baum G = (V, E ) existiert mit E = E u Beispiele 0 1 2 3 4 5 a e c d b f д h GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 49 / 65

Ungerichtete Bäume verschiedene gerichtete Bäume induzieren gleichen ungerichteten Baum Wurzel gerichtet: Wurzel eindeutig zu identifizieren ungerichtet Von jedem Knoten führen Wege) zu jedem anderen «eigentliche» Wurzel manchmal trotzdem «irgendwie klar» notfalls explizit sagen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 65

Knotengrad in ungerichteten Graphen ein heikles Thema Was macht man mit Schlingen? in der Literatur: verschiedene Vorgehensweisen Grad d(x) des Knotens x V in ungerichtetem Graph: d(x) = {y y x {x,y} E} + 2 falls {x, x} E 0 sonst GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 65

Wo sind wir? Gerichtete Graphen Ungerichtete Graphen Übertragung der Grundbegriffe aus dem gerichteten Fall Eine Anmerkung zu Relationen Graphen mit Knoten- oder Kantenmarkierungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 52 / 65

Symmetrische Relationen Kantenrelation eines ungerichteten Graphen hat die Eigenschaft: Wenn (x,y) E д, dann immer auch (y, x) E д. so etwas kommt öfter vor Relation R M M symmetrisch, wenn für alle x M und y M gilt: (x,y) R = (y, x) R GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 53 / 65

Äquivalenzrelationen Eine Relation, die reflexiv, transitiv und symmetrisch ist, heißt Äquivalenzrelation. Beispiel: Isomorphie von Graphen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 54 / 65

Äquivalenzrelationen Eine Relation, die reflexiv, transitiv und symmetrisch ist, heißt Äquivalenzrelation. Beispiel: Isomorphie von Graphen Beispiel: Kongruenz modulo m es sei m N + definiere m auf Z vermöge der Festlegung x,y Z : x m y gdw. m teilt x y GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 54 / 65

Was ist wichtig Das sollten Sie mitnehmen: ungerichtete Graphen: Unterschiede zu gerichteten Graphen Gemeinsamkeiten mit gerichteten Graphen Das sollten Sie üben: Benutzung der Begriffe Malen von Graphen, hübsche und hässliche GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 55 / 65

Wo sind wir? Gerichtete Graphen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen Gewichtete Graphen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 65

Graphen mit Beschriftungen manchmal mehr als nur Graphstruktur von Interesse Huffman-Bäume: Symbole an Kanten, Zahlen an Knoten Straßenkarten: Entfernungsangaben an Kanten... knotenmarkierter Graph: G = (V, E) mit Menge M V von (Knoten-)Markierungen Markierungsfunktion m V : V M V kantenmarkierter Graph: G = (V, E) mit Menge M E von (Kanten-)Markierungen Markierungsfunktion m E : E M E GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 57 / 65

Beispiel: Färbung von Landkarten Landkarte Quelle: http://www.mygeo.info/landkarten/europa/ europa/europa_kontinent_cia_2007.jpg GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 65

Beispiel: Färbung von Landkarten Landkarte Nachbarn verschieden gefärbt Quelle: http://www.mygeo.info/landkarten/europa/ europa/europa_kontinent_cia_2007.jpg GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 65

Beispiel: Färbung von Landkarten Landkarte als Graph jedes Land ein Knoten Quelle: http://www.mygeo.info/landkarten/europa/ europa/europa_kontinent_cia_2007.jpg GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 65

Beispiel: Färbung von Landkarten Landkarte als Graph jedes Land ein Knoten Kanten zwischen Nachbarn (leider fehlen im Bild welche) Quelle: http://www.mygeo.info/landkarten/europa/ europa/europa_kontinent_cia_2007.jpg GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 65

Beispiel: Färbung von Landkarten Landkarte als Graph jedes Land ein Knoten Kanten zwischen Nachbarn (leider fehlen im Bild welche) adjazente Knoten verschieden färben Quelle: http://www.mygeo.info/landkarten/europa/ europa/europa_kontinent_cia_2007.jpg GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 65

Beispiel: Färbung von Landkarten Satz (Appel/Haken, 1976) Für Landkarten reichen vier Farben. Quelle: http://www.mygeo.info/landkarten/ europa/europa_karte_de.png GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 59 / 65

Färbungen von Graphen formal Färbung des Graphen: adjazente Knoten sollen verschiedene Farben bekommen Färbung m V : V M V legal, wenn {x,y} E = m V (x) m V (y) Wieviele Farben braucht man für eine legale Färbung? höchstens V mindestens? dieses Problem ist im Allgemeinen schwer es taucht z. B. im Compilerbau wieder auf GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 60 / 65

Wo sind wir? Gerichtete Graphen Ungerichtete Graphen Graphen mit Knoten- oder Kantenmarkierungen Gewichtete Graphen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 61 / 65

Gewichtete Graphen (Kanten-)Markierungen sind Zahlen Beispiele GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 62 / 65

Gewichtete Graphen (Kanten-)Markierungen sind Zahlen Beispiele Verkehrsnetz: Kantengewichte: Entfernungen/Reisezeiten Probleme: z. B. finde kürzeste/schnellste Wege GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 62 / 65

Gewichtete Graphen (Kanten-)Markierungen sind Zahlen Beispiele Verkehrsnetz: Kantengewichte: Entfernungen/Reisezeiten Probleme: z. B. finde kürzeste/schnellste Wege Kabelnetz: Kantengewichte: Baukosten Probleme: z. B. finde billigste Möglichkeit, alle miteinander zu verbinden GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 62 / 65

Gewichtete Graphen (Kanten-)Markierungen sind Zahlen Beispiele Verkehrsnetz: Kantengewichte: Entfernungen/Reisezeiten Probleme: z. B. finde kürzeste/schnellste Wege Kabelnetz: Kantengewichte: Baukosten Probleme: z. B. finde billigste Möglichkeit, alle miteinander zu verbinden Rohrleitungsnetz: Kantengewichte: Rohrquerschnitte Problem: z. B. finde maximal möglichen Fluss GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 62 / 65

Eine Grenze der üblichen Formalisierung von Graphen nicht einfach als Graph formalisierbar GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 63 / 65

Eine Grenze der üblichen Formalisierung von Graphen nicht einfach als Graph formalisierbar zwischen Knoten höchstens eine Kante!? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 63 / 65

Eine Grenze der üblichen Formalisierung von Graphen nicht einfach als Graph formalisierbar zwischen Knoten höchstens eine Kante!? Auswege andere Modellierung andere Definition Graph mit Mehrfachkanten GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 63 / 65

Was ist wichtig Das sollten Sie mitnehmen: vielfältige Beispiele für Knoten- und Kantenmarkierungen man stößt leicht auf diverse Optimierungsprobleme Das könnten Sie mal ausprobieren: an einfachen Beispielen Optimierungen versuchen (leicht? schwer?) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 64 / 65

Zusammenfassung gerichtete und ungerichtete Graphen wichtige Begriffe (Pfad, Zyklus, Baum,...) Gemeinsamkeiten und Unterschiede Relationen symmetrische Relationen Äquivalenzrelationen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 65 / 65