• Keine Ergebnisse gefunden

Kap. 2.2 Repräsentation von Graphen

N/A
N/A
Protected

Academic year: 2022

Aktie "Kap. 2.2 Repräsentation von Graphen"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

1

Kap. 2 Graphen

Kap. 2.1 Netze

Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen für DB-Trans- aktionen

Abstraktion von Netz = Graph

• Knoten: k1, k2, ..., ki, ... kn

• Kanten zwischen je 2 Knoten

Edge e = (k1, k2) ∈ Ε: binäre Relation

k1 k2

2

Varianten von Netzen und Graphen (Komplikationen) 1. Richtung: gerichtete bzw. ungerichtete Kanten

Fall 1: — Kurzschreibweise für d.h. E ist symmetrisch:

(k1, k2) ∈E (k2, k1) ∈E (implizit) Fall 2: — ist ungerichtete Kante

(k1, k2)

d.h. E ist symmetrisch mit zusätzlicher Äquivalenzrel. ≡s: (k1, k2) ≡s(k2, k1), Kanten sind E / ≡s= E

(k1, k2) (k1, k2)

(2)

3

2. Bewertung von Kanten

für gerichtete und ungerichtete Kanten, z.B.:

• Transportkapazität: Baud, m3/s

• Länge

• Geschwindigkeit

• Reisezeit

• Mautkosten, Flugkosten, Fahrkartenpreis

• allg.Prädikate und Strukturen 3. Multikanten:

z.B. Flüge, Züge mit mehrfachen Markierungen, i.a. beliebig komplexe Zusatzinfo:

Mü Fr

Flugges. Flug# Abfl. Gate Ank. Masch.Kap.

LH 451 7:45 A3 8:30 A310 240

LH 461 8:45 A4 9:30 737 130

4

4. Markierung von Knoten

Fr Umsteigezeit: national 45 min.

international 70 min.

5. Hypernetze

z.B. zur Repräsentation von Verbindungsbedingungen für Wegekonstruktion, Komposition von Petri-Netzen

(3)

5

Kap. 2.2 Repräsentation von Graphen

1. Zeichnung, Bild: siehe Beispiele 2. Adjazenz matrix:

für spezielle Probleme bei gerichteten und ungerichteten Graphen, z.B.:

• Stützgraph: Zyklenfreiheit (Warshall)

• Komm. Netz: Erreichbarkeit

• Verkehrsnetze: kürzeste Wege Knotennamen: 1, 2, ..., n oder Hilfsstruktur Boolsche Edge-Matrix EM [1:n, 1:n]

EM[i,j] = true ⇔ e = (ki, kj) ∈E

6

Algorithmen:

Varianten der Matrixmultiplikation, z.B.

Erreichbarkeit: ki→kj→kl

Struktur wie

] , [ ]

, [ V ] , [ : ] ,

[ 1

2i l EM i l EM i j EM j l

WM n

j

= =

Wegematrix WMl

für Wege der Länge ≤l:

WM2: = EM + EM2 WM4: = WM2+ WM22 WM2i: = WM 2i-1+ WM22i-1

= n

j EM i j EM jl 1 [, ]* [ , ]

(4)

7

Wege sind höchstens von Länge n, d.h.

log2n Matrix-Multiplikationen der Komplexität n3für n Knoten.

Zeitkomplexität: O(n3log n)

Laufzeit für n = 106(Internet)?

Optimierung:

WM2[i,l] := if EM [i,l] then true else

Platzkomplexität: O(n2) für n = 106 125 GB

l]

EM[j, j]

EM[i, Vn

1

j

8

3. Knoten- und Kantenmengen:

Knoten = (ki, Knoteninfo) oder (i, Knoteninfo)

mit Zugriffsstruktur über ki Kante = (ej, kj1, kj2, Kanteninfo)

mit Zugriffsstruktur über (ei, kj1, kj2) 4. Hybride Repr. nach Bedarf

z.B. für Spannbaum-Berechnung

(5)

9

Knotenzustände: unbearbeitet ~ 0

erreicht ~ 1 bearbeitet ~ 2 mit charakteristischen Funktionen, Mengen, Listen, etc.

Notation: Ku: unbearbeitete Knoten Ke : erreichte Knoten Kb: bearbeitete Knoten

10

Alg. für Spannbaum: mit Knotenmenge K {alle Knoten unbearbeitet}

Ku: = K; Ke: = Kb: = ∅ select k ∈Ku; Ku : = Ku \ {k};

Ke : = Ke ∪{k}; {k ist erreicht}

while Ke ≠ ∅ do

select k ∈Ke

;

Ke : = Ke\ {k};

Kb: = Kb∪{k}; {k ist bearbeitet}

verfolge alle Kanten e von K aus:

if Endknoten k`von e ∈Ku

then begin Ku: = Ku\ {k`};

Ke: = Ke ∪{k`};

e zu Spannbaum end

od.

(6)

11

Operationen:

auf Ke : select, delete, insert auf Ku : select, delete, find

auf Kb : insert

auf Kantenmenge: find ej mit kj1geg.

delete ejoder bearbeite jede Kante zweimal

12

Variante 4.1: Charakteristische Funktion für Ku, Ke, Kb

Knotenfeld für Zustände 0, 1, 2:

1 n

Analyse: while n-mal durchlaufen select k ∈Keist O(n) Alg. mindestens von O(n2)

(7)

13

Variante 4.2: Wie 4.1, aber zusätzlich Liste für Ke:

selectk∈Keist jetzt O(1)

Komplexität dominiert durch Kantenverarbeitung, z.B.

pro Knoten eigene Kantenliste

- Sortierung der Kantenmenge oder

- Zugriffstrukturen für Kantenmenge für find O (m log m) bei m Kanten

14

Variante 4.3:Ku als Baum, z.B. AVL;

Keals Liste

Knotenbearbeitung: O (n log n) Kantenbearbeitung: wie 4.2

Lemma: Spannbaum hat n-1 Kanten

Bew: Übung

Offenes Problemin Alg.:

Darstellung des Spannbaumes;

hier nur als Kantenmenge

(8)

15

Platzkomplexität: bei Varianten

3 und 4 dominiert durch Kantenzahl, praktischO(n) z.B. Kanten als Listen von Folgeknoten:

Für jeden Knoten k:

Falls (k, k1), (k, k2), ..., (k, ke) ∈E

i.e. Zeilenrepr. in dünn besetzter Adj.Matrix. Erforderliche Listenoperationen?

Speicherbedarf bei d Kanten pro Knoten: n • d • 8 Bytes für n = 106, d = 3 : 24 MB

Vergleich zu Adjazenzmatrix:

125 GB

24 MB ≈ 5000 Verbesserungsfaktor

k : k1 k2 kl nil

•••

16

Ausgesparte Probleme:

- Flüsse - Wegesuche - Planarität - Färbung

Siehe Spezialvorlesung Optimierung

Graphentheorie

Referenzen

ÄHNLICHE DOKUMENTE

zur Repräsentation von Verbindungsbedingungen für Wegekonstruktion, Komposition von Petri-Netzen... 2.2 Repräsentation

I doppelt verkettete Liste von Ecken oder Kanten (Angabe der Durchquerungsrichtung wichtig) Vereinbarung: Kante e i = (v i , v i+1 ). Transformation der einfach in eine

gar noch weiter zugespitzt werden: Besonders interessant sind für einen Zugang, der Menschen der Vergangenheit zutraut, dass ihre religiöse Selbstauslegung in irgendeiner Weise

Die Wissensbasis wird dem Lernenden in Form eines semantischen Netzes, bestehend aus Knoten und semantischen Verknüpfungen zwischen diesen, als interaktive, lokale

Für die Gestaltung öffentli- cher Räume, die Planung des Schulunterrichtes, die Durchführung von Quartiersmanagement und die Organisation der Denkmalpflege gilt glei- chermaßen:

Die Prozedur Tiefensuche wird dann solange mit einem weiß gefärbten Knoten aufgerufen, bis es keine weiß gefärbten Knoten mehr gibt... Wir müssen zeigen, dass die Nummer von u

Werner Sesink – Institut für Allgemeine Pädagogik und Berufspädagogik.. 6.1 Präsentation

zeichnet seit 1945 insgesamt 716 Buchtitel, die den Begriff Kompetenz enthalten.. und im Jahr 2001 60 Titel.1 2 Die Tendenz ist also besonders in jüngster Zeit stark steigend.