formale grundlagen der informatik - michael gamer · ‣algorithmen und datenstrukturen • t....
TRANSCRIPT
![Page 1: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/1.jpg)
Michael Gamer / 2015
Formale Grundlagen der InformatikMichael Gamer
![Page 2: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/2.jpg)
Michael Gamer
Literatur
‣Algorithmische Graphentheorie • V. Turau • Oldenbourg Verlag • 2. Auflage2004
‣Graphentheorie • R. Diestel • Springer Verlag 2000
‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002
2
![Page 3: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/3.jpg)
Michael Gamer
Literatur
‣Graphentheoretische Konzepte und Algorithmen • S.O. Krumke und H. Noltemeier • Teubner Verlag • 1. Auflage 2005
3
![Page 4: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/4.jpg)
Michael Gamer
Definitionen und Begriffe
‣Ein Graph besteht aus einer Menge V von Ecken (Vertices) und Kanten E (Edges). Wird also durch ein Paar (V,E) definiert. ‣Beispielsweise wird durch folgende Definition ein
Graph beschrieben: • V := {1,2,3,4} • E := {(1,2),(1,3),(2,3),(3,4)}
‣Graphen werden üblicherweise graphisch (sic!) dargestellt. Für diesen Graphen erhält man die nebenstehende Darstellung:
4
1
3 4
2
![Page 5: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/5.jpg)
Michael Gamer
Einfache GraphenUngerichteter Graph:
Keine Unterscheidung der Kanten (i,j) und (j,i)
gerichteter Graph: Unterscheidung zwischen (i,j)
und (j,i)
Für gerichtete Graphen ist die Kante (i,i) zulässig. Solche Kanten heißen Schlingen.
5
1
3 4
2
1
3 4
2
![Page 6: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/6.jpg)
Michael Gamer
Vollständige Graphen und Teilgraphen
‣ Ein Graph heißt vollständig, wenn alle Knoten paarweise verbunden sind
‣ Ein Teilgraph oder auch Subgraph G1 = (V1,E1) eines Graphen G = (V,E) der aus einer Teilmenge der Knoten des Graphen G und der die Kanten
{{u,v} ∈ E | u,v ∈ V1} enthält. ‣ G1 heißt induzierter Teilgraph von G falls dieser alle Kanten
enthält die im Ausgangsgraphen zu diesen Knoten existieren.
‣ Eine k-Clique ist ein vollständiger Subgraph eines Graphen G der k Knoten enthält
6
![Page 7: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/7.jpg)
Michael Gamer
Beispiele
K1
K2
K3
K4
P5
P3
P4
C3
C4
C5
7
![Page 8: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/8.jpg)
Michael Gamer
Grundlegende Begriffe
•Definition gerichteter Graph • Ein Paar G = (V,E) mit
‣ V eine nichtleere Menge von Knoten ‣ E ⊆V x V eine Menge von Kanten
heißt gerichteter Graph. Ein Element aus E wird auch als Pfeil bezeichnet
• Für G definieren wir Abbildungen ‣ α: E→V mit α(u,v) := u (Anfangsecke) ‣ ω: E→V, mit ω(u,v) := v (Endecke)
8
![Page 9: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/9.jpg)
Michael Gamer
Schlingen und Co
‣ Sei G = (V,E) ein Graph • Ein Element e∈E mit α(e) = ω(e) heißt Schlinge in G • Ein Graph in dem für alle e∈E gilt: α(e) ≠ ω(e) heißt
schlingenfrei • Zwei Elemente e,f ∈ E heißen parallel, falls
๏α(e) = α(f) und ω(e) = ω(f) gilt • Zwei Elemente e,f ∈ E heißen antiparallel, falls
๏α(e) = ω(f) und ω(e) = α(f) gilt • Ein Graph heißt einfach, wenn er schlingenfrei ist
und keine Parallelen enthält
9
![Page 10: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/10.jpg)
Michael Gamer
Beispiele für Graphen
10
Schlinge
Doppelkante
![Page 11: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/11.jpg)
Michael Gamer
Inzidenz, Adjazenz, Grade (1/2)
‣ Sei G = (V,E) ein Graph • v∈V heißt inzident zu (x,y)∈E, falls v=x oder v=y ist • Zwei Ecken u,v∈V heißen adjazent, falls (u,v)∈E oder
(v,u)∈E gilt • Für jedes v∈V bezeichnen
๏δ+(v):= {e∈E|α(e)=v}, das von v ausgehende Pfeilbüschel
๏δ-(v):= {e∈E|ω(e)=v}, das in v mündende Pfeilbüschel} ๏ N+(v):={ω(e)|e∈ δ+(v)}, die Nachfolgermenge von v} ๏ N-(v):={α(e)|e∈ δ-(v)}, die Vorgängermenge von v}
11
![Page 12: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/12.jpg)
Michael Gamer
Inzidenz, Adjazenz, Grade (2/2)
‣Für jedes v∈V bezeichnen • g+(v):= |δ+(v)|, den Außengrad von v • g-(v):= |δ-(v)|, den Innengrad von v • g(v):= g+(v) + g-(v) den Grad von v
‣Mit Δ(G) := max{g(v)|v∈V} wird der Maximalgrad von G bezeichnet.
12
![Page 13: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/13.jpg)
Michael Gamer
Beispiel
13
Δ(G)=6
g+(v)=5g(v)=6
g-(v)=3g-(v)=2g+(v)=1
g+(v)=1g-(v)=1
![Page 14: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/14.jpg)
Michael Gamer
Bipartite Graphen
K3,4
Anwendungenbipar;terGraphensindinersterLinieZuordnungsproblemeArbeiteraufMaschinenTransportmiHelaufTransportwege,etc.
14
![Page 15: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/15.jpg)
Michael Gamer
Isomorphien bei Graphen
K4
ist isomorph zu
Zwei Graphen G = (V,E) und G´ = (V`, E`) heißen isomorph, genau dann, wenn es eine bijektive Abbildung f : V → V` gibt, so daß für alle u,v ∈V
gilt: (u,v)∈E ⇔ (f(u), f(v)) ∈ E`
• Es ist nicht immer einfach zu erkennen, ob zwei Graphen identisch sind:
15
![Page 16: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/16.jpg)
Michael Gamer
Isomorphie von Graphen
‣Die Isomorphie von Graphen ist oftmals nicht einfach zu erkennen. ‣Beispiel: Petersen-Graph
16
![Page 17: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/17.jpg)
Michael Gamer
Zum Petersen-Graphen isomorphe Graphen:
17
![Page 18: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/18.jpg)
Michael Gamer
Beispiel
§ Für jede Zahl zwischen 1 und 6 ist in diesem Graphen eine Kante
eingezeichnet, wenn die beiden Zahlen teilerfremd sind
§ Die vier Zahlen 1, 2, 3 und 5 bilden eine 4-
Clique § Die Zahlen 4, 2 und 6
bilden eine 3-Anticlique
18
![Page 19: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/19.jpg)
Michael Gamer
Anwendungen für Cliquen
19
Gegeben ist folgende Straßenkreuzung
aus Krumke/Noltemeier
S1
S2
S3
S4
S5
S6S7
S8
![Page 20: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/20.jpg)
Michael Gamer
Modellierung als Graphenproblem
‣Modellierung der Verkehrsströme als Graph G = (V,E) • Knoten: V = {S1, ... S8} • Kanten werden durch folgende Vorschrift
erzeugt
20
E={(Si,Sj)|SiundSjkönnensimultanundkollisionsfreiüberdieKreuzung
gehen}
![Page 21: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/21.jpg)
Michael Gamer
Graph für das Kreuzungsproblem
21
S2
S7
S1
S5
S3
S6
S8 S4
![Page 22: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/22.jpg)
Michael Gamer
Ergebnis
‣Jeder vollständige Teilgraph von G (Clique!) kann konfliktfrei die Kreuzung überqueren ‣Ziel: Bündelung zu möglichst großen Cliquen ‣z.B. ist folgende „Bündelung“ möglich
• C1 = {S1, S2, S6} C2 = {S2, S5, S6} • C3 = {S3, S5, S6} C4 = {S4, S5, S6} • C5 = {S1, S7} C6 = {S7, S8}
‣Rahmenbedingung: die Folge Ci1, Ci2,... wird periodisch wiederholt (Ampelschaltung) und überdeckt die relevanten Verkehrsströme
22
![Page 23: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/23.jpg)
Michael Gamer
Begriffe im Zusammenhang mit Cliquen
‣Die Cliquenzahl eines Graphen G = (V,E) ist • ω(G) := max {|C| : C ist Clique in G}
‣Die Cliquenzerlegungszahl ist definiert als • χ(G) := min {k: C1⊍C2⊍...⊍Ck ist eine
Cliquenzerlegung von G} ‣Für jeden Graphen mit n Ecken gilt 1 ≤ χ(G) ≤n
• Jede natürliche Zahl kann als Cliquenzerlegungszahl auftreten, Beispiel: Gn = ({1,2,...,n},∅)
23
![Page 24: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/24.jpg)
Michael Gamer
Wege und Spaziergänge
‣Ein Weg in einem Graphen G = (V,E) ist ein durch eine Folge von paarweise verschiedenen Knoten und Kanten verbundener Streckenzug, also eine Folge • u1, u2,… un ∈ V mit • (u1,u2) ∈ E, (u2,u3) ∈ E, … (un-1,un) ∈ E
‣Falls u1 = un gilt, so spricht man von einem geschlossenen Weg, Kreis oder auch Zykel. ‣Ein Spaziergang von v nach w ist eine alternierende
Folge von Knoten und Kanten ‣ (v=v0 , e1, v1 , e2, v3 , e3, …, vn = w)
24
![Page 25: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/25.jpg)
Michael Gamer
Wege und Spaziergänge 1
‣ Ist M eine Menge so heißt eine Abbildung ‣ d: MxM ➝ R Metrik, genau dann wenn
folgende Bedingungen erfüllt sind: • d(x,y) ≧ 0 , für alle x, y ∈ M • d(x,y) = d(y,x) • d(x,y) = 0 ⇔ x=y
• d(x,y) ≦d(x,z)+ d(z,y), für alle x,y,z ∈ M
25
![Page 26: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/26.jpg)
Michael Gamer
Wege und Spaziergänge 2
• Ein Weg, der jeden Knoten genau einmal enthält wird Hamilton-Pfad genannt.
• Ein geschlossener Weg der jeden Knoten des Graphen (mit Ausnahme des Startknotens) genau einmal enthält heißt Hamilton-Kreis.
• Gibt es in einem Graphen zwischen je zwei Knoten einen Weg, so heißt der Graph zusammenhängend.
• Ist G ein zusammenhängender Graph, so heißt die Länge des kürzesten Weges von v nach w Abstand von v und w, geschrieben: dist(v,w). Die Abstandsfunktion dist erfüllt als Abbildung die Eigenschaften einer Metrik.
26
![Page 27: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/27.jpg)
Michael Gamer
Hamilton und Euler
‣Ein geschlossener Weg der jeden Knoten des Graphen (mit Ausnahme des Startknotens) genau einmal enthält heißt Hamilton-Kreis ‣Ein geschlossener Weg der jede Kante in einem
Graph genau einmal durchläuft heißt Euler-Kreis ‣Das Problem einen Hamilton-Kreis in einem Graphen
zu finden ist NP-vollständig!
27
![Page 28: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/28.jpg)
Michael Gamer
Ein Graph ohne Hamilton-Kreis
28
DerPetersen-GraphenthältkeinenHamilton-Kreis!
![Page 29: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/29.jpg)
Michael Gamer
Codierung von Graphen: Adjazenzmatrizen
Ist V = { v1, v2, … vn} die Knotenmenge eines Graphen G = (V,E), so heißt die Matrix: A = (ai,j) mit
29
Adjazenzmatrix von G
![Page 30: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/30.jpg)
Michael Gamer
Codierung von Graphen: Inzidenzmatrizen
‣ Ist V = { v1, v2, … vn} die Knotenmenge eines Graphen G = (V,E), so heißt die Matrix: B = (bi,j) mit
30
![Page 31: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/31.jpg)
Michael Gamer
Die Ordnung eines Knotens
31
5
2
4 3
3
5
![Page 32: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/32.jpg)
Michael Gamer
Effiziente Algorithmen
‣Ein Algorithmus für ein Problem ist eine Abfolge wohldefinierter Regeln (Befehlen), die nach einer endlichen Anzahl von Schritten zu einer gegebenen Eingabe eine definierte Ausgabe erzeugt. Folgendes soll dabei gelten:
• Ein Algorithmus läßt sich mit einem Text endlicher Länge beschreiben
• Die Abfolge der Schritte ist in jeder Berechnung eindeutig
• Jeder Elementarschritt läßt sich mechanisch und effizient ausführen
• Der Algorithmus stoppt bei jeder Eingabe nach endlich vielen Schritten.
32
![Page 33: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/33.jpg)
Michael Gamer
Zusammenhangskomponenten
‣ Ein Graph (V,E) heißt zusammenhängend von einem Knoten v ∈V aus genau dann, wenn es für jeden Knoten w∈V einen Weg von v nach W gibt, d.h es gilt:
33
∀v∈V
∀w∈V
∃v1,v2 ,…vn∈V
(v,v1),(v1,v2 ),…(vn ,w)∈E
Ein induzierter Teilgraph U eines Graphen heißt Zusammenhangskomponente von G, falls U
zusammenhängend ist.
![Page 34: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/34.jpg)
Michael Gamer
Breitensuche (BFS) (1/2)
‣Gegeben ist ein Graph G = (V,E) und ein Startknoten s. Zu überprüfen ist, ob von s aus alle Knoten des Graphen G erreichbar sind (Bestimmung der Zusammenhangskomponente). ‣Vorgehensweise zur Lösung des Problems:
• Ausgehend von s betrachten wir alle Nachbarn von s • Danach die Nachbarn der Nachbarn • Usw.
‣Wurden alle Knoten durchlaufen so terminiert der Algorithmus und die Zusammenhangskomponente ist bestimmt. ‣Problem: Knoten dürfen nicht doppelt besucht werden
34
![Page 35: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/35.jpg)
Michael Gamer
Breitensuche (2/2)
‣Algorithmus Breitensuche: ‣Aufgabe: Ausgehend vom Startknoten s ist die
Zusammenhangskomponente von s zu bestimmen ‣Lösung:
• Markiere den Startknoten s (Ausgabe s) • Bestimme alle Nachbarn von s und markiere diese und
speichere sie (Ausgabe Nachbarn) in einer Warteschlange Q
• Solange Q nicht leer ist: ๏ Füge unmarkierte Nachbarn aus Q an das Ende der Warteschlange an und markiere diese (Ausgabe Nachbarn)
35
![Page 36: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/36.jpg)
Michael Gamer
Beispiel Breitensuche
36
1
2 3
54
6
7 8 9
Suchbaum1
2
45
3
9
6
7
8
Startknoten: 1
![Page 37: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/37.jpg)
Michael Gamer
Tiefensuche (DFS)
‣ Statt, wie in der Breitensuche, erst alle Nachbarn der Nachbarn zu durchsuchen, behandelt die Tiefensuche für jeden gefundenen Nachbarknoten gleich dessen Nachbarn.
37
![Page 38: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/38.jpg)
Michael Gamer
Tiefensuche Beispiel
38
1
2
45
3
9
6
7
8
Startknoten: 11
2
4
5
6
7
9
8
3
Suchbaum
![Page 39: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/39.jpg)
Michael Gamer
Valenzsequenzen
‣ Ist v1, v2, … vn irgendeine Anordnung der Knoten eine Graphen G = (V,E), so heißt ‣ (deg(v1), deg(v2), … deg(vn)) Gradsequenz, oder
auch Valenzsequenz, von G. ‣Frage: kann man bei einem beliebigen Zahlentupel
(a1, a2, … an ) entscheiden, ob dies zu einem Graphen gehört oder nicht? ‣Folgen wie z.B. (3,3,3,2,2,2) kann man sofort
ausscheiden, denn es gilt die folgende Beziehung:
39
![Page 40: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/40.jpg)
Michael Gamer
Das Handshake-Lemma
‣ In jedem Graphen G = (V,E) ist die Summe der Knotengrade gerade, es gilt:
40
(Anregung: Warum heißt diese Aussage „Handshake-Lemma“?) Die Folge (3,3,3,2,2,2) scheidet damit als Valenzsequenz eines Graphen aus.
![Page 41: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/41.jpg)
Michael Gamer
Ein Algorithmus für Valenzsequenzen
Folgender Satz erlaubt es zu entscheiden, ob ein Zahlentupel die Valenzsequenz eines Graphen ist, oder nicht:
41
Ist D = (d1, d2, …. dn) eine Folge natürlicher Zahlen, n>1 und d1>= d2>= …. >=dn, dann ist D genau dann die Valenzsequenz eines einfachen Graphen, wenn d1+1≤n ist und die Folge D`= (d´2, d´3, …. d´n) definiert durch
Die Valenzsequenz eines einfachen Graphen ist.
![Page 42: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/42.jpg)
Michael Gamer
Beispiel: Valenzsequenz
Wir betrachten die Sequenz: D = (5,5,4,4,3,3,2,2,1,1) Das Handshake-Lemma liefert die Aussage, daß es sich grundsätzlich um die Valenzsequenz eines Graphen handeln kann. Der zuvor definierte Algorithmus liefert: D` = (4,3,3,2,2,2,2,1,1) Danach erhält man direkt (da D´ bereits sortiert ist) D`` = (2,2,1,1,2,2,1,1) D´´ muß nun erst sortiert werden, dazu werden die Knotennummern mit aufgeführt
42
![Page 43: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/43.jpg)
Michael Gamer
Beispiel Valenzsequenz 2/2
Da die Knoten 1 und 2 bereits entfernt wurden haben wir nun:
Sortieren liefert
43
3 4 5 6 7 8 9 102 2 1 1 2 2 1 1
3 4 7 8 5 6 9 102 2 2 2 1 1 1 1
![Page 44: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/44.jpg)
Michael Gamer
Beispiel Valenzsequenz
Abtrennung des ersten Knotens liefert:
Und daraus
Sortieren
44
4 7 8 5 6 9 102 2 2 1 1 1 1
4 7 8 5 6 9 101 1 2 1 1 1 1
8 4 7 5 6 9 102 1 1 1 1 1 1
![Page 45: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/45.jpg)
Michael Gamer
Beispiel Valenzsequenz
Erneutes Abspalten des ersten Knotens liefert:
Und dann
Damit kann der Graph rückwärts konstruiert werden.
45
4 7 5 6 9 101 1 1 1 1 1
4 7 5 6 9 100 0 1 1 1 1
![Page 46: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/46.jpg)
Michael Gamer
Valenzsequenzen: Konstruktion des Graphen
56
9 104
78
46
4 7 5 6 9 100 0 1 1 1 1
8 4 7 5 6 9 102 1 1 1 1 1 1
45
6
7
9 10
![Page 47: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/47.jpg)
Michael Gamer
Valenzsequenzen: Konstruktion des Graphen
5
6
9 104
7 8
3
910
47
3 4 7 8 5 6 9 102 2 2 2 1 1 1 1
2 3 4 5 6 7 8 9 104 3 3 2 2 2211 1
Achtung: ursprüngliche
Sortierung beachten!
5
62
4
7
3
8
![Page 48: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/48.jpg)
Michael Gamer
Valenzsequenzen: Konstruktion des Graphen
48
1 2 3 4 5 6 7 8 9 105 5 4 4 3 3 2 2 1 1
5
6
2
4
7
3
8
1
910
![Page 49: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/49.jpg)
Michael Gamer
Das war anstrengend!
Gehen wir spazieren… z.B. durch Königsberg
49
![Page 50: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/50.jpg)
Michael Gamer
Königsberg – über sieben Brücken mußt Du gehen!
50
![Page 51: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/51.jpg)
Michael Gamer
Die Lösung
51
Start
Ziel
1
22
2
3
Es darf maximal zwei Punkte geben in denen eine ungerade Anzahl von Strecken endet!
![Page 52: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/52.jpg)
Michael Gamer
Nochmals Königsberg
52
C
F
B
A
![Page 53: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/53.jpg)
Michael Gamer
Eulertouren
‣Ein Spaziergang v0e1v1e2...emv0 von v0 nach v0 heißt Eulertour, wenn er jede Kante genau einmal benutzt. ‣Der Graph G heißt eulersch, wenn er eine Eulertour
ausgehend von einem (und damit von jedem) Knoten v0 ∈ V hat.
53
![Page 54: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/54.jpg)
Michael Gamer
Charakterisierung Eulerscher Graphen
‣ Sei G=(V,E) ein Graph, dann sind folgende Aussagen (paarweise) äquivalent • G ist eulersch • G ist zusammenhängend und alle Knoten haben
einen geraden Knotengrad • G ist zusammenhängend und E die disjunkte
Vereinigung von Kreisen
54
![Page 55: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/55.jpg)
Michael Gamer
Gebiete
Die von einem zusammenhängenden, planaren Graphen eingeschlossenen Polyeder heißen Gebiete
55
1
2
4
3
7
6
5
G1G2
G3
G4
![Page 56: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/56.jpg)
Michael Gamer
Die Eulersche Polyederformel
Sei G=(V,E) ein zusammenhängender, planarer Graph mit ‣ |V|=n ‣ |E|=m ‣ und G schließe g Gebiete ein
dann gilt:
56
n-m+g = 2
![Page 57: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/57.jpg)
Michael Gamer
Beispiel Eulersche Polyederformel
57
|V| - |E| + g = 2
|V| = 7 |E| = 10 g = 51
2
4
3
7
6
5
G1G2
G3
G4
G5
![Page 58: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/58.jpg)
Michael Gamer
Bäume
• Ein zykelfreier Graph heißt Baum:
58
Dies
ist
sehr einfacher
ein
Baum
![Page 59: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/59.jpg)
Michael Gamer
Beispiele von Bäumen
59
![Page 60: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/60.jpg)
Michael Gamer
Wurzelbäume
‣ Ein Wurzelbaum (auch orientierter Baum) ist ein • zykelfreier • gerichteter • zusammenhängender
‣Graph mit einem ausgezeichneten Knoten, der Wurzel. ‣ Jeder Knoten des Graphen ist von der Wurzel aus
auf genau einem Weg erreichbar.
60
![Page 61: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/61.jpg)
Michael Gamer
Nomenklatur für (Wurzel)Bäume
61
Blätter
Wurzel
innere Knoten
![Page 62: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/62.jpg)
Michael Gamer
Binäre Bäume und Codes
‣Ein Wurzelbaum mit der Eigenschaft, daß jeder Knoten genau zwei oder keinen Nachfolger hat heißt binärer Wurzelbaum ‣ Ist B ein Wurzelbaum, so definieren wir den Code
<B> dieses Baumes wie folgt: • Ist B ein einzelner Knoten (Blatt) so ist <B> := 01 • Hat B die Teilbäume B1, B2, … Bk so ist
<B> := 0<B1>< B2> … <Bk>1 Dabei werden die <Bi> lexikographisch (!) geordnet
62
![Page 63: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/63.jpg)
Michael Gamer
Code eines Baumes
63
01 01
0101 001011
010010110 1
![Page 64: Formale Grundlagen der Informatik - Michael Gamer · ‣Algorithmen und Datenstrukturen • T. Ottmann, P Widmeyer • Spektrum Verlag, 4. Auflage, 2002 2. Michael Gamer Literatur](https://reader034.vdokument.com/reader034/viewer/2022052519/5f13a49949f6aa443920ac64/html5/thumbnails/64.jpg)
Michael Gamer
Isomorphie von Bäumen (Algorithmus)
‣Sind zwei Bäume gegeben, so ist auf den ersten Blick oft nicht ersichtlich, ob diese identisch (isomorph) sind. Folgendes Verfahren stellt die Isomorphie von Bäumen fest:
• Die Bäume werden in spezieller Weise mit dem eben dargestellten Algorithmus codiert:
• Wir entfernen alle Blätter des Baumes, so lange, bis entweder nur ein Knoten (Fall 1), oder aber zwei Knoten übrig sind (Fall 2).
• Fall 1: ๏ <B> ist der Code des Baumes
• Fall 2: ๏ Wir entfernen die (letzte) Kante und codieren die beiden Teilbäume B1 und B2
๏ Sei o.E. |B1| < |B2| ๏ Dann ist <B> =0<B1><B2>1
๏ Bäume mit gleichen Code sind isomorph
64