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

Ähnliche Dokumente
Algorithmen und Datenstrukturen 2

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

Algorithmen und Datenstrukturen (WS 2007/08) 63

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

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

8 Diskrete Optimierung

Das Briefträgerproblem

Graphentheorie Mathe-Club Klasse 5/6

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

WS 2009/10. Diskrete Strukturen

Konzepte der Informatik

Kombinatorische Optimierung

Algorithmentheorie Maximale Flüsse

Datenstrukturen & Algorithmen

Expander Graphen und Ihre Anwendungen

Algorithmen und Datenstrukturen 2

Algorithmische Methoden der Netzwerkanalyse

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

WS 2013/14. Diskrete Strukturen

Guten Morgen und Willkommen zur Saalübung!

5. Verschiedene Repräsentanten

Graphen: Datenstrukturen und Algorithmen

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

Diskrete Mathematik für Informatiker

Seminararbeit für das SE Reine Mathematik- Graphentheorie

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

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

Kapitel 6: Graphalgorithmen Gliederung

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

Modelle und Statistiken

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

16. All Pairs Shortest Path (ASPS)

Praktikum Planare Graphen

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

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

Einführung in die Lineare und Kombinatorische Optimierung

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

Informatik I WS 07/08 Tutorium 24

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

4. Relationen. Beschreibung einer binären Relation

Statistische Untersuchungen zu endlichen Funktionsgraphen

1 topologisches Sortieren

Netzwerkmodelle. Seminar Netzwerkanalyse. Sommersemester 2005 Jasmine Metzler

Methoden der Netzwerkanalyse

Grundlagen der Programmierung 2. Bäume

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

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

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

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

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

2.1 Codes: einige Grundbegriffe

Wie Google Webseiten bewertet. François Bry

Anmerkungen zur Übergangsprüfung

WS 2008/09. Diskrete Strukturen

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

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Der Golay-Code und das Leech-Gitter

Formelsammlung Mathematische Grundlagen für die Informatik

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

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

Algorithmische Methoden zur Netzwerkanalyse

Beispiele für Relationen

Property Testing in Graphen mit beschränktem Maximalgrad

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

Untersuchung und Bewertung von Tearing-Algorithmen. zur Erlangung des akademischen Grades Diplomingenieur (Dipl. -Ing.)

Zeichnen von Graphen. graph drawing

Definition eines Spiels

Graphentheorie. Graphen sind Modelle für Netzwerke.

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Duplikatfilterung und Sampling von Webseiten

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

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

Projekt AGB-10 Fremdprojektanalyse

Codes und Codegitter. Katharina Distler. 27. April 2015

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

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

Algorithmen II Vorlesung am

Vorlesung 3 MINIMALE SPANNBÄUME

3. Zusammenhang. 22 Andreas Gathmann

Periodische Fahrpläne und Kreise in Graphen

Erzeugung zufälliger Graphen und Bayes-Netze

368 4 Algorithmen und Datenstrukturen

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

Aus Knoten und Kanten, die Bezeichnungen haben können. Ein Graph, bei dem die Kanten Richtungen haben.

Institut für Informatik. Rheinische Friedrich-Wilhelms-Universität Bonn

4 Greedy-Algorithmen (gierige Algorithmen)

Eine mathematische Reise ins Unendliche. Peter Koepke Universität Bonn

12. Modelle für 3D-Objekte und -Szenen

Erzeugung von positiv definiten Matrizen mit Nebenbedingungen zur Validierung von Netzwerkalgorithmen für Microarray-Daten

Graphen. Seminar Bioinformatik. Franziska Schwabe. 3. Juli Fakultät Statistik TU Dortmund 1 / 45

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

5 Relationen. Formale Grundlagen der Informatik I Herbstsemester Robert Marti

Knickminimierung in Orthogonalen Zeichnungen fast-planarer Graphen mit fester Topologie

Teil II. Schaltfunktionen

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

Vorlesung Theoretische Informatik

Datenstrukturen und Algorithmen SS07

Ohne Mathematik undenkbar!

Gibt es verschiedene Arten unendlich? Dieter Wolke

Der Approximationsalgorithmus von Christofides

Transkript:

Graphen

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

Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen repräsentiert. Die mathematischen Abstraktionen der Objekte werden dabei Knoten (auch Ecken) des Graphen genannt. Die paarweisen Verbindungen zwischen Knoten heißen Kanten (manchmal auch Bögen). Die Kanten können gerichtet oder ungerichtet sein. Häufig werden Graphen anschaulich gezeichnet, indem die Knoten durch Punkte und die Kanten durch Linien dargestellt werden. 3

Was sind also Graphen? Strukturen, gebildet aus einer endlichen Anzahl von Knoten (verteces), die durch Kanten (edges) verbunden sein können. 4

Anwendung von Graphen 5 Viele reale Probleme lassen sich durch Graphen darstellen und somit auf graphentheoretische Fragestellungen zurückführen Georg Cantor, 1867: In der Mathematik ist die Kunst des Fragestellens öfter gebräuchlich als die des Lösens! Verkehrswege zwischen Städten kürzeste Wege Transportwege mit Kapazitäten maximale Flüsse Zugmöglichkeiten in Spielen Gewinnstrategien

Anwendung von Graphen 6 In der Graphentheorie interessieren uns ausschließlich die Beziehungen zwischen den Knoten (deren Topologie). Topologie (topos Ort, Platz, logos Lehre, Wissen) Die Lehre von den Eigenschaften von Räumen, die bei Abbildungen, die die Lagebeziehungen zwischen den Elementen des Raumes erhalten, unverändert bleiben (Verzerrungen, die nicht zum Zerreißen führen).

Einschub Topologie Beispiel U-Bahn Karte 7

Graphen; Grundlagen Einschub Topologie Eine Kaffeetasse und ein Donut haben die gleiche Topologie. 8 http://en.wikipedia.org/wiki/topology

Einschub Topologie In der (mengentheoretischen) Topologie untersucht man für jedes Element die Teilmengen, die man als die Umgebungen dieses Elements definiert hat. Hierbei spielt der Abstand der Elemente keine Rolle, ganz generell interessieren hierbei metrische Eigenschaften (wie Streckenlängen, Winkellängen, Krümmungen) in der Regel nicht. 9

Einschub Topologie Zwei topologisch äquivalente Graphen Man kann zum Beispiel die Knoten im rechten Graphen so bewegen, dass er genauso wie der linke aussieht. 10

Einschub Topologie Topologische Grundbegriffe: auf dem Rand, innen, außen, sich schneidend, geschlossen keine topologischen Grundbegriffe: eckig, rund, links, rechts, oben, unten, da sie z.b. bei Achsenspiegelungen nicht unverändert bleiben. 11

Anwendung von Graphen 12 In der Graphentheorie interessiert uns: Welcher Knoten ist mit welchen anderen verbunden? Komme ich über gegebene Verbindungen von einem Knoten zu einem anderen? Wie viele Verbindungen muss ich überqueren, um von einem Knoten zu einem anderen zu kommen? Welches ist der kürzeste Weg, um von einem Knoten zu einem anderen zu gelangen? Gibt es einen Weg der alle Knoten/Kanten genau einmal besucht?

Anwendung von Graphen Königsberger Brückenproblem: Kann man einen Spaziergang durch Königsberg machen und dabei über jede Brücke genau einmal gehen und nach dem Spaziergang wieder zum Ausgangspunkt zurückkehren? 13

Anwendung von Graphen Königsberger Brückenproblem vom Problem zum Graph und dem graphentheoretischen Problem. 14 Euler zeigte, dass ein Rundweg der gesuchten Art genau dann möglich ist, wenn sich an keinem der Ufer (Knoten) eine ungerade Zahl von Brücken (Kanten) befindet. Da aber zu allen vier Gebieten von Königsberg eine ungerade Zahl von Brücken führten, war der gesuchte Rundweg nicht möglich.

Anwendung von Graphen Das Haus vom Nikolaus: Entscheide, ob man das Haus zeichnen kann, ohne den Stift abzusetzen und ohne eine Linie doppelt zu ziehen. 15

Anwendung von Graphen Städtetour: Entscheide, ob man beginnend in einem Knoten (einer Stadt) alle Städte genau einmal bereisen kann und wieder in der ersten Stadt ankommt. 16

Einige spezielle Graphen Graphen dürfen in manchen Fällen auch Mehrfachkanten und Schleifen haben. Parallele Kanten Schleifen 17

Definition: Eine Schleife (oder Schlinge) ist eine Kante der Form {u, u}. u 18

Definition: Ist E eine Multimenge (d. h. Kanten treten mit Vielfachheit auf), dann sind die Kanten mit Vielfachheit 2 oder größer Mehrfachkanten. Ein Graph, der Mehrfachkanten enthält, heißt auch Multigraph. v 19 u

Einige spezielle Graphen Ein Graph heißt einfach, falls er keine Schlingen oder Mehrfachkanten enthält. 20

Vollständige Graphen In vollständigen Graphen K n sind alle n Knoten miteinander verbunden. K1 K2 K3 K4 K5 K6 Frage: Wieviele Kanten gibt es in einem vollständigen Graphen mit n Knoten. 21

Vollständige Graphen K1 K2 K3 K4 K5 K6 22 Für die Anzahl der Kanten in einem vollständigen Graphen mit n Knoten (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt: E n 2 nn ( 1) 2

Kreise In Kreisen C n sind alle n (n 3) Knoten zyklisch miteinander verbunden. C3 C4 C5 C6 C7 C8 23

Ein Gittergraph besteht aus einem Gitter mit m Zeilen und n Spalten. 24

(fakultativ) (Binärer) Hyperwürfel 25 Definition: Ein Graph G = (V,E) heißt n-dimensionaler binärer Hyperwürfel (Q n ), falls V = V n = {0, 1} n mit E = {{v,w} V n2 : Hamming-Abstand(v,w) = 1}. Hamming-Distanz: Maß für die Unterschiedlichkeit von Zeichenketten - an wie vielen Stellen unterscheiden sich zwei Zeichenketten.

(fakultativ) (Binäre) Hyperwürfel 26

(fakultativ) Q 4 : 4-dimensionaler Hyperwürfel 27

(fakultativ) Q 8 : 8-dimensionaler Hyperwürfel 28

(fakultativ) Hyperwürfel Für die Anzahl der Knoten in Q n gilt: V = 2 n Für die Anzahl der Kanten in Q n gilt: n 2 E n n 2 2 n 1 29

Bipartite Graphen Der Graph kann in zwei Teile zerlegt werden, so dass alle Kanten zwischen diesen Teilen verlaufen. 30 V1 V2

Wege, Pfade, Kreise 31 Ein Weg der Länge k in einem Graphen G = (V,E) ist eine nichtleere Folge w = (v 0,,v k ) von Knoten aus V, so dass {v i,v i+1 } E für alle i = 0,,k-1. (Beachte: (v_0) ist ein Weg der Länge 0.) Ein Pfad in G ist ein Weg in G, in dem alle Knoten paarweise verschieden sind. Ein Kreis der Länge k (k 3) in G ist ein Weg w = (v 0,,v k ) in dem v 0,, v k-1 paarweise verschieden sind und v 0 = v k.

Pfade Definition: Der Graph P n ist der Graph (V,E) mit V = {v 1,,v n } und E = {v i, v i+1 }; i = 1,,n 1. 32

Wege und Pfade Beispiel: Ein Weg der Länge 7, der aber kein Pfad ist. 33

Wenn G = (V,E) ist, dann heißen u und v adjazent, wenn {u,v} E, heißen u und v Endknoten der Kante {u,v} E, heißen u V und e E inzident, wenn u Endknoten der Kante e ist, ist u V erreichbar von v V, falls es einen Pfad P mit Anfangsknoten v und Endknoten u gibt. 34

Wenn G = (V,E) ist, dann heißt G zusammenhängend, wenn er nur eine Komponente hat. 35

Darstellung von Graphen Neben der bisherigen Darstellung können Graphen in Form von Adjazenzmatrizen und Inzidenzmatrizen dargestellt werden. Bei Nummerierung der Ecken (u 1,,u n ) und Kanten (e 1,,e m ) ist die Adjazenzmatrix die n x n-matrix A mit Einträgen a ij 1 falls u u 0 sonst. i K 36

Darstellung von Graphen Neben der bisherigen Darstellung können Graphen in Form von Adjazenzmatrizen und Inzidenzmatrizen dargestellt werden. Adjazenz liegt dann vor, wenn zwei Knoten über eine Kante miteinander verbunden sind. Somit bezeichnet Adjazenz die Beziehungen zwischen gleichartigen Elementen eines Graphen. Ebenso ist Adjazenz bei in einem Knoten endenden Kanten gegeben. Inzidenz ist die Eigenschaft, gemeinsame Punkte zu besitzen, sie ist die Beziehung zwischen einer Geraden und einem auf ihr liegenden Punkt. k 37

Darstellung von Graphen Ajazenzmatrix 38

Darstellung von Graphen Inzidenzmatrix 39

Isomorphe Graphen sind in ihrer Struktur gleich. Graphen in den Spalten sind einander jeweils isomorph. 40

Isomorphe (strukturgleiche) Graphen 3 d 4 2 e c 0 1 Die Abbildung ist: 0 1 2 3 4 a b c d e Die Graphen sind offensichtlich isomorph. a b 41

Isomorphe Graphen Sind die beiden folg. Graphen isomorph? Beachte die Gradfolgen (aufsteigend geordnete Folge der Knotengrade) der beiden Graphen. 42

Zusammenhängende Graphen Definition: Ein Graph G = (V,E) heißt zusammenhängend, wenn für jedes Paar von Knoten u,v V ein Pfad von u nach v in G existiert. Ansonsten heißt der Graph unzusammenhängend. 43

Zusammenhangskomponenten eines Graphen Beispiel: Ein Graph bestehend aus drei Zusammenhangskomponenten 44

Graphkomponenten Satz: Jeder Graph G = (V,E) enthält mindestens V - E viele Zusammenhangskomponenten. Anzahl der Knoten - Anzahl der Kanten Dies ist ein Graph mit 4 starken Zusammenhangskomponenten. In jeder solchen Komponente ist jeder Knoten von jedem anderen aus erreichbar; wird die Komponente verlassen, gibt es keinen Weg mehr zurück. 45

Graphkomponenten Satz: Für jeden zusammenhängenden Graph G = (V,E) 46 gilt: E V - 1. 6 Kanten 7 Knoten -1 Beweis: Da ein zusammenhängender Graph aus genau einer Komponente besteht, folgt aus dem vorherigen Satz, dass V - E 1.

Bisher haben wir ausschließlich ungerichtete Graphen besprochen, d.h. die Kantenmenge besteht aus ungeordneten Paaren {u, v}. Ein gerichteter Graph ist ein Paar (V,E), bestehend aus einer Menge von Knoten und einer Menge gerichteter Kanten. 47

Gerichtete Graphen Ein gerichteter Pfad ist eine Folge von verschiedenen Knoten u 1,,u n mit u i u i+1 (d.h. es existiert eine gerichtete Kante von u i nach u i+1 ) für alle i. Ein gerichteter Kreis wird analog definiert. Ein Graph G, der keinen gerichteten Kreis enthält, heißt azyklisch. 48

Gerichtete Graphen Anwendung Prozessabhängigkeiten: Programm A benötigt Ergebnisse von B und C Programm B benötigt Ergebnisse von D und E Programm C benötigt Ergebnisse von B und D Programm D benötigt keine Ergebnisse Programm E benötigt Ergebnisse von A und C Frage: Funktioniert ein so konstruiertes Programm? 49

Gerichtete Graphen Anwendung Prozessabhängigkeiten Bei Darstellung als Graph erkennen wir einen Zyklus: A wartet auf B B wartet auf E E wartet auf A! 50

Gerichtete Graphen Azyklische gerichtete Graphen G spielen eine zentrale Rolle in Transportproblemen. G enthält immer spezielle Knoten, sog. Quellen, aus denen Kanten nur ausgehen, und sog. Senken, in die Kanten nur eingehen, da jeder azyklische Graph mindestens einen Knoten v mit d + (v) = 0 und mindestens einen Knoten w mit d (w) = 0 besitzt. In Transportproblemen wollen wir möglichst viel von den Quellen zu den Senken transportieren. 51

Beispiel dag (directed acyclic graph) 52