Grundbegriffe der Graphentheorie 2

Aus ProgrammingWiki
Archivierte Version vom 2015-10-26T20:41:48+00:00. Aktuelle Version

Inhaltsverzeichnis

Maik Geier, Anna Bremensztul

Die Wiederholung

Was bedeutet die Begriffe Graphentheorie und Graph?

  • Die Graphentheorie ist ein Teilgebiet der Mathematik, das die Eigenschaften von Graphen und ihre Beziehungen zueinander untersucht.
    Ein Graph besteht aus einer Menge von Punkten (Knoten,Ecken) zwischen denen Linien(Kanten, Bögen) verlaufen.


Wo können wir die verschiedene Graphen benutzen?

„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
  • Beispiele dafür sind auch die Netzwerke(Verkehr, Daten), Datenstrukturen oder Rechnerarchitektur.


S3anbrem_1.png


Wir können verschiedene Darstellungen von Graphen benutzen:
1. Darstellung als Zeichnung: S3anbrem_Darstellung1.JPG
2. Darstellung als Adjazenzmatrix. Jedem Knoten wird eine Zeile und eine Spalte zugeordnet und der Eintrag in der Zeile von u und der Spalte von v wird 1 gesetzt, wenn {u, v} eine Kante des Graphen ist (sonst 0):

S3anbrem_Darstellung2.JPG

Die Klassenkameraden haben im vorigen Woche eine Vollstaendige Graphen vorgestellt.
S3anbrem_123456a.JPG

Wir möchten heute andere Typen von Graphen vorstellen.
1. Bipartite Graphen.
2. Gerichtete Graphen und Multigraphen
3. Bewertete Graphen
4. Bäume und Wälder
5. Gozinto-Graphen

Bipartite Graphen(2-Teiliger Graph)

Ein bipartiter oder paarer Graph ist ein mathematisches Modell für Beziehungen zwischen den Elementen zweier Mengen.
Es eignet sich sehr gut zur Untersuchung von Zuordnungsproblemen (Optimierungsproblem) . Des Weiteren lassen sich für bipartite Graphen viele Grapheneigenschaften mit deutlich weniger Aufwand berechnen als dies im allgemeinen Fall möglich ist.

S3anbrem_1234.JPG

Definitionen

Ein Graph G=(V,E) (V Menge der Knoten, E Menge der Kanten) heißt bipartit, wenn man seine Knoten so in zwei Teilmengen V1 und V2 aufteilen kann, das gilt:

  • V1 und V2 besitzen keine gemeinsames Element (disjunkt) und ergeben zusammen alle Ecken
  • Kanten verlaufen immer nur von einer Teilmenge zur Anderen, zwischen den Knoten innerhalb beider Teilmengen verlaufen keine Kanten

Der Graph G heißt vollständig bipartit, falls eine Bipartition V1 zu V2 existiert, sodass jeder Knoten aus V1 mit jedem Knoten aus V2 verbunden ist. Einen solchen Graphen bezeichnet man auch als K{m,n}, wobei m und n jeweils die Anzahl der Knoten von V1 und V2 sind.
Ein vollständig bipartiter Graph, bei dem m=1 oder n=1 ist, heißt Sterngraph.

S3anbrem_1b2.jpg S3anbrem_11.jpg

Beispiel

In einem Dorf gibt es drei Häuser und drei Brunnen. Jedes der Häuser soll nun mit jedem der Brunnen durch einen Weg verbunden werden. Modelliert man dieses Problem mithilfe eines Graphen.

S3anbrem_123.JPG
  • Dieser Graph kommt auch als sogenannter GEW-Graph vor. Dieser Name basiert auf einer äquivalenten Realisierung des Problems mit drei Häusern und Werken für Gas, Elektrizität und Wasser.
  • Die Menge der 6 Knoten lässt sich in 2 Teilmengen einteilen: die Häuser und die Brunnen. Dazwischen werden Kanten gezeichnet, aber innerhalb der Teilmengen finden sich keine Kanten: Kein Haus soll etwa mit einem anderen verbundenwerden.

Kantenanzahl des vollständigen bipartiten Graphen

S3anbrem_123456789.JPG

Eigenschaften

  • Ein Graph ist genau dann bipartit, wenn es keinen aus einer ungeraden Anzahl von Kanten bestehenden geschlossenen Weg gibt.

  • Bei einem zusammenhaengenden bipartiten Graphen ist die Zerlegung V=S u T eindeutig bestimmt.
  • Ist G=(V,E) bipartit mit V = S u T , so gilt:

    Bei einem aus einer geraden Anzahl von Kanten bestehenden Weg gehoeren Start- und Endpunkt zur selben Menge S oder T, bei einem aus einer ungeraden Anzahl von Kanten bestehenden Weg gehoeren Start- und Endpunkt zu verschiedenen Mengen.

Konstruktion einer Zerlegung V = S u T

- durch Markierung der Knoten eines zusammenhängenden (ungerichteten) Graphen:
1. Markiere einen (beliebigen) Startknoten mit s.
2. Markiere alle Nachbarknoten des Startknotens mit t.
3. Markiere alle noch unmarkierten Knoten, die einen mit t markierten Nachbarknoten haben, mit s, sowie alle noch unmarkierten Knoten, die einen mit s markierten Nachbarknoten haben, mit t.
4. Wiederhole Schritt 3 so lange, bis entweder
- alle Knoten markiert sind oder
- zwei benachbarte Knoten die gleiche Markierung haben.In diesem Fall ist der Graph nicht bipartit und der Algorithmus kann abgebrochen werden.


Matchings

Sei G = (V,E) bipartit mit V = S u T
- Ein Matching (oder Paarung) ist eine Teilmange E0 gehoert zu E der Kantenmenge, so dass jeder Knoten mit maximal einer Kante aus E_0 inzident ist.
- Ein Matching heisst maximal, wenn es kein anderes Matching gibt, das mehr Kanten enthält.
- Eine vollständige Paarung ist ein Matching E0, so dass jeder Knoten mit einer Kante aus E0 inzident ist.


S3anbrem_Matching0.JPG

Der n-partiteGraph

S3anbrem_1c.JPG

Ein Graph G = (V,E) heißt n-partit, falls sich die Knotenmenge V so in n disjunkte Teilmengen V{1}, . . . ,V{n} zerlegen lässt, dass keine Kante von G zwei Knoten derselben Teilmenge miteinander verbindet. Einen n-partiten Graph mit maximal möglicher Kantenanzahl nennt man ebenfalls vollständig n-partit und bezeichnet ihn mit K_r1,...,K_rn , falls r_i die Anzahl von V_i ist.

Gerichtete Graphen

Die Abbildung zeigt einen ungerichteten Graph , da alle Kanten ungerichtet sind und gerichteten Graph ,da alle Kanten gerichtet sind, d.h. nur in einer Richtung befahrbar.

S3anbrem_2a2.jpg

Zu jedem ungerichteten Graphen G sind auf diese Weise verschiedene gerichtete Graphen assoziiert. Der Graph K1 etwa, als ungerichteter Graph eindeutig bestimmt,kann auf verschiedene Weise zu einem gerichteten Graphen gemacht werden; aus kombinatorischen Gründen ergibt sich, dass es genau acht solche zu K1 assoziierte gerichtete Graphen geben kann, denn jede der drei Kanten kann als Pfeil in zwei Richtungen orientiert sein. Alle bisher eingeführten Begriffe können auf gerichtete Graphen ausgedehnt werden.

Definition

Ein gerichteter Graph G = (V, E) hat eine endliche Menge V von Knoten und eine Menge E gerichteter Kanten, mit E ⊆ V × V.

Die Kantenmenge E ist eine 2-stellige Relation über V. Beispiel: V = {a, b, c, d} E = {(a, b), (a, c), (a, d), (b, b), (b, c), (d, b), (d, c)}

S3anbrem_2b2.jpg

Eine Kante wird als (v, u) oder v -> u notiert. Eine Kante (v, v) heißt Schleife oder Schlinge.
Die Definition von Graphen schränkt ein auf
• endliche Graphen mit endlichen Knotenmengen,
• einfache Kanten:
+ eine Kante verbindet nicht mehr als zwei Knoten,
+ zwischen zwei Knoten gibt es höchstens eine Kante


Multigraphen

Beim ältesten aller Graphentheorieprobleme,tauchen auf natürliche Weise Mehrfachkanten auf, da es vorkommt, dass es zwischen zwei Landteilen zwei verschiedene Brücken gibt. Immer wenn es bei einem Graphen zwei oder mehr unterscheidbare Möglichkeiten gibt, auf die zwei Knoten verbunden werden können, spricht man von einem Multigraphen . Um die Graphen im Sinne auch von den Multigraphen abzugrenzen, wird manchmal der Begriff schlichter oder einfacher Graph verwendet.

S3anbrem_3a.jpg

Ein Multigraph ist ein Graph, der Mehrfachkanten und Schleifen enthalten darf.
Sei G = (V, E) Multigraph. Seien U, W Knotenteilmengen mit U, W 6= ∅ und V = U ∪˙ W.
(U, W) := { {u, w} | {u, w} ∈ E, u ∈ U, w ∈ W } heißt Cut.

S3anbrem_3.png Im Beispiel gibt es 60 Kanten zwischen Knoten A und D. Anstatt alle 60 Kanten zu zeichnen wird eine Kante mit dem Kantengewicht 60 gezeichnet.

Bewertete Graphen

Kantenbewertung eines Graphen
Ein gerichteter oder ungerichteter Graph G = (V,E) wird kantenbewertet (meist auch einfach bewertet oder gewichtet) genannt, falls jeder Kante aus E eine reelle Zahl zugeordnet ist, falls es also eine Abbildung b : E →R gibt. Für die Bewertung der Kante {u, v} schreiben wir dann kurz b(u, v).


Beispiel:  Annotation von Distanz, Flugzeit, Kosten,

S3anbrem_4a.JPG


Eine spezielle Art und Weise, Kanten zu bewerten oder auch Bewertungen zu visualisieren, besteht in der Färbung der Kanten. Bei solchen Kantenfärbungen werden also die Farben mit Zahlen identifiziert. Färbungsprobleme bestehen dann darin, solche Bewertungen zu finden, bei denen zusätzlich benachbarten Kanten nicht die gleiche Zahl zugeordnet werden darf.Damit beschäftigen wir uns ausführlich in Kapitel 8. Jeden nicht kantenbewerteten Graphen können wir künstlich als einen kantenbewerteten Graphen auffassen, indemjede Kante beispielsweisemit demWert 1 versehen wird. Wir hatten bereits einen kurzen Blick auf Wege in Graphen geworfen. Ein solcher Weg hat eine gewisse Länge, nämlich n, wenn er isomorph zu Pn ist. Dieser Längenbegriff motiviert nun einen Entfernungsbegriff in Graphen: Verbindet man zwei verschiedene Knoten in einem bewerteten Graphen durchWege und fasst die Bewertungen als Einzellängen der Kanten auf, so kann man jedem solchenWeg durch einfache Addition eine Länge zuordnen.

Bäume und Wälder

Definition

Ein (ungerichteter) Graph ist ein Baum, wenn er zusammenhaengend ist und keinen Kreis enthaelt. Ein (ungerichteter) Graph, dessen Zusammenhangskomponenten Baeume sind, wird ein Wald genannt, d.h. jeder kreisfreie Graph ist ein Wald.

Beispiel 1

Die folgende Abbildung zeigt einen aus vier Baeumen bestehenden Wald.


Beispiel 2

Die folgende Abbildung zeigt die Liste aller Baume mit 6 Knoten

Gozinto-Graphen

Zusammenfassung

Ein Graph besteht aus 
– Knoten
– Kanten
Knoten sind einfache Objekte mit Namen. 
Sie können Werte, Eigenschaften, etc. beinhalten.
Sie werden meist als Kreise dargestellt.
Kanten sind Verbindungen zwischen Knoten.
Sie werden durch Pfeile dargestellt.
Multigraph: Es kann mehr als eine Kante zwischen denselben Knoten geben.
Existiert für mind. ein Paar (x,y) kein Paar (y,x),so nennt man den Graphen gerichtet.
Bei einem  bewerteten Graphen ist jeder Kante ein Wert  zugeordnet. 
Existiert für jedes Paar (x,y) auch ein Paar (y,x), so nennt man den Graphen ungerichtet.

Bibliografie

André Krischke, Helge Röpcke - Graphen und Netzwerktheorie

http://www.uni-protokolle.de/Lexikon/Typen_von_Graphen_in_der_Graphentheorie.html#Wichtige_spezielle_Graphen

https://de.wikipedia.org/wiki/Graphentheorie
http://www2.cs.uni-paderborn.de/cs/ag-klbue/de/courses/ws09/model/folien/kb-graphen.pdf
http://wvsg.schulen2.regensburg.de/joomla/images/Faecher/Informatik/Informatik_11/informatik_11_3_1_Einfache%20Graphen.html
http://www14.in.tum.de/lehre/2010WS/ds/2011-02-01.pdf
https://www2.informatik.hu-berlin.de/alkox/lehre/lvss03/ti03/vl1507.pdf http://www.stefan-enderle.de/SS08/GrundlagenDerInformatik-II-3-Graphen.pdf