Grundlagen der Graphentheorie für formale Strukturmodelle

Werbung
Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik
Grundlagen der Graphentheorie
für formale Strukturmodelle
VL CAE-PA
SS 2013, 18.06.2013
Professur für Prozessleittechnik
Übersicht
• Strukturmodelle
• Einführung Graphen - Allgemeine Definitionen
• Optimierung – Einsatz für Graphen
• Graphenmanipulation - Graphersetzungssysteme
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 2
Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik
Strukturmodelle
Wiederholung Vorlesung
Grundlagen der Informationsmodellierung
Modellierte Aspekte
[Kastens 2008]
• Struktur
 Zusammensetzung des Originals aus Bestandteilen
• Eigenschaften
 von Teilen des Originals
• Beziehungen
 zwischen Teilen des Originals
• Verhalten
 des Originals bei Operationen
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 4
Strukturmodelle
• Struktur
 Zusammensetzung des Originals aus Bestandteilen
 Aufbau eines Systems aus seinen Elementen
• Strukturmodelle
 Beschreibung und Darstellung von Strukturen
 Veranschaulichung, Illustrierung
 Daten- und rechentechnische Behandlung – formale Strukturmodelle
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 5
Strukturmodelle – Vertreter
• Hierarchische Strukturmodelle
[http://www.recherchieren.org]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 6
Strukturmodelle – Vertreter
• Teil von… Strukturmodelle
UML - Kompositionsstrukturdiagramm
[http://de.wikipedia.org]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 7
Strukturmodelle – Vertreter
• Zuordnungsstrukturmodelle
Edukt A
Maschine 1
Produkt I
Edukt B
Produkt II
Edukt C
Maschine 2
Produkt III
Edukt D
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 8
Strukturmodelle – Vertreter
Enterprise
• phys. Modell der IEC 61512
Site
Process Cell A
Area
Unit U1
Unit U2
Unit U3
Process Cell
Equipment Modul E1
Equipment Modul E2
E3
E4
E5
Unit
Control Modul C1
Control Modul C2
C3
C4
C5
C6
C7
Equipment
Modul
Control
Modul
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 9
Strukturmodelle – Vertreter
• Daten hinter einem Rohrleitungs- und Instrumentenfließbild
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 10
Strukturmodelle – Vertreter
• Kommunikationsnetzwerke
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 11
Strukturmodelle – Vertreter
• Petrie-Netze
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 12
Strukturmodelle – Vertreter
• Daten hinter PLT-Funktionsplänen
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 13
Strukturmodelle
• Struktur
 Zusammensetzung des Originals aus Bestandteilen
 Aufbau eines Systems aus seinen Elementen
• Strukturmodelle
 Beschreibung und Darstellung von Strukturen
 Veranschaulichung, Illustrierung
 daten- und rechentechnische Behandlung – formale Strukturmodelle
• Strukturmodelle werden häufig als Graphen abstrahiert
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 14
Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik
Einführung Graphen Allgemeine Definitionen
Graphen
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 16
Graphen
„Die grossartige Schönheit eines Graphen besteht darin, dass er
unklare, schwer durchschaubare Rätsel auf ein wunderbares Ding
aus Linien und Knotenpunkten reduzieren kann.“
(D. Olivastro. Das chinesische Dreieck: die kniffligsten mathematischen Rätsel aus 10000 Jahren.
Droemer Knauer, München, 1995, S.273)
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 17
Graphen - Allgemeine Definitionen
• Ein Graph G ist ein geordnetes Paar G=(V, E)
 V ist die Menge der Knoten - V = (v1,...,vn)
 Ecken bzw. Vertex
 (gleichartigen) Objekten
 E ist die Menge der Kanten - E = (e1, ..., em)
 Pfeile bzw. Edges
 Beziehung zwischen je zwei Objekten
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 18
Graphen - Allgemeine Definitionen
a
• Knotenmenge
V = {a, b, c, d}
c
b
d
• Kantenmenge
E = {(a,b), (a,c), (a,d), (a,b), (c,a), (b,b), (b,d), (d,c)}
• Anzahl der Knoten n := |V|
• Anzahl der Kanten m := |E|
• Endlicher Graph
 Der Graph G heißt endlich, wenn sowohl die Knotenmenge V als auch die
Kantenmenge E endlich sind
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 19
Graphen - Allgemeine Definitionen
• Ein gerichteter Graph G ist ein Quadrupel G=(V, E, α, ω)
 α, ω sind Abbildungen der Kanten auf die Knoten
 α: E  V und ω : E  V
 α(e) ist die Anfangsknoten und ω(e) ist die Endknoten von e
• Schlinge
 Eine Kante e ∈ E heißt Schlinge, wenn α(e) = ω(e)
 Ein Graph heißt schlingenfrei, wenn er keine Schlingen enthält.
a
c
b
d
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 20
Graphen - Allgemeine Definitionen
a
• Parallele Kanten
b
 α(e) = α(e‘)
d
c
 ω(e) = ω(e‘)
a
• Inverse/Antiparallele Kanten
 α(e) = ω(e’)
d
c
 ω(e) = α(e’)
a
• Einfacher Graph
 Keine Schlingen und keine Parallelitäten
c
• Ungerichteter Graph
 Spezialform des gerichteten Graphs
 Jeweils inverse Kanten
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
b
CAE@PA - Einführung Graphentheorie
b
d
a
c
b
d
Folie 21
Graphen - Allgemeine Definitionen
• Inzidenz
 Ein Knoten v und eine Kante e heißen inzident, wenn v entweder Anfangsoder Endknoten von e ist, also v ∈ {α(e), ω(e)} gilt
 Zwei Kanten e und e‘ heißen inzident, wenn es einen Knoten v gibt, der mit
e und e‘ inzidiert.
• Adjazenz
 Zwei Knoten v und v‘ heißen adjazent oder benachbart, wenn es eine
Kante e ∈ E gibt, der zu v und v‘ inzident ist.
a
c
b
d
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 22
Graphen - Allgemeine Definitionen
• Adjazenzmatrix – Graphenspeicherung
 nxn-Matrix A(G) – Nachbarschaftsbeziehungen
A(G) =
Endknoten zu Knoten
Anfangsknoten zu Knoten
a
aij
c
b
0 2 1 1
A(G) =
d
0 1 0 1
1 0 0 0
0 0 1 0
 ungerichtete Graphen haben symmetrische Adjazenzmatrix
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 23
Graphen - Allgemeine Definitionen
• Markierung
 Markierungsalphabet C
 Zuweisung einer Markierung zu jedem Knoten
 Abbildung m: V  C
 Auch: Benennung, Typisierung
• Distanz
 Entfernung/Bewertung D
a
 Zuweisung einer Entfernung zu jeder Kante
 Abbildung m: E  D
Urbas/Doherr/Graube © 2013
9
b
2
7
c
CAE@PA - Einführung Graphentheorie
4
d
1
Folie 24
Graphen - Allgemeine Definitionen
• Definition - Isomorphie
 Zwei Graphen
G = (V, E, α, ω) und
G‘ = (V‘ , E‘ , α‘ , ω‘) heißen isomorph,
wenn es zwei bijektive Abbildungen
 σ : V → V‘
 τ : E → E‘
 mit folgenden Eigenschaften gibt. Für jedes e ∈ E gilt:
 α‘(τ(e)) = σ(α(e))
 ω'(τ(e)) = σ(ω(e)).
• Schreibweise G≃G‘
[nach Krumke, Noltemeier]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 25
Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik
Optimierung – Einsatz für
Graphen
Kombinatorische Optimierung
• spezielle Form der ganzzahligen Optimierungsprobleme
•
zulässiger Bereich der Zielfunktion nur eine endliche Menge von
Punkten
•
Kern: Anordnung, Zuordnung und Verbindung dieser Punkte
•
Beispiele:
•
Auswahl- und Verteilungsprobleme (Rucksackproblem)
•
Zuordnungsprobleme (Stundenplan)
•
Reihenfolgeprobleme (Rundreise, Maschinenbelegung,
Tourenplanung)
•
Gruppierungsprobleme
[Benker 2003]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 27
Kombinatorische Optimierung
•
Lösung durch Enumeration aller Lösungen möglich, aber bereits bei kleinen
Mengen sehr zeitaufwendig
•
Anzahl der Lösungen hängt meist exponentiell von der Anzahl der
Grundmengenelemente ab
z.B.: bei 40 Elemente  2n  240 = 1 099 511 627 776  1 msec pro
Lösung  mehr als 12 Tage)
•
„Das Ziel der kombinatorischen Optimierung besteht — kurz und
vereinfachend gesagt — darin, Algorithmen zu entwerfen, die (erheblich)
schneller als die Enumeration aller Lösungen sind.“ [Grötschel 2012, S. 38]
•
viele kombinatorische Optimierungsprobleme lassen sich mittels Graphen
abstrahieren und modellieren
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 28
Kombinatorische Optimierung
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 29
Kombinatorische Optimierung
• Fragenstellungen der Graphentheorie
•
Königsberger Brückenproblem (Euler 1736)
•
Abstraktion des Stadtplans in Graphen
•
Frage: Existiert ein geschlossener Weg über die sieben Brücken
von Königsberg, bei dem jede Brücke nur einmal benutzt wird?
 Eulertour: Ein Graph besitzt eine Eulertour, wenn er
zusammenhängend und eulersch ist.
•
„Ein ungerichteter Graph G heißt eulersch, falls jeder Knoten
geraden Grad hat (δ(v)). Ein Digraph G heißt eulersch, falls |δ-(v)|
= |δ+(v)| für v ∈ V(G)“. (Digraph – gerichtetet Graph)
A
Urbas/Doherr/Graube © 2013
B
D
C
[Korte u. Vygen 2012]
[Grötschel 2012]
Folie 30
Kombinatorische Optimierung
• Grundlegende Fragenstellungen der Graphentheorie
•
Hamiltonsche Wege und Kreise
•
„erweitertes Königsberger Brückenproblem“
•
Ein Weg in einem Graph ist hamiltonisch, wenn jede
Knoten v nur einmal durchlaufen wird. (Kreis analog)
•
„Das hamiltonische Graphen-Problem hat sich später
zum Travelling-Salesman-Problem “entwickelt“.”
[Grötschel 2012 , S. 39]
[Grötschel 2012]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 31
Kombinatorische Optimierung
• Detaillierte Fragenstellungen der Graphentheorie
•
•
Ermittlung der kürzesten Wege
•
SPP (Single Pair Shortest Path Problem)
•
SSP (Single Source Shortest Path Problem)
•
APSP (All Pairs Shortest Path Problem)
Länge (Gewicht) eines Weges ist die Summe aller Kantenlängen
Urbas/Doherr/Graube © 2013
[Krumke u. Noltemeier 2012]
Folie 32
Kombinatorische Optimierung
• Detaillierte Fragenstellungen der Graphentheorie
•
Ermittlung der kürzesten Wege Algorithmus von Dijkstra – findet
SSP und Aussage über Erreichbarkeit
•
∞
20
0
A
B
20
10
D
∞
20
20
0
A
B
20
10
D
10
„Wellenfront – Strategie“ - Weiterverfolgung der Kante, die den
nach [Domschke u. Drexl 1991, S.63]
kürzesten Weg vermuten lässt
20
C
35
50
20
20
0
A
10
∞
20
0
10
E
55
D
10
20
40
C
B
20
10
E
35
50
20
∞
A
B
20
10
D
10
20
C
35
50
20
20
0
A
10
∞
40
C
E
50
D
10
20
20
0
10
B
20
10
E
35
50
20
∞
A
B
20
10
D
10
20
40
C
35
50
20
10
E
55
40
C
35
50
10
E
50
Folie 33
Kombinatorische Optimierung
• Detaillierte Fragenstellungen der Graphentheorie
•
Traveling Salesman Problem – kürzester geschlossener Weg (Kreis),
bei dem jeder Knoten nur einmal vorhanden ist
•
sehr intensiv bearbeitetes Problem mit vielen verschiedenen exakten
und heuristischen Lösungsverfahren
•
Branch and Bound
•
Ameisenalgorithmen (Schwarmintelligenz)
•
genetische Algorithmen
•
künstliche neuronale Netze
•
Simulated Annealing
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
[Dorigo u.a. 2006]
Folie 34
Kombinatorische Optimierung
• Detaillierte Fragenstellungen der Graphentheorie
•
weitere Problemstellungen
•
Standortprobleme – p-Center Problem
•
Färbung
•
Cliquen, Clustering
•
Matchingprobleme
•
…
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
[Krumke u. Noltemeier 2012]
Folie 35
Fakultät ETIT, Institut für Automatisierungstechnik, Professur für Prozessleittechnik
Graphenmanipulation
Graphmanipulationen
 Graphen müssen nicht statisch sein
 Wenn Systeme als Graph ausgedrückt werden ist es naheliegend
Manipulationen an ihnen als Graph-Transformationen auszudrücken.
 Graphersetzungssysteme werden zur Manipulation verwendet
 Auch: Graph Grammars, Graph Transformation Rules
 Mögliche Graphmanipulationen
 Grapherzeugung
 Modelltransformationen
 Ändern von Zuständen
 Berechnungen
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 37
Graphmanipulationen
 „Klassischer“ Einstieg – Pacman als Graph
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 38
Graphmanipulationen
 „Klassischer“ Einstieg – Pacman als Graph
CAE@PA - Einführung Graphentheorie
Folie 39
Graphmanipulationen
 „Klassischer“ Einstieg – Pacman als Graph
Regel MovePacman in Aktion
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 40
Graphmanipulationen
 Übergang Verfahrensfließbild  R&I-Fließbild
PI
Pumpe P029 A
PI
1290
1289
Pumpe P029
Pumpe P029 B
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 41
Graphmanipulationen
L⇒R
L
R
G
G
 Regelbasierte Transformation
 Eine Regel beschreibt lokale Änderungen im Graphen
 Wenn die Regel angewendet wird, werden Vorkommen von L im Graphen G
durch R ersetzt
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 42
Graphmanipulationen
 Graphersetzungsregel
1.Wähle eine Graphersetzungsregel p:L R
2.Wähle eine Abbildung von L in G => f(L)
3.Ersetze dieses Vorkommen durch die
Abbildung von R in G => g(R)
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 43
Graphmanipulationen
 Graph Transformation
Graph Transformation G  H
1.
2.
3.
4.
5.
Wähle Produktion p: L  R
Prüfe Bedingung für Produktionsregel
Entferne von G den Teil von L der nicht in R vorkommt  D
Klebe R-L an D an  E
Zusätzliche Einbettungsverknüpfungen in E falls vorhanden  H
[Ehrig et.al. 2006]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 44
Graphmanipulationen
 Probleme bei Graph Transformationen
 Können nicht-deterministisch sein
 Mehrere Produktionsregeln anwendbar
 Mehrere Passungen einer Produktion
 Einschränkungen notwendig
 Kontrollflussregeln
 Prioritäten
 Verschiedene Ansätze
 SPO - Single Push-Out, DPO – Double Push-Out
 TGG - Triple Graph Grammar
[Ehrig et.al. 2006]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 45
Graphmanipulationen
 Graph Transformationen - Ansätze
 SPO - Single Push-Out
 Löschen von Kanten und Knoten hat Vorrang vor Erhaltung
 DPO – Double Push-Out
 Klebegraph K als Untergraph von L und R
 Kontaktbedingung
 L darf nur durch Knoten und Kanten aus K mit dem Rest des Graphen
verbunden sein
 Identifikationsbedingung
 Kein Knoten, der gelöscht wird (also aus L−K), darf Quell- oder Zielknoten einer
Klebekante sein
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 46
Graphmanipulationen
 Definition Graphersetzungsregel
Eine Graphersetzungsregel für DPO hat die Form
r = (L ⊇ K ⊆ R)
wobei L, K und R Graphen über C sind.
L heißt linke Seite,
R rechte Seite und
K der Klebegraph von r
C Markierungsalphabet
[Habel 2004]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 47
Graphmanipulationen
Graph G
 Anwendungsbeispiel
a
Regel r = (
1
2
3
⊇
b
1
c
3
⊆
1
1
2
3
g1
a
a
b
g2
a
b
c
g3
b
c
b
g4
c
b
c
3
)
[Graul 2005]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 48
Graphmanipulationen
Diagrammdarstellung
L
Regel r = (
1
2
L
K
3
⊇
⊇
↓g
G
R
1
3
K=L ∩ R
⊆
1
⊆
↓ d=g∩h
⊇
D
3
)
R
↓h
⊆
H
[Graul 2005]
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 49
Graphmanipulationen
Graph G
Möglichkeit g1
a
b
L
Regel r = (
1
2
c
K
3
⊇
R
1
3
⊆
1
3
b
G
Urbas/Doherr/Graube © 2013
c
⊇
b
c
⊆
D=G-g(L-K)
?
b
G a a b
L-K: a
Verletzt die Identifikationsbedingung
a
)
r 1 2 3
c
R-K:
H=D+h(R-K)[Graul 2005]
CAE@PA - Einführung Graphentheorie
Folie 50
Graphmanipulationen
Graph G
Möglichkeit g1
mit SPO
a
b
c
L
Regel r = (
R
1
2
3
a
b
c
G
Urbas/Doherr/Graube © 2013
1
3
b
)
r 1 2 3
G a a b
c
H
CAE@PA - Einführung Graphentheorie
[Graul 2005]
Folie 51
Graphmanipulationen
Graph G
Möglichkeit g2
a
L
Regel r = (
1
2
b
c
K
3
⊇
1
R
3
⊆
1
3
b
G
Urbas/Doherr/Graube © 2013
c
⊇
a
?
c
⊆
D=G-g(L-K)
a
G a b c
L-K:
Verletzt die Kontaktbedingung
a
)
r 1 2 3
?
c
b
R-K:
H=D+h(R-K)[Graul 2005]
CAE@PA - Einführung Graphentheorie
Folie 52
Graphmanipulationen
Graph G
Möglichkeit g3
a
L
Regel r = (
1
a
2
b
G
Urbas/Doherr/Graube © 2013
b
c
K
3
c
⊇
⊇
1
a
R
3
b
⊆
⊆
D=G-g(L-K)
1
3
a
b
)
r 1 2 3
G b c b
L-K:
c
R-K:
b
H=D+h(R-K)[Graul 2005]
CAE@PA - Einführung Graphentheorie
Folie 53
Graphmanipulationen
Graph G
Möglichkeit g4
a
L
Regel r = (
1
2
b
c
K
3
⊇
1
R
3
⊆
1
3
b
G
Urbas/Doherr/Graube © 2013
c
⊇
a
?
c
⊆
D=G-g(L-K)
a
G c b c
L-K:
Verletzt die Kontaktbedingung
a
)
r 1 2 3
?
c
b
R-K:
H=D+h(R-K)[Graul 2005]
CAE@PA - Einführung Graphentheorie
Folie 54
Graphmanipulationen
 „Klassischer“ Einstieg – Pacman als Graph
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 55
Graphen – Einsatz an der Professur
Kommunikationsengineering
Integriertes HMI Engineering
Modulares Engineering
Linked Data = RDF + HTTP + URI/IRI +
Open-World-Assumption +
SPARQL + Ontologien
Folie 56
Literatur
•
•
•
•
•
•
•
•
•
Kastens, U., Kleine Büning, H. (2008). Modellierung: Grundlagen und formale Methoden. Hanser
Fachbuchverlag. Retrieved from http://books.google.de/books?id=v-xywxpQNsoC
Krumke, S.O., Noltemeier, H., 1998. Graphentheoretische Konzepte und Algorithmen, 2.,
aktualisierte Auflage. ed. Vieweg+ Teubner.
Grötschel, Martin: Skriptum zur Vorlesung: ’Einführung in die Lineare und Kombinatorische
Optimierung’. 2012
Benker, Hans: Mathematische Optimierung mit Computeralgebrasystemen - Einführung für
Ingenieure, Naturwissenschaftler und Wirtschaftswissenschaftler. Springer, 2003
Korte, B., Vygen, J.: Kombinatorische Optimierung - Theorie und Algorithmen. Springer, 2012
Ehrig, H., Ehrig, K., Prange, U. , Taentzer , G., Fundamentals of Algebraic Graph Transformation,
Springer, 2006
A. Habel. Graphersetzungssysteme. Carl v. Ossietzky Universität Oldenburg, 2004
(Vorlesungsskript).
Graul, J., Graphtransformationen – Eine Einführung, 2005
IEC 61512 - Batch control
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 57
Urbas/Doherr/Graube © 2013
CAE@PA - Einführung Graphentheorie
Folie 58
Herunterladen