Graphen - Professur für Theoretische Informatik: · PDF fileGraphen...

62
Graphen 1 / 62

Transcript of Graphen - Professur für Theoretische Informatik: · PDF fileGraphen...

Page 1: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Graphen

1 / 62

Page 2: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Graphen

Bei Modellierungsaufgaben geht es oft darum,Objekte sowie Beziehungen zwischen je zwei Objekten

zu beschreiben: Graphen sind dafür maßgeschneidert.

Ein Graph besteht aus„Knoten“ (repräsentieren Objekte) und„Kanten“ (repräsentieren Beziehungen zwischen je zwei Objekten).

Ein erstes Beispiel: Der Netzplan der Frankfurter S- und U-Bahnen zeigt U- und S-BahnStationen (als Knoten) und Direktverbindungen zwischen den Stationen (als Kanten).

2 / 62

Page 3: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Änderungen vorbehalten. Gültig ab 15. Juni 2008© Rhein-Main-Verkehrsverbund GmbH

**

**

** Eröffnung im Laufe des Fahrplanjahres 2008** bis 13.12.2008: Linie 75 (Wiesbaden - Darmstadt);

Linie 63 (Darmstadt - Aschaffenburg)ab 14.12.2008: Linie 75 (Wiesbaden - Darmstadt -Aschaffenburg); Linie 63 entfällt

Gernsheim

Biebesheim

Stockstadt (Rhein)

Stadion

Riedwiese/Mertonviertel

HanauKlein-Auheim

Hainburg Hainstadt

Mainhausen Zellhausen

Darmsta

dt Ost

Mühlta

l

Babenhausen Langstadt

Groß-Umstadt Klein-Umstadt

Groß-Umstadt

Groß-Umstadt WiebelsbachOber

-Ram

stadt

Reinheim

Otzber

g Lengfe

ld

Main

z Röm

isches

Thea

ter

Groß-Gerau-Dornberg

Darmsta

dt

TU-Li

chtw

iese

Schwalbach Nord*

DeutscheNationalbibliothek

Glauburg-Stockheim

H e i d e l b e r g / M a n n h e i m

E r b a c h /E b e r b a c h

Riedstadt-Goddelau

Wolfskehlen

Dornheim

Mörfelden

Walldorf

Zeppelinheim

Klein-G

erau

Weit

ersta

dt

Wo r m

s /

Ma n n h e i m

Opelwer

k

Groß-G

erau

Nauheim

Raunheim

Rüssels

heim

Kelste

rbac

h

Flugh

afen

Region

albah

nhof

Niederrad

Darmstadt Hbf

Bischof

sheim

Gustavs

burg

Mainz Hbf

Mainz Nord

K o b l e n z /

S a a r b r ü c k e n

Al z

e y

Wo

rm

s

Rh

ei

n

M a i n

Stresemannallee

Frankfurt Süd Offenbach HbfLouisa

Egelsbach

Erzhausen

Wixhausen

Arheilgen

Langen

Dreieich-Buchschlag

Neu-Isenburg

Langen-Flugsicherung

Darmsta

dt

Nord

Kranich

stein

Mes

sel

Dreiei

chen

hainW

eibelf

eld

Sprendlin

gen

Willy

-Bra

ndt-

Platz

Schweiz

er

Platz Lokalbahnhof

Götze

nhain

Offenth

al

Urber

ach

Rödermark-Ober-Roden

Eppertshausen

Münster

DietzenbachBahnhof

DietzenbachMitte

Steinberg

Heusen-stammM

ühlberg

Kaiser

lei

Leder

museum

Mar

ktplat

z

Dieburg

Altheim

Herger

shau

sen

BabenhausenA s c h a f f e n b u r g

Seligenstadt

Rollwald

Nieder-Roden

Dudenhofen

Jügesheim

Hainhausen

Weiskirchen

Obertshausen

Waldhof

As c h a f f e n b u r g

Steinheim

Dietesheim

Mühlheim

Offenbach Ost

S c h ö l l k r i p p e n

Hanau Hbf

F u l daHan

au N

ord

Frankfurt Hauptbahnhof

Taunusanlage

Hauptw

ache

Konstablerwache

Ostendstraße

Griesheim

NiedHöchstFarbwerke

Sindlingen

Hattersheim

Eddersheim

Flörsheim

Hochheim

Galluswarte

Messe

WestFrankfurt

Rödelheim

Erbenheim

Igstadt

Unterliederbach

Liederbach Süd

Liederbach

Sossenheim

Festh

alle/

Mes

se

Wes

tend

Alte O

per

Kirchplat

z

Leipzig

er Str.

Bocke

nheimer

War

te

Industriehof/Neue Börse

Sulzbach

Kelkheim-Münster

FischsteinGinnheim

HausenerWeg

Stephan-Heise-Straße

FriedhofWesthausen

Hausen

PraunheimHeerstraße

GroßeNelkenstraße

HeddernheimerLandstraße

Nordwest-zentrum

Römerstadt

Niddapark

Heddern-heim

EschenheimerTor

Grüneburgweg

Holzhausenstr.

Miquel-/Adickesallee

Dornbusch

Fritz-Tarnow-Str.

Hügelstraße

Lindenbaum

Weißer Stein

Eschersheim

Preungesheim

Ronneburgstraße

Sigmund-Freud-Straße

Theobald-Ziegler-Straße

Gießener Straße

Marbachweg/Sozialzentrum

Versorgungsamt

Eckenheimer Landstraße/Marbachweg

Hauptfriedhof

Muster-schule

Glauburgstr.

Zoo Habsburgerallee

BornheimSeckbacherLandstraße

Bad V

ilbel

BornheimMitte

Höhenstraße

Merianplatz

Parlamentsplatz

Eissporthalle/Festplatz

Riederwald Schäfflestraße

Gwinnerstraße

Kruppstraße

Hessen-Center

Enkheim

Johanna-Tesch-Platz

Frankfurt Ost Mainkur

Maintal West

Maintal Ost Wilh

elmsb

ad

Bruch

köbel

Hanau

Wes

t

Zeilsheim

Hofheim

Lorsbach

Eppstein

Bremthal

Niederjosbach

Kriftel

Niedernhausen

Kastel

Wiesbaden Ost

K o b l e n z

L i mb u r g

Wiesbaden Hbf

Auringen-Medenbach

Dom/Römer

Bieber

Kelkheim

Kelkheim-Hornau

Schneidhain

Bad Soden

KönigsteinSchwalbach

Sulzbach Nord

Kronberg

Kronberg Süd

Niederhöchstadt

Eschborn

EschbornSüd

Brandoberndorf

Weißkirchen/Steinbach

Stierstadt

Hasse

lborn

Gräven

wiesbac

h

Hundstadt

Wilh

elmsd

orf

Usingen

Hause

n (Ts)

Neu-

Anspac

h

Weh

rheim

Saalburg

/Loc

hmühle

Köpper

n

Friedrichsdorf

Bad Homburg

Seulberg

Oberursel-Hohemark

OberurselOberursel Stadtmitte

PortstraßeLahnstraße

GlöcknerwieseKupferhammer

Rosengärtchen

Waldlust

Bommersheim

Weißkirchen Ost

Niederursel

WiesenauZe

ilweg

Sandelmühle

Kalbach

Bonames Mitte

Bad Homburg-Gonzenheim

Nieder-Eschbach

Burgholz

hause

n

Rodheim

Rosbac

hFri

edber

g

Süd

Ober-Eschbach

Frankfu

rter B

erg

Berke

rsheim

Bad Vilb

el Süd

Nieder-Wöllstadt

Bruchenbrücken

Friedberg

Ostheim

Ge l n h a u s e n

Ni d d a

Gie

ße

n

Wö l f

e r s h e i m-

S ö d e l

N i d d a

Gronau

Nieder

dorfel

den

Oberdor

felden

Kilianstä

dten

Dortelweil

Groß-Karben

Okarben

BüdesheimW

indeckenNidderau

EichenHöchst

AltenstadtLindheim

Glauberg

Assenheim

Schnellbahnplan

Abfahrt von den FernbahnsteigenFrankfurt Hbf

3 / 62

Page 4: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Der Ablauf eines Telefongesprächs

Hörer abheben

Ziffer wählen

Gespräch führenauflegen

4 / 62

Page 5: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Kaffeekochen

Filter entsorgen

Kaffee einschenkenKaffeemaschine abschalten

Kaffee aus der Maschine nehmen

Tassen bereitstellen

Durchlauf abwarten

Maschine startenKaffeebohnen mahlen

Kaffebohnen in die Mühle einfüllen

Kaffeepulver in die Maschine einfüllen Filter einsetzen

Wasser einfüllen

���

�����

��

���

@@R

HHj

?

������

? ���

?

5 / 62

Page 6: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Ungerichtete Graphen

Ungerichtete Graphen 6 / 62

Page 7: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Was ist ein ungerichteter Graph G = (V , E )?

Ein ungerichteter Graph G = (V ,E ) besteht aus der Knotenmenge V und derKantenmenge E mit

E ⊆{{i , j} : i ∈ V , j ∈ V , i 6= j

}.

Die Elemente aus V heißen Knoten von G , die Elemente aus E heißen(ungerichtete) Kanten von G :

Kanten sind also 2-elementige Teilmengen von V .

Es gibt zwischen zwei Knoten i und j aus Vhöchstens eine Kante {i , j}, die grafisch dargestellt wird durch

i j

keine Kante, falls i = j ist. Nicht erlaubt sind somit „Schleifen“.

i

Ungerichtete Graphen 7 / 62

Page 8: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Autobahnverbindungen

WI F

MZDA

MAKL

DA = DarmstadtF = FrankfurtKL = KaiserslauternMA = MannheimMZ = MainzWI = WiesbadenWÜ = Würzburg

G = (V ,E ) ist ein ungerichteter Graph mit

V :={MZ,WI,MA,DA,KL,F,WÜ

}und

E :={{MZ,WI}, {WI,F}, {F,DA}, {F,WÜ}, {MZ,DA},{MZ,KL}, {KL,MA}, {DA,MA}

}.

Ungerichtete Graphen 8 / 62

Page 9: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Ungerichtete Graphen: Wichtige Begriffe

Sei G = (V ,E ) ein ungerichteter Graph.

Ein Knoten v ∈ V heißt inzident mit einer Kante e ∈ E , falls v ∈ e.Die beiden mit einer Kante e ∈ E inzidenten Knoten nennen wir dieEndknoten von e, und sagen, dass e diese beiden Knoten verbindet.

I Zwei Knoten v , v ′ ∈ V heißen benachbart (bzw. adjazent), falls es eineKante e ∈ E mit Endknoten v und v ′ gibt (d.h. e = {v , v ′}).

I Falls v und v ′ zwei benachbarte Knoten sind, so sagen wir auch,dass v ′ ein Nachbar von Knoten v ist.

Der Grad von v in G (kurz: GradG(v)), ist die Anzahl der Kanten, die v alsEndknoten haben, d.h.

GradG(v) = |{{e ∈ E : v ∈ e}|.

Der Grad von G (kurz: Grad(G)) ist der maximale Grad eines Knotens von G .

Ungerichtete Graphen 9 / 62

Page 10: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Der Knotengrad: Ein Beispiel

Für den Graphen G =

a b

d c

gilt:

GradG(a) = 3GradG(b) = 2GradG(c) = 3GradG(d) = 2

und Grad(G) = 3.

Ungerichtete Graphen 10 / 62

Page 11: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gerichtete Graphen

Gerichtete Graphen 11 / 62

Page 12: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Was ist ein gerichteter Graph G = (V , E )?

Ein gerichteter Graph G = (V ,E ) besteht aus der Knotenmenge V und derKantenmenge E mit

E ⊆{(i , j) : i ∈ V , j ∈ V

}.

Die Elemente aus V heißen Knoten, die Elemente aus E heißen(gerichtete) Kanten von G .

Kanten sind also geordnete Paare von Knoten, d.h. Elemente von V × V .

In der grafischen Darstellung eines Graphen stellen wir die Kante (i , j)als Pfeil von Knoten i nach Knoten j dar, also

i j

Beachte, dass wir „Schleifen“ (i , i) diesmal zulassen.

Gerichtete Graphen 12 / 62

Page 13: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gerichtete Graphen: ein erstes Beispiel

Der gerichtete Graph G = (V ,E ) mit

ba

c

wird repräsentiert durch

V := {a, b, c} undE :=

{(a, b), (b, b), (b, c), (c, a), (a, c)

}.

Gerichtete Graphen 13 / 62

Page 14: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Darstellungen von GraphenAbstrakt, durch Angabe der Knotenmenge V und der Kantenmenge E .Beispiel: G1 = (V1,E1) mit V1 := {a, b, c, d} und

E1 := {(a, b), (a, c), (a, d), (b, b), (b, c), (d , b), (d , c)}.Der obige Graph G1 kann grafisch dargestellt werden durch

a b

cd

oder, äquivalent dazu, durch

a d cb

Durch Adjazenzlisten und Adjazenzmatrizen: Siehe die Vorlesung„Datenstrukturen“ im zweiten Semester.

Gerichtete Graphen 14 / 62

Page 15: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gerichtete Graphen: Wichtige Begriffe

Sei G = (V ,E ) ein gerichteter Graph.

Ist e = (i , j) ∈ E , so ist i der Ausgangsknoten von e undj der Endknoten von e, und wir sagen, dass i und j benachbart sind.

I i heißt ein direkter Vorgänger von j undI j ein direkter Nachfolger von i .

Eine Kante der Form (i , i) wird Schleife genannt. D.h.: Eine Schleife ist eineKante, deren Ausgangs- und Endknoten identisch ist.Ein Knoten v ∈ V heißt inzident mit einer Kante e ∈ E , falls v derAusgangs- oder der Endknoten von e ist.Der Ausgangsgrad von v in G (kurz: Aus-GradG(v)) ist die Anzahl derKanten mit v als Ausgangsknoten. D.h.:

Aus-GradG(v) = |{e ∈ E : es ex. v ′ ∈ V s.d. e = (v , v ′)}|.

Der Eingangsgrad von v in G (kurz Ein-GradG(v)) ist die Anzahl derKanten mit v als Eingangsknoten. D.h.:

Ein-GradG(v) = |{e ∈ E : es ex. v ′ ∈ V s.d. e = (v ′, v)}|.

Gerichtete Graphen 15 / 62

Page 16: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Ein Beispiel

Für den Graphen G =

a

b

gilt:

Ein-GradG(a) = 0Ein-GradG(b) = 2Aus-GradG(a) = 1Aus-GradG(b) = 1.

Gerichtete Graphen 16 / 62

Page 17: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wege in Graphen

Wege in Graphen 17 / 62

Page 18: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wege

Sei G = (V ,E ) ein (gerichteter oder ungerichteter) Graph.

Ein Weg in G der Länge ` ist ein Tupel

(v0, . . . , v`) ∈ V `+1,

für ein ` ∈ N, so dass für alle i ∈ N mit 0 6 i < ` gilt:falls G ein gerichteter Graph ist, so ist (vi , vi+1) ∈ E ,falls G ein ungerichteter Graph ist, so ist {vi , vi+1} ∈ E .

Das Tupel (v0, . . . , v`) wird dann ein Weg der Länge ` von v0 nach v` genannt.

Die Länge des Weges gibt nicht an, wie viele Knoten, sondern

wie viele Kanten

auf dem Weg durchlaufen werden.Wege in Graphen 18 / 62

Page 19: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Kreise

1 Ein Weg (v0, . . . , v`) heißt einfacher Weg, wenn kein Knoten mehr alseinmal in dem Weg vorkommt (d.h. die Knoten v0, . . . , v` sind paarweiseverschieden, bzw. |{v0, . . . , v`}| = `+ 1 gilt).

2 Ein Weg (v0, . . . , v`) heißt Kreis, wenn ` > 1 und v` = v0 ist.3 Ein Kreis (v0, . . . , v`) heißt einfacher Kreis, wenn (v0, . . . , v`−1) ein

einfacher Weg ist und keine Kante mehrfach durchlaufen wird. D.h.:I In einem gerichteten Graphen G sind einfache Kreise genau die Wege der

Form (v0, . . . , v`), für die gilt: ` > 1 und v` = v0 und |{v0, . . . , v`−1}| = `.I In einem ungerichteten Graphen G sind einfache Kreise genau die Wege der

Form (v0, . . . , v`), für die gilt: ` > 3 und v` = v0 und |{v0, . . . , v`−1}| = `.

Wege in Graphen 19 / 62

Page 20: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wege und Kreise: Beispiele (1/2)

Für den Graphena b

cd

egilt:

(e, d , b, c, d) ist ein Weg der Länge 4, aber kein einfacher Weg.(d , b, c, d) ist ein einfacher Kreis.(e, d , a, b) ist ein einfacher Weg der Länge 3.(b, d , a) ist kein Weg.(a, b, c, d , b, c, d , a) ist ein Kreis, aber kein einfacher Kreis.

Wege in Graphen 20 / 62

Page 21: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wege und Kreise: Beispiele (2/2)

Für den Graphena

b

cd

gilt:(a, b, c, a) ist ein einfacher Kreis.(c, d , c) ist ein Kreis, aber kein einfacher Kreis.(a, c, d) ist ein einfacher Weg der Länge 2.(c, b, a, c, d) ist ein Weg, aber kein einfacher Weg.

Wege in Graphen 21 / 62

Page 22: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Das Königsberger Brückenproblem (1/2)

In der Stadt Königsberg gab es im 18. Jahrhundert sieben Brücken über den FlussPregel, die die Ufer und zwei Inseln miteinander verbanden.

Gibt es einen Spaziergang, der jede der sieben Brücken genau einmal überquertund zum Ausgangspunkt zurückkehrt?

Wege in Graphen 22 / 62

Page 23: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Das Königsberger Brückenproblem (2/2)

Eine Graph-theoretische Modellierung:

Erfinde für jedes Ufer, jede Insel und jede Brücke einen Knoten,Kanten zeigen direkte Verbindungen an.

Die „Pregel-Skizze“ wird also durch folgenden Graphen repräsentiert:

GKönigsberg :=

Die Frage nach dem “Spaziergang” entspricht dann der Frage:Gibt es in GKönigsberg einen „Euler-Kreis“,also einen Kreis der jede Kante genau einmal durchläuft?

Warum ist die Antwort negativ?

Wege in Graphen 23 / 62

Page 24: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Routenplaner: Die Länge „gewichteter“ Wege

Wie gehen Routenplaner vor,um schnellste Verbindungen zwischen einem Start und einem Ziel zu berechnen?

Die relevanten Informationen werden in einen gerichteten Graphen gepackt.(a) Der gerichtete Graph:

I Kreuzungen oder Abfahrten sind die Knoten,I Straßenabschnitte, die Knoten direkt miteinander verbinden, sind die

gerichteten Kanten.(b) Wir versehen jede Kante mit geographischer Information.

I Für die Navigation: In welchem Stadtteil, Stadt, Bundesland oder Staat liegtder entsprechende Straßenabschnitt, welche Hausnummern kommen vor?

I Um schnellste Verbindungen zu berechnen:Weise jeder Kante eine Dauer zu, wenn der entsprechende Straßenabschnitt inRegelgeschwindigkeit gemäß den Verkehrsregeln durchfahren wird.

Wie berechnet man den Graphen aus der Karte und wie berechnet manschnellste Verbindungen?

Wege in Graphen Routenplaner 24 / 62

Page 25: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Ein Ausschnitt der Strassenkarte mit Einbahnstraßen

Wege in Graphen Routenplaner 25 / 62

Page 26: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Der gerichtete Graph „auf“ der Karte

Wege in Graphen Routenplaner 26 / 62

Page 27: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Der gerichtete Graph

Wege in Graphen Routenplaner 27 / 62

Page 28: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Und wie bestimmt man schnellste Verbindungen?Was genau ist das zugrunde liegende Problem?

(a) Für den gerichteten Graphen G = (V ,E ) weist eine Funktion

länge : E → R>0

jeder Kante eine nicht-negative Länge zu.(b) Für einen „Start“-Knoten s ∈ V und einen „Ziel“-Knoten t ∈ V bestimme

einen Weg W = s → v1 → · · · → vk → t von s nach t kürzester Länge,wobei

Länge(W ) = länge(s, v1) + länge(v1, v2) + · · ·+ länge(vk , t).

In den Veranstaltungen „Datenstrukturen“ und „Theoretische Informatik 1“wird eine schnelle Lösung dieses „Kürzesten-Wege-Problems“ mit

dem Algorithmus von Dijkstra

beschrieben. :-)))Wege in Graphen Routenplaner 28 / 62

Page 29: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Graphen: Wichtige Anwendungsbeispiele

Wir haben gerade die in einer Straßenkarte relevante Informationdurch einen gerichteten Graphen (mit Zusatzinformation) repräsentiert.In ähnlicher Weise lassen sich

I das Schienennetz der deutschen Bahn oderI städtische S- und U-Bahn Netze veranschaulichen.

In einem Computer-Netzwerk werden Computer durch Knoten undNetzwerkverbindungen durch ungerichtete Kanten repräsentiert.

Im „Webgraphen“ repräsentieren die Knoten Webseiten unddie gerichteten Kanten Hyperlinks.Binäre Entscheidungsgraphen (BDD’s) werden in der technischenInformatik als Datenstruktur für die kompakte Darstellung und effizienteHandhabung boolescher Funktionen eingesetzt.(Siehe z.B. die Vorlesung Hardwarearchitekturen und Rechensysteme.)

Wege in Graphen Routenplaner 29 / 62

Page 30: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Suche in Graphen, bzw.wie findet man den Ausgang in einem Labyrinth?

Wege in Graphen Suche in Graphen 30 / 62

Page 31: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wie findet man Wege aus einem Labyrinth?

Ein Auszug aus Umbert Eco’s „Der Name der Rose“.

William von Baskerville und sein Schüler Adson van Melk sind heimlich in die alsLabyrinth gebaute Bibliothek eines hochmittelalterlichen Klosters irgendwo imheutigen Norditalien eingedrungen.

Fasziniert von den geistigen Schätzen, die sie beherbergt, haben sie sich nicht dieMühe gemacht, sich ihren Weg zu merken.

Erst zu spät erkennen sie, dass die Räume unregelmäßig und scheinbar wirrmiteinander verbunden sind.

Man sitzt fest.

Wege in Graphen Suche in Graphen 31 / 62

Page 32: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

William erinnert sich

„Um den Ausgang aus einem Labyrinth zu finden,“, dozierte William, „gibt esnur ein Mittel. An jedem Kreuzungspunkt wird der Durchgang, durch den mangekommen ist, mit drei Zeichen markiert. Erkennt man an den bereits vorhandenenZeichen auf einem der Durchgänge, dass man an der betreffenden Kreuzung schoneinmal gewesen ist, bringt man an dem Durchgang, durch den man gekommen ist,nur ein Zeichen an. Sind alle Durchgänge schon mit Zeichen versehen, so muss manumkehren und zurückgehen. Sind aber einer oder zwei Durchgänge der Kreuzungnoch nicht mit Zeichen versehen, so wählt man einen davon und bringt zwei Zeichenan. Durchschreitet man einen Durchgang, der nur ein Zeichen trägt, so markiert manihn mit zwei weiteren, so dass er nun drei Zeichen trägt. Alle Teile des Labyrinthesmüßten durchlaufen worden sein, wenn man, sobald man an eine Kreuzung gelangt,niemals den Durchgang mit drei Zeichen nimmt, sofern noch einer der anderenDurchgänge frei von Zeichen ist.“

„Woher wißt Ihr das? Seid Ihr ein Experte in Labyrinthen?“„Nein, ich rezitiere nur einen alten Text, den ich einmal gelesen habe.“„Und nach dieser Regel gelangt man hinaus?“„Nicht dass ich wüßte. Aber wir probieren es trotzdem.[...]“

Wege in Graphen Suche in Graphen 32 / 62

Page 33: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

„Der Name der Rose“: Das Labyrinth

Kann man vom Treppenaufgang V0 aus alle Räume Vi besuchen?

Eco.pdf Eco.pdf

@@@@

@@@@�

���

����

@@@@

@@@@�

���

����

����

����@

@@@

@@@@

���

���@

@@

@@@

Innenhof

BBBBBBB ��

����

��

V1 V2

V17 V18

��

�����AA

AAHH

HH

��

���

@@@

@@@

���� AA

HH

��

��

�� ��

V3

V4

V19

V20

V0

@@@@@@@@@@@@@@@@@@��

��

V36

V37

V38

V39

V40

Ostturm

PP

PPPPP

V5

V6

V21

V22

��

��

��

BBBBB

BB

��

����

��@

@@

@@

BBBB �

��

PPPP

AA

HH

V7

V8 V23

V24V33

V45

V44

V43

V42

V41

Südturm

��

����

��

V10 V9

V26 V25

�����

��

AAHH���@@@

����@

@@

�� ��

��

��

@@@

@@@

V12V11V28

V27V34

V46

V47

V48

V49

V50

Westturm

PPPPPPP

V14

V13

V30

V29

���

���

@@@@@@��

����

��

���

HH HH

AA

AA

HH

AA

V16

V15

V32

V31

V35

V55

V54

V53

V52

V51

Nordturm

Wege in Graphen Suche in Graphen 33 / 62

Page 34: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Das Labyrinth als ungerichteter Graph

Eco2.pdf Eco2.pdf

nn

n

nn

n

nnnn

nnnn

n n n nn n n n

nn

nn

nn

n n n nn n n n

nn

n

nn

nnnnn

nnnn

nn

nn

nn

1 2 3

4

5

6

7

891011

12

13

14

15

16

17 18 19

20

21

22

23

24252627

28

29

30

31

32 0

3334

35

36

37

38

39

40

41

42

43

44

4546

47

48

49

50

51

52

53

54

55

@@

@@

@@@@ �

���

@@

@@

��

��

�� @@

@@

@@

��

��

��

��

��

��

��

@@

@@

@@

@@

@@

@@

��

��

Wege in Graphen Suche in Graphen 34 / 62

Page 35: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Der Ariadne-Faden

Geht das denn nicht viel einfacher?

1. Prinzessin Ariadne, Tochter des Königs Minos, hat Theseus den„Ariadne-Faden“ geschenkt, um den Minotauros in einem Labyrinthaufzuspüren und danach wieder aus dem Labyrinth herauszufinden.

2. Theseus hat den Ariadne-Faden während der Suche im Labyrinth abgerollt.I Nachdem der Minotauros getötet war, braucht er nur den Faden

zurückverfolgen, um das Labyrinth wieder verlassen zu können.

Aber wie durchsucht man das Labyrinth systematisch mit Hilfe eines Fadens?

Wege in Graphen Suche in Graphen 35 / 62

Page 36: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Suche in Graphen: TiefensucheDer Algorithmus „Tiefensuche“ implementiert und erweitert die Methode desAriadne-Fadens.

1. Ganz zu Anfang fasse alle Knoten als „unmarkiert“ auf.// Wir besuchen stets nur unmarkierte Knoten.

2. Sobald wir einen unmarkierten Knoten v von einem Knoten u aus besuchen(sprich: Zimmer v betreten),

I markieren wir v als besucht und wiederholen unser Vorgehenrekursiv für alle mit v benachbarten Knoten (sprich: Zimmer).

I Wenn schließlich alle Nachbarn von v markiert sind, dannkehren wir zu u zurück: Wir benutzen den Ariadne-Faden.

In der Vorlesung „Datenstrukturen“: Tiefensuche funktioniert und istschnell.Labyrinth-Probleme

„gibt es einen Weg vom Knoten u zu einem Ausgang v?“lassen sich effizient lösen :-))).

Wege in Graphen Suche in Graphen 36 / 62

Page 37: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Zusammenhang

Sei G = (V ,E ) ein Graph und v ∈ V ein Knoten.(a) Wenn G ungerichtet ist, dann besteht die Zusammenhangskomponente

von v aus allen, von v aus durch Wege erreichbaren Knoten.

Der Graph G heißt zusammenhängend, wenn die Zusammenhangs-komponente irgendeines Knotens aus allen Knoten von G besteht.

(b) Wenn G gerichtet ist, dann besteht die starke Zusammenhangs-komponente von v aus allen Knoten w ,

I die sowohl von v aus erreichbar sind,I die aber auch v selbst durch einen in w beginnenden Weg erreichen.

G heißt stark zusammenhängend, wenn die starke Zusammenhangs-komponente irgendeines Knotens aus allen Knoten von G besteht.

Wege in Graphen Suche in Graphen 37 / 62

Page 38: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Zusammenhang: Beispiele

Der Graph ist zusammenhängend,

ist nicht zusammenhängend und bestehtaus zwei Zusammenhangskomponenten.

Der Graphist nicht stark zusammenhängend,da es z.B. keinen Weg vom Knotenlinks oben zum Knoten links unten gibt.

ist stark zusammenhängend.

Wege in Graphen Suche in Graphen 38 / 62

Page 39: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Hamilton-Kreise

Kreise Hamiltonkreise 39 / 62

Page 40: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Hamilton-Kreise und Hamilton-Wege

Sei G = (V ,E ) ein (gerichteter oder ein ungerichteter) Graph.

(a) Ein Weg W = (v0, . . . , v`) heißt Hamilton-Weg, wenn jeder Knoten aus Vgenau einmal in W vorkommt.

(b) Ein Weg W = (v0, . . . , v`) heißt Hamilton-Kreis, wenn ` > 1 und v` = v0und (v0, . . . , v`−1) ein Hamilton-Weg ist.

Der Graph Gb

c ed

a

hat einen Hamilton-Weg, nämlich (e, c, d, a, b), aber keinen Hamilton-Kreis, daAus-GradG(b) = 0 ist.

Kreise Hamiltonkreise 40 / 62

Page 41: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wo ist der Hamilton-Kreis?

Kreise Hamiltonkreise 41 / 62

Page 42: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Hamilton-Kreise: Wie schwierig?

Wir erhalten einen gerichteten oder ungerichteten Graphen mit mehrerenTausenden von Knoten: Wir sollen noch nicht einmal einen Hamilton-Kreisbestimmen, sondern nur die Frage beantworten, ob es einen Hamilton-Kreis gibt.

Trauen Sie sich zu ein Programm zu schreiben, dass diese Frage zu ihrenLebzeiten beantwortet?

In der Veranstaltung „Theoretische Informatik 1“ wird gezeigt, dass auch dieseFrage, wie schon das Erfüllbarkeitsproblem KNF-SAT, NP-vollständig ist. :-(((

Euler-Kreise, falls vorhanden, lassen sich hingegen effizient bestimmen. (EinEuler-Kreis durchläuft alle Kanten genau einmal.) :-)))

Kreise Hamiltonkreise 42 / 62

Page 43: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Zuordnungsprobleme

Zuordnungsprobleme 43 / 62

Page 44: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wer mag wen?

In einem Tennisverein sollen die Vereinsmitglieder für ein Turnier zuDoppelpaarungen zusammengestellt werden. Dabei möchte man jeweils nurbefreundete Personen als „Doppel“ zusammen spielen lassen.

Wir modellieren die Aufgabenstellung durch den ungerichteten GraphenGT := (VT ,ET ) mit

VT := {x : x ist ein Vereinsmitglied}ET := {{x , y} : x und y sind befreundete Vereinsmitglieder}.

Das Ziel: Finde eine größtmögliche Anzahl von Doppelpaarungen.

D.h., Finde eine möglichst große Menge E ′ ⊆ ET , so dass kein VereinsmitgliedEndpunkt von mehr als einer Kante aus E ′ ist.

Zuordnungsprobleme 44 / 62

Page 45: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wer kann was?

Eine Gruppe unterschiedlich ausgebildeter Piloten soll so auf Flugzeuge verteiltwerden, dass jeder das ihm zugeteilte Flugzeug fliegen kann.

Auch hier modellieren wir die Fragestellung durch einen ungerichteten GraphenGF := (VF ,EF ) mit

VF := {x : x ist ein Pilot} ∪ {y : y ist ein Flugzeug},EF := {{x , y} : Pilot x kann Flugzeug y fliegen }.

Das Ziel: Stelle einen Flugplan auf, so dass jeder Pilot das ihm zugeteilteFlugzeug fliegen kann.

D.h.: Finde eine möglichst große Menge E ′ ⊆ EF ,so dass kein Element aus VF Endpunkt von mehr als einer Kante in E ′ ist.

Zuordnungsprobleme 45 / 62

Page 46: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Zuordungsprobleme

Sei G = (V ,E ) ein ungerichteter Graph. Wir nennen eine Kantenmenge E ′ ⊆ Eein Matching (bzw. eine Menge unabhängiger Kanten),

falls kein Knoten aus V Endpunkt von mehr als einer Kante aus E ′ ist.

Typischerweise, wie auch in den beiden Beispielen, möchte man einmöglichst großes Matching bestimmen.

Manchmal sind die Kanten auch mit Gewichten markiert, um auszudrückenwie befreundet zwei Mitglieder sindoder wie gut sich ein Pilot mit einem Flugzeug auskennt.

In diesem Fall möchte man ein möglichst schweres Matching bestimmen.

In der Wahlpflichtveranstaltung „Approximationsalgorithmen“(ab dem 4. Semester) wird gezeigt, dass ein schwerstes Matching effizientbestimmt werden kann. :-)))

Zuordnungsprobleme Matching 46 / 62

Page 47: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

MatchingsIn einem Tennisverein mit 10 Mitgliedern und „Freundschaftsgraph“

GT =

2

5

1

3

4

10

7

8

9

6

sind z.B. die folgenden beiden Kantenmengen Matchings:

2

5

1

3

4

10

7

8

9

6

und

2

5

1

3

4

10

9

7

8

6

Zuordnungsprobleme Matching 47 / 62

Page 48: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Sitzordnung: Wer neben wem? (1/2)

Die Gäste einer Familienfeier sollen so an einer hufeisenförmigen Tafel

platziert werden, dass niemand neben jemanden sitzt, den er nicht leiden kann.

1. Stelle den Konfliktgraphen G = (V ,E ) auf, wobei

V := {x : Person x soll zur Feier kommen} und

E :=

{{x , y} :

Person x kann Person y nicht leiden oderPerson y kann Person x nicht leiden

}d.h. Kanten im Konfliktgraphen zeigen auf, wer im Konflikt mit wem steht.

Zuordnungsprobleme Wer neben wem? 48 / 62

Page 49: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Sitzordnung: Wer neben wem? (2/2)

2. Bilde das Komplement des Konfliktgraphen,d.h. betrachte den Graphen G = (V , E ) mit

V := V undE :=

{{x , y} : x , y ∈ V , x 6= y , {x , y} /∈ E

}.

Kanten in G zeigen an, wer prinzipiell neben wem platziert werden könnte.3. Suche einen Hamilton-Weg in G .

Wenn (v1, . . . , vn) (mit n = |V |) ein Hamilton-Weg in G ist, dann kann mandie Sitzordnung folgendermaßen festlegen:

v7

v1

v4

vn

v6v5

v3

v2

Zuordnungsprobleme Wer neben wem? 49 / 62

Page 50: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Das Färbungsproblem

Das Färbungsproblem 50 / 62

Page 51: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Färbung von Knoten

Sei G = (V ,E ) ein ungerichteter Graph.Eine Funktion m : V → N heißt eine (konfliktfreie) Färbung, wenn für jedeKante {x , y} ∈ E gilt: m(x) 6= m(y).Die Größe von Bild(m) ist die Anzahl der Farben.Die minimale Farbenzahl, die für eine konfliktfreie Färbung ausreichend ist,heißt die chromatische Zahl von G (kurz: χ(G)).

Eine Familienfeier mit Gästen A, B, C, D, E, F, G, H, I und dem Konfliktgraphen:A B C

D E F

G H I

Was ist die chromatische Zahl?Das Färbungsproblem 51 / 62

Page 52: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wieviele Farben?Eine konfliktfreie Färbung mit drei Farben ist möglich:

1A

3B

3C

1D

2E

1F

2G

3H

2I

Drei Farben sind auch notwendig, weil der Konfliktgraph ein Dreieck, z.B.

D

H

E

als Teilgraph enthält.Das Färbungsproblem 52 / 62

Page 53: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Das 4-Farben Problem

Wie viele Farben sind nötig, um jede Landkarte so einzufärben, dass zwei Staatenmit gemeinsamer Grenze durch unterschiedliche Farben dargestellt werden.

1976 wurde bewiesen, dass vier Farben ausreichen.Der Beweis basiert auf einer Fallunterscheidung mit mehr als 1000 Fällen,die mit Hilfe eines Computerprogramms analysiert wurden.

Wir modellieren eine Landkarte durch einen ungerichteten Graphen,dessen Knoten die Staaten repräsentieren,und bei dem zwei Staaten genau dann durch eine Kante miteinanderverbunden sind, wenn sie eine gemeinsame Grenze besitzen.

Finde eine konfliktfreie Färbung mit möglichst wenigen Farben.

Das Färbungsproblem Das 4-Farben Problem 53 / 62

Page 54: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Färbung von Landkarten

Wir betrachten eine kleine Landkarte

ab

f

c

e

d

und ihren Konfliktgraphen:

fb a

c

d e

Knoten = StaatenKanten = Staaten mit gemeinsamer Grenze

Jeder der vier Knoten a, b, c, d ist mit jedem anderen benachbart. ⇒

Eine konfliktfreie Färbung muss den vier Knoten vier verschiedene Farbenzuordnen. — für a, b, c, d etwa rot, gelb, grün, blau.

Da f außerdem mit b, c, d benachbart ist, muss f dann wieder rot gefärbt sein; ekann jede Farbe außer blau erhalten.

Das Färbungsproblem Das 4-Farben Problem 54 / 62

Page 55: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Planare GraphenDie aus Landkarten entstehenden Konfliktgraphen sind planar.

Ein Graph G heißt planar, wenn er so in die Ebene gezeichnet werden kann,dass seine Kanten sich nicht kreuzen.

Beispiele für planare Graphen sind:

Der dritte Graph ist planar, da er wie der erste Graph kreuzungsfrei in die Ebenegezeichnet werden kann.

Beispiele für nicht-planare Graphen sind:

Das Färbungsproblem Planare Graphen 55 / 62

Page 56: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Anwendungen des Färbungsproblems

Knoten | Kanten | Farbe/Markierung| |

Staat auf Karte | gemeinsame Grenze | Farbe| |

Gast auf Feier | können sich nicht leiden | Tischnummer| |

Vorlesung | gemeinsame Hörer | Termin| |

Prozess | benötigen dieselbe Ressource | Ausführungstermin

Aber leider ist schon die Frage, ob 3 Farben ausreichen, NP-vollständig. :-(((

Das Färbungsproblem Anwendungen 56 / 62

Page 57: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Isomorphie von Graphen

Isomorphie 57 / 62

Page 58: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gleichheit und Isomorphie von Graphen (1/2)

G = (V ,E ) und G ′ = (V ′,E ′) seien zwei (gerichtete oder ungerichtete) Graphen.(a) G heißen gleich (kurz: G = G ′),

falls sie dieselbe Knotenmenge und dieselbe Kantenmenge besitzen. D.h.:

G = G ′ :⇐⇒ V = V ′ und E = E ′.

(b) G und G ′ heißen isomorph (kurz: G ∼= G ′, in Worten: G ist isomorph zu G ′),falls es eine bijektive Abbildung f : V → V ′ gibt, so dass für alle Knoteni ∈ V und j ∈ V gilt:

I Falls G und G ′ gerichtet sind:

(i , j) ∈ E ⇐⇒(f (i), f (j)

)∈ E ′.

I Falls G und G ′ ungerichtet sind:

{i , j} ∈ E ⇐⇒ {f (i), f (j)} ∈ E ′.

Eine solche Abbildung f wird Isomorphismus von G nach G ′ genannt.

Isomorphie 58 / 62

Page 59: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gleichheit und Isomorphie von Graphen (2/2)

Zwei (gerichtete oder ungerichtete) Graphen G1 und G2 sind genau dannisomorph, wenn G1 und G2 gleich sind,

nachdem die Knoten von G2 umbenannt werden.

Die beiden Graphen

1

2

4

3und

a

c

d

b

sind nicht gleich, da sie unterschiedliche Knotenmengen besitzen,wohl aber isomorph.

Isomorphie 59 / 62

Page 60: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Gleichheit und Isomorphie: Weitere Beispiele

G G ′ G ′′

1

2

4

3

ba c d ba c d

Dann gilt:G ∼= G ′ via f : {1, 2, 3, 4} → {a, b, c, d}mit f (1) = c, f (2) = d , f (3) = a, f (4) = b.G ′ ist nicht isomorph zu G ′′ (kurz: G ′ � G ′′),denn G ′′ hat mehr Kanten als G ′.

Isomorphie 60 / 62

Page 61: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Wichtige Graphklassen

Isomorphie 61 / 62

Page 62: Graphen - Professur für Theoretische Informatik: · PDF fileGraphen BeiModellierungsaufgabengehtesoftdarum, Objekte sowie Beziehungen zwischen je zwei Objekten zubeschreiben:Graphensinddafürmaßgeschneidert

Planare, vollständige, bipartite und kreisfreie Graphen

(a) Planare Graphen haben wir schon in der Diskussion des Färbungsproblemskennengelernt.

(b) Der vollständige Graph Kn = ({1, . . . , n},En) mit n Knoten ist ein unge-richteter Graph: Kn besitzt für je zwei verschiedene Knoten eine Kante, es ist

En = { {i , j} : 1 6 i 6= j 6 n }.

(c) Ein ungerichteter Graph G = (V ,E ) heißt bipartit, wenn die KnotenmengeV = V1 ∪V2 so in zwei disjunkte Teilmengen V1,V2 zerlegt werden kann, dassalle Kanten genau einen Endpunkt in V1 und einen Endpunkt in V2 besitzen.

I Bipartite Graphen tauchen häufig in Zuordnungsproblemen auf.(d) Ein gerichteter Graph ohne Kreise heißt azyklisch.

I Eine Menge V von Aufgaben mit Präzedenzen E ⊆ V × V definiert einenazyklischen Graph, wenn die Aufgaben ohne Deadlock ausführbar sind.

Und wenn ein ungerichteter Graph keine Kreise besitzt?

Isomorphie 62 / 62