Graphentheoretische Grundlagen

Werbung
Bauinformatik
Vertiefte Grundlagen
g
Graphentheorie
5. Semester
8. Vorlesung
G h th
Graphentheoretische
ti h Grundlagen
G dl
Prof. Dr.-Ing.
R J.
R.
J S
Scherer
h
Nürnberger Str. 31a
2 OG
2.
OG, Raum
R
204
Graphen im Bauwesen
•
•
•
•
•
•
Baumanagement (Netzplantechnik, kritischer Pfad)
Baustellensimulation (Petrinetze)
Prozessmodellierung (EPK)
Infrastrukturplanung (kürzeste Pfade)
Tragwerk (Kraftfluss)
Tragwerksversagen (Versagenspfade, Vers.-Mechanismus)
Graphen in der Informatik
•
•
•
•
•
•
BPEL-Prozesse
Datenstrukturen
Ontologiemodelle (OWL / RDF Graphen)
Entscheidungsbäume (Künstliche Intelligenz, KI)
Aufbau von Netzwerken
Aufbau eines geometrischen Körpers
2
Definition eines Graphen
Ein Graph ist eine Datenstruktur. Datenstrukturen sind als Graphen darstellbar.
E ist eine zweistellige Relation auf V: E ⊆ V x V
a
c
V={a,b,c,d,e}
Knoten
(Vertex,,
Nodes)
G={ V,E }
d
b
E={(a,b)
E
{(a,b) , (b,a) , (b,d) , (d,b) ,
(c,d) , (d,c) , (d,e) , (e,d)}
Kanten
(Edges)
e
3
Arten von Graphen
•
Endliche Graphen:
G={ V , E },
•
Zusammenhängende Graphen:
∀ vi,vj = Mindestens ein Pfad existiert zwischen allen beliebigen Knotenpaaren
1.
Zyklische Graphen
exklusiv
kl i zyklisch
kli h
e.g. Gründstücksplan
2.
Zusammenhängend ohne Zyklus:
Baum
e.g. Flusssystem,
V= Vertex, E=Edge
•
V ll tä di
Vollständiger
G h Jeweils
Graph:
J
il eine
i Kante
K t besteht
b t ht zwischen
i h beliebigen
b li bi
K t
Knotenpaaren
•
Ebene Graphen: alle Kreuzungspunkte der Kanten sind Knoten
•
Nicht-ebene Graphen: nicht alle Kreuzungspunkte der Kanten sind Knoten
Achtung: ∀Knoten= Punkte,
Punkte aber ∀ Punkte ≠ Scheitelpunkte;
das bedeutet eine Kante kann ein Polygon sein
4
Gerichteter Graph
Einfacher,
gerichteter Graph.
Kanten hier:
„gerichtete Kanten“,
Kanten ,
Bögen oder
Dikanten.
5
Ungerichteter Graph
6
Ungerichteter Graph
Ungerichteter
Graph mit
Mehrfachkanten,
auch „Multigraph“.
7
Zusammenhängender Graph
•
Stark zusammenhängend
•
Schwach zusammenhängend
stark
8
Unzusammenhängender Graph
A
B
C
M = {A,B,C}
= U(A,B,C)
da gilt: ∀ ∩ (A,B) etc = ∅
9
Graphentheoretische Grundbegriffe
Knoten
Kante
B
B
B
Hyperkante
A
D
F
A
A
C
E
E
D
G
Punkt
F
C
Graph
Hypergraph
C
Multigraph
10
Graphentheoretische Grundbegriffe
Gerichtete Graphen
B
B
D
A
A
C
E
G
F
B
D
A
C
E
G
F
Maschen
Pfad A-C-E-G
11
Bäume
Baum: zusammenhängender und maschenfreier Graph
Wurzel
B
A
A
F
C
B
C
E
E
G
F
G
D
H
I
J
K
D
Blätter
U
Ungerichteter
i ht t B
Baum
G
Gewurzelter
lt Baum
B
12
Bipartite Graphen
Ein einfacher Graph G = (V,E) (V Menge der Knoten, E
Menge der Kanten) heißt in der Graphentheorie bipartit
(auch paar), falls sich seine Knoten in zwei disjunkte
Teilmengen
g A und B aufteilen lassen, sodass zwischen
den Knoten innerhalb beider Teilmengen keine Kanten
verlaufen. Die Menge {A, B} bezeichnet man dann als
Bipartition des Graphen G.
G
Der Graph G heißt vollständig bipartit, falls eine Bipartition
{A,B} existiert, für die für jedes Paar (a,b) eine Kante {a,b}
existiert
existiert.
A
B
Beispiel:
B
i i l
Neuronales Netzwerk
13
Bewertete Graphen
•
Der Algorithmus zur Suche nach dem kürzestem Weg zwischen zwei
vorgegeben Orten entwickelt einen Baum
14
Teilgraph, Partialgraph
•
Ein Teilgraph…..
15
Grad eines Knotens
16
Topology
Topologie ist die Beschreibung der Anordnung
Die Topologie beschreibt:
1. Die g
geordneten Beziehungen
g
2. Die Nachbar-Beziehungen
3. Die Aggregation
Topologie ist bspw. die geometrische Beschreibung ohne Maßinformationen
17
Beispiel: Topologische Darstellung eines Graphen
Gegebene Situation
Grundstücksplan
((Graph)
p )
1
A1
3
A8
7
A2
2
R11 A3
A4
A5
R12
A7
4
R21
A10
A9
8
R22
A11
Begrenzungsdarstellung
(Topology)
Geo-Objekt
G
O
Grundstücksplan
0
5
R11
A6
R12
R21
Immobilien
R22
6
A12
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
Kanten
9
1
2
3
4
5
6
7
8
9
Eckpunkte
18
Beispiel: Topologische Darstellung eines Würfels
S1, S2 – Base and top area
S3...S6 – Side area
E1...E12 – Edges
V1...V8 - Vertices
Geo-Objekt
Würfel
Flächen
Kanten
Punkte
Koordinaten
19
Graphen – Nutzen
Mit einem Graphen ist es möglich die prinzipielle Struktur eines Systems
ƒ Darzustellen
ƒ auf Vollständigkeit zu prüfen
ƒ auf Konsistenz zu prüfen
ƒ Variationen gezielt zu bilden und zu verwalten
Beispiel: Tragsystemfindung
Geg: Gebäudegeometrie durch Architekten
G optimales
Ges:
ti l Tragsystem
T
t
Lösg: 1) Alle Bauelemente sind tragende Elemente und (vereinfacht) als Stäbe
abbildbar, Stäbe = Kanten
2) die
di Verbindungsstellen
V bi d
t ll der
d Stäbe
Stäb = Knoten
K t
3) Optimales Tragsystem ist ein Variationsproblem in dem alle Stäbe als
Nullstäbe (nichttragend), mit unterschiedlichen Festigkeiten, mit
unterschiedlichen Verbindungen,
Verbindungen d.h.
d h als gewichtete Kanten in allen
mögl. Kombinationen untersucht werden. Dieser Lösungsweg wäre
heute auf Basis der Graphentheorie und der Computerpower lösbar. Es
g ((1-2)) Jahren
wurde aber noch nicht versucht, da erst seti wenigen
möglich. Tragsystemvariation ist noch ein wenig untersuchtes Problem.
20
Adjazenz
Adj
Adjazenz
= Beziehung
B i h
zwischen
i h Elementen
El
gleichen
l i h Types,
T
wobei
b i die
di Beziehung
B i h
durch einen anderen Elementtyp definiert ist.
{
{vertices
i
: edge}
d } z.B.
B
{edges : vertex} z.B.
1
a
a 1 b
d c
2
= a:(1,2)
(1 2)
= 1:(a,b,c,d)
21
Inzidenz
I id
Inzidenz
= Beziehung
B i h
zwischen
i h Elementen
El
von verschiedenen
hi d
T
Typen
{edges – vertices} z.B.
= {(a,1),(a,2)}
2
1
a
{vertices - edges} z.B.
= {(1,a),(1,b), (1,c),(1,d)}
a 1
b
d c
22
Repräsentation durch Matrizen
Inzidenz-Matrix B: Kanten-Knoten
B (j,i) = 1
wenn Kante j von Knoten i kommt i
B (j,i)
(j i) = -1
1
wenn Kante
K
j in
i Knoten
K
I endet
d
sonst: B (j,i) = 0
J
J
i
Æ Adjazenz-Matrix A: Knoten-Kanten
A = BTB
A (j,j) …
Anzahl der Kanten welche sich in
Knoten j treffen
A (j,i) = -1
wenn verbunden j,i an Kante
sonst: A (j,
(j,i)) = 0
Bemerkung: die Matrizen können sehr groß werden
23
Beispiel: Darstellung durch Matrizen
Beispiel: Grundstück
1
b
a
edge
5
g
125
f
4
c
2
126
d
a
b
c
d
e
f
g
e
6
3
t t
startnode
1
1
2
2
3
4
5
endd
node
4
5
5
3
6
6
6
Bemerkung: Knoten sind nummeriert nach der minimalen Distanz
nodes
⎡1
edges
⎢
⎢1
⎢0
⎢
B = ⎢0
⎢0
⎢
⎢0
⎢
⎣0
nodes
0
0
−1
0
0
0
1
0
1
0
−1
0
1
0
0
0
1
0
0
0
0
0⎤
⎥
0⎥
−1 0 ⎥
⎥
0 0⎥
0 −1⎥
⎥
−
0
1⎥
1 −1⎥⎦
0
−1
nodes
⎡2
0
0 − 1 −1 0 ⎤
⎢
⎥
−1 0 −1 0
0
2
⎢
⎥
⎢ 0 −1 2
0
0 − 1⎥
A =⎢
⎥
−
−
0
2
0
1⎥
⎢ 1 0
⎢ −1 −1 0
0
3 − 1⎥
⎢
⎥
⎢⎣ 0
0 −1 − 1 −1 3 ⎥⎦
24
Repräsentation von Graphen
Alternative Definition der Adjazenzmatrix
(=Ordnungszahl, z.B. 0,1,2,..)
25
Nachbarschaftsbeziehungen
26
Consistency Check
Most dangerous for databases are errors.
Errors are introduced by the users.
Therefore it is important to check the database continuously about ist consistency.
The topological relationships provide several consistency rules.
27
Konsistenzregeln in allgemeinen ebenen Graphennetzwerken
1.) Inzidenz eines Knotens zu allen seiner Kanten
2.) Inzidenz einer Kante zu ihren beiden Endknoten
3) Adjazenz eines Knotens zu allen Nachbarknoten
die über eine Kante mit ihm verbunden sind
4) Adjazenz einer Kante zu allen Nachbarkanten
die im selben Knoten enden
28
Konsistenzregeln in ebenen Graphennetzstrukturen
1)
2)
3)
4)
5)
Inzidenz eines Knotens zu allen Matsche dessen Teil er ist
Inzidenz einer Kante zu allen Netzen dessen Teil sie ist (max. 2)
Inzidenz eines Netzes zu allen seinen Knoten
Inzidenz eines Netzes zu allen seinen Kanten
Adjazenz eines Netzes zu allen seinen Nachbarnetzen, welche mindestens eine
gemeinsame Kante enthalten
Und die 4 Konsistenzregeln in allgemeinen Netzwerken.
Netzwerken
29
Eulersche Gesetze für Ebene Graphen
Für ebene Graphen gilt nach
Euler:
Beispiele:
Modell
p
l
f
p-l+f
1
0
1
2
p–l+f=2
2
1
1
2
p = Anzahl der Knoten
l = Anzahl der Kanten
f = Anzahl der Flächen
3
2
1
2
3
3
2
2
4
3
1
2
4
4
2
2
4
5
3
2
4
6
4
2
30
Konsistenzregeln für Ebene Graphen
1) Alle Kanten in ebenen Graphen sind entweder disjunkt oder sie schneiden sich
in g
gemeinsamen Knoten
2) Alle Netze (Maschen) in ebenen Graphen sind entweder disjunkt oder sie
schneiden sich in gemeinsamen Kanten
3) Jede
J d Flä
Fläche
h weist
i t eine
i gleiche
l i h Anzahl
A hl an Knoten
K t undd Kanten
K t auf.
f Die
Di
Mindestanzahl ist 3.
31
Consistency Rules of Nonplanar Graphs
Model
1) Generalised Euler‘s rule
p
l
f
p-l+f
4
5
1
0
4
6
2
0
4
6
2
0
5
9
2
-2
5
10 3
-2
p–l+f≤2
2) The number of edges is
l ≤ p (p-1) / 2
32
Traversieren von Graphen
33
Herunterladen