1
Prof. Dr. Petra Mutzel
2. VO WS07/08 16. Oktober 2007
Lehrstuhl für
Algorithm Engineering LS11
Universität Dortmund
Automatisches Zeichnenvon Graphen
1. Einführung, Teil 2
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 2
Literatur für diese VO• M. Kaufmann, D. Wagner (Eds.): Drawing Graphs:
Methods and Models, Lecture Notes in Computer Science, Tutorial, Vol. 2025, 2001, ISBN 3-540-42062-2.
• G. Di Battista, P. Eades, R. Tamassia, I. Tollis: Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, 1999, ISBN 0-13-301615-3.
• M. Jünger, P. Mutzel (Eds.): Graph Drawing Software, Mathematics and Visualization, Springer Verlag, 2004, ISBN 3-540-00881-0.
• Aktuelle Originalartikel
„Technical Foundations“ auf Web
Korrektur:
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 3
Streifzug durch die Vorlesung
• Einführung
• Zeichnen von Bäumen
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 4
• Orga Diagramme• Dateistrukturen• Hierarchien• Stammbäume• ...
Reingold, Tilford 1981
zu 2: Zeichnen von Bäumen
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 5
Baumzeichnung0
1 23
4 5 67 8
9 10 1112
1314 15 16
17
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 6
Zeichnen von Bäumen
• Algorithmen für Baumzeichenverfahren
• NP Vollständigkeit eines Baumzeichenproblems
Algorithmus von Reingold / Tilford
NP-Vollständigkeitsbeweis
Lineare Programmierung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 7
Überblick Kapitel 1
• Einführung
• Hierarchische Zeichenverfahren
• Zeichnen von Bäumen
zu 4: Hierarchische Verfahren
• Datenflußdiagramme• Workflowdiagramme• Activity Charts• Organigramme• ...
Sugiyama, Tagawa, Toda 1981
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 9
Adult Dental Health Survey 1998
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 10
Datenbankmodell einer Versicherung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 12
Datenbankmodell einer Versicherung
Begutachtungsprozess(1) Schichteneinteilung
(2) Kreuzungsminimierung
(3) Koordinatenzuteilung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 14
taz
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 15
Festlegung der Schichten
Festlegung der Schichten
Einfügung künstlicher Knoten
Einfügung künstlicher Knoten
Kreuzungsreduktion
Kreuzungsreduktion
Begradigung der Kanten
26%
26%26%
100%
26,3%
95,2%
91,1%26%22,5% 12% 26% 28%
25%
26,25%
100%
23%
21,3%15,7%
VEAGVereinigte
Elektrizitätswerke
EnBWEnergie
Baden-Württ. AG
VEW AG
RWEEnergie AG
VEWEnergie AG
EnergieVerwaltungs-GmbH
RWEAG
VIAG AG
ContigasAG Bewag AG
VEBAAG
PreussenElektra AG
SydkraftAB
HEWHamburgische
Elektr.-Werke AG
Bayernwerk AG
EBHGmbH
Southern EnergyHolding Bet.-GmbH
AG
100%
1%13.5%
15.4%
30%
60%
20%
Sugiyama Algorithmus
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 25
taz
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 26
Datenbank einer Versicherung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 27
Datenbank einer Versicherung
Algorithmus von Sugiyama et al.1. Schichtenzuweisung
– Jeder Knoten wird einer Schicht zugeordnet, so dass alle Kanten von oben nach unten zeigen
2. Kreuzungsreduktion– Die Knoten werden nun innerhalb der Schichten so
geordnet, dass es möglichst wenige Kreuzungen gibt.– Vorher werden „lange“ Kanten durch Kantenzüge ersetzt
(Einfügen von virtuellen Knoten)
3. Knotenpositionierung– Die Knoten und Kanten erhalten ihre genauen
Koordinaten, so dass zick-zack Kanten verhindert werden
algorithmisch
• Optimierung• NP-schwierige OP• algorithmisch
lineare Programmierung
2-Schichten Kreuzungsminimierung
Geg: Bipartiter Graph auf 2 Schichten,Permutation der oberen Schicht ist fixiert
1
0 2 51 3 4
0 2 3 4
Gesucht: Permutation der Knoten der unterenSchicht mit kleinster Anzahl von Kreuzungen
Bilayer Crossing Minimization Problem (fix), NP-hard
u1
0 2 51 3 4
v 2 4
cost of u < v: cuv = 3cost of v < u: cvu = 5
fix
permute
Finde eine Permutation π von 1,2,...,ndie minimiert
Linear Ordering Problem
Exakte 2-Schichten Kreuzungsminimierung (fix)
Lösung mittels Branch&Cut Algorithmus
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 31
Überblick Kapitel 1
• Einführung
• Hierarchische Zeichenverfahren
• Zeichnen von Bäumen
• Kräftebasierte Verfahren
• Netzwerke• Soziale Netzwerke• Beziehungsstrukturen• Rechnernetze• ...
Eades 1984
zu 4. Kräftebasierte Verfahren
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 33
3. Kräftebasierte Verfahren
• Modellierung als Optimierungsproblem
• Lösung des Optimierungsproblems
Modellierung ästhetischer Kriterien
Simulated Annealing, Potentialfeldmethoden, etc.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 34
Idee von kräftebasierten Verfahren1. Simuliere physikalisches System: Knoten: Partikel,
die sich gegenseitig abstossen2. Kanten: Federn, die die jeweiligen Knoten
anziehen3. Erstellung eines Kräftesystems4. Ziel: Berechnung eines energieminimalen
Zustandes des Systems
• (Approximative) Lösung von Gleichungssystemen• Geometrische Verfahren für große Graphen
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 35
Kräftebasiertes Verfahren
Datenbank Modell
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 36
Überblick• Einführung
• Hierarchische Zeichenverfahren
• Zeichnen von Bäumen
• Kräftebasierte Verfahren
• Planare Zeichenverfahren
• Zustandsdiagramme• State Charts• Datenmodelle• ER-Diagramme• UML Diagramme• ...
Tamassia 1986, De Frayssseix, Pach, Pollax 1990
zu 5: Planare Zeichenverfahren
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 38
• Geradlinige Zeichnungen für 2-zusammenhängende planare Graphen
• 2-Phasen Algorithmus:(1) berechne die kanonische Ordnung(2) füge iterativ einzelne Knoten(-Ketten) hinzu
Planare ZeichenalgorithmenKanonische Ordnungen De Fraysseix, Pach, Pollack ´90
Kant ´96Gutwenger, Mutzel ´98
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 39
Planare ZeichenalgorithmenKanonische Ordnungen Kant 1996
Gutwenger, Mutzel 1998
• Polylinien Zeichnungen für 2-zusammenhängende planare Graphen
• 2-Phasen Algorithmus:(1) berechne die kanonische Ordnung(2) füge iterativ einzelne Knoten (-Ketten) hinzu
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 40
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 41
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 42
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 43
zu 5. Planare Zeichenalgorithmena) Geradlinige Verfahren (ohne Kantenknicke)
b) Polyline Verfahren (Verallgemeinerungen von a)
c) Knickminimierungs-Algorithmen
d) Erweiterungen von c)
Algorithmus von De Fraysseix, Pach und Pollack
Transformation in ein Netzwerk-Flussproblem
Algorithmus von Gutwenger und Mutzel
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 44
Planare Zeichenalgorithmen
• Knickminimierung für eine fixierte planare Einbettung• Knotengrad kleiner gleich vier• orthogonaler Zeichenalgorithmus:
(1) berechne das Netzwerk(2) min-cost flow(3) orthogonale Repräsentation(4) Längenberechnung(5) Kompaktierung
Netzwerk-Flußmethoden
WERKE
Werke_IDWerke_PLZ
N
SOLLBESTAND
e
ARTIKEL
Artikel_IDArtikel_Menge
PRODUKTION
t
SORTIMENTE
s
VERTRIEB
LAUFZEIT
Laufzeit_ID
Tamassia 1984
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 45
Erweiterung auf hohe Knotengradegroße Knoten Tamassia, Di Battista, Batini 1988
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 46
Erweiterung auf hohe KnotengradeGrobes und feines Gitter Fößmeier, Kaufmann 1996
bis heute kein
polynomiellerAlgorithmus
bekannt
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 47
Erweiterung auf hohe Knotengradekurze diagonale Linien Klau, Mutzel 1998
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 48
Zustandsdiagramm
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 49
Automatisches Layout
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 50
Themen der planaren Verfahren1. Theorie planarer Graphen / Einbettungen2. Planaritätstestalgorithmus und Einbettungsberechnung3. Planare knickfreie Zeichenalgorithmen4. Erweiterungen von 3) für quasi-orthogonale Modelle5. Planare orthogonale Zeichenalgorithmen6. Erweiterungen von 5) für quasi-orthogonale Modelle
• Graphentheorie• Graphenalgorithmen• Datenstrukturen• Netzwerkflußalgorithmen• Offene Probleme
Überblick• Einführung
• Hierarchische Zeichenverfahren
• Zeichnen von Bäumen
• Kräftebasierte Verfahren
• Planare Zeichenverfahren
• Planaritätsbasierte Verfahren
• Zustandsdiagramme• State Charts• Datenmodelle• ER-Diagramme• UML Diagramme• ...
Batini, Nardelli, Tamassia 1986
zu 6. Planarisierungsverfahren
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 53
Planarisierungsverfahren - Idee
(1) Finde kreuzungsminimale Zeichnung
(2) Ersetze die Kreuzungen durch Knoten
Kreuzungsminimierungsproblem
(3) Verwende planares Zeichenverfahren
Größte Planare Untergraphenproblem
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 54
Animation des Planarisierungsverfahrensmittels größter planarer
Untergraph
WERKEWerke_IDWerke_PLZ
UMLAGERUNGENUmlagerungen_IDUmlagerungen_Menge
SOLLBESTANDSollbestand_IDSollbestand_Menge
ARTIKELArtikel_IDArtikel_Menge
PRODUKTIONProduktion_IDProduktion_Zeit
SORTIMENTESortimente_IDSortimente_Preis
VERTRIEBVertrieb_IDVertrieb_Nummer
LAUFZEIT
Laufzeit_ID
Planarisierungsverfahren
WERKEWerke_IDWerke_PLZ
SOLLBESTANDSollbestand_IDSollbestand_Menge
ARTIKELArtikel_IDArtikel_Menge
LAUFZEIT
Laufzeit_ID
PRODUKTIONProduktion_IDProduktion_Zeit
SORTIMENTESortimente_IDSortimente_Preis
VERTRIEBVertrieb_IDVertrieb_Nummer
UMLAGERUNGENUmlagerungen_IDUmlagerungen_Menge
WERKEWerke_IDWerke_PLZ
UMLAGERUNGENUmlagerungen_IDUmlagerungen_Menge
SOLLBESTANDSollbestand_IDSollbestand_Menge
ARTIKELArtikel_IDArtikel_Menge
PRODUKTIONProduktion_IDProduktion_Zeit
SORTIMENTESortimente_IDSortimente_Preis
VERTRIEBVertrieb_IDVertrieb_Nummer
LAUFZEIT
Laufzeit_ID
(1) Größte planare Untergraph (2) Berechne Einbettung
WERKEWerke_IDWerke_PLZ
SOLLBESTANDSollbestand_IDSollbestand_Menge
ARTIKELArtikel_IDArtikel_Menge
LAUFZEIT
Laufzeit_ID
PRODUKTIONProduktion_IDProduktion_Zeit
SORTIMENTESortimente_IDSortimente_Preis
VERTRIEBVertrieb_IDVertrieb_Nummer
UMLAGERUNGENUmlagerungen_IDUmlagerungen_Menge
(3) Wiedereinfügen der entfernten Kanten (4) Planares Zeichenverfahren
OPT
OPTOPT
ALG
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 56
Datenbank Versicherung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 57
Datenmodell Originalzeichnung Unsere Zeichnungen
- 120 Objekte- 161 Relationen
- 122 Kreuzungen- nicht-hierarchisch- Anomalien
- Hierarchie- Planarisierung
(7 Kreuzungen)
Datenbank Versicherung
Datenbank Versicherung
Planarisierungsverfahren• Grösstes Planares Untergraphenproblem
• Berechnung einer kombinatorischen Einbettung
• Wiedereinfügen der entfernten Kanten
NP-schwierige Optimierung
Graphalgorithmen
Kürzeste Wege Algorithmen
Spezielle Datenstrukturen
Was ist eine gute Einbettung?
Überblick• Einführung
• Hierarchische Zeichenverfahren
• Zeichnen von Bäumen
• Kräftebasierte Verfahren
• Planare Zeichenverfahren
• Planaritätsbasierte Verfahren
• Spezielle Zeichenverfahren
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 61
Cluster-GraphenFront-Office Back-Office Fakturierung
Auftragsbearbeitung
Prebilling
Fakturierung Verteilungund Auskunft
Debitoren-kontokorrent
Daten-Server
T DeutscheTelekom
Akquisition Individualmarkt
Akquisition Standardmarkt
Auftragslenkung, Leistungserbringung
00330009b,
6.200 HP-UX 11.0
31.01.2000
6Windows NT 4.0
18.08.1999
TV-Direkt
Internet, Sprachsteuerung
5902000Fa,9a,9b,11,
008.00.00
HP-UX 10.20
26.01.2000
7.1.0HP-UX 10.20
28.10.1999
OPTA
78770009b,14b,
4.4 HP-UX 10.20
20.11.2000
4.3HP-UX 10.20
13.06.2000
ODS
96100039a,9b,
11.20 HP-UX 11.0
01.01.2001
11.00 HP-UX 11.0
01.11.1999
KVM
72470009b,10,
010.36
Windows 95
16.10.1999
010.35
Windows 95
26.06.1999
TESY-M3
04910009b,7,
5.20 Windows 3.11
01.06.2000
5.11Windows 3.11
02.01.1988
TAFEL
77500003,4,9b,Fa,13,
4.6 HP-UX 11.0
02.01.2002
4.0bHP-UX
11.004.01.19
99
ELOG
01060009b,
9.1 AIX 4 01.09.2000
8.2 AIX 4 23.10.1999
BFU
Sprachsteu- erungssystem
96100019a,9b,10,
20.0Solaris
2.628.02.20
01
AL-T
96100049a,9b,
2.19 Windows NT 4.0
01.11.1999
2.17Windows NT 4.0
01.10.1999
VUS1
02810009a,
002.00
UNIX <Unbeka
01.07.2001
001.00
UNIX <Unbeka
01.11.2000
CSS 2000
00160006,7,8,9a,9b,10,
001.00
UNIX <Unbeka
30.04.2000
BMM
0326000Fa,9b,
11.01 Unbekannt
30.11.2001
AEF
7837000Fa,
0700.000
OS/390 2.6.0
23.06.2000
VGNV2001
0301000Fa,
1000.000
OS/390 1.3.0
28.09.2000
0700.000
OS/390 1.3.0
23.06.2000
KFFAKT
7198000Fa,
1000 Windows 95
20.10.2000
0700Window
s 9523.06.20
00
FABIAN INM
7191000Fa,
1000 Windows 95
25.09.2000
0700Window
s 9523.06.20
00
TIS2000
7140000Fa,
1000 OS/390 1.3.0
02.10.2000
0700 OS/390 1.3.0
03.07.2000
ABBV
7190000Fa,
1000 OS/390 2.5.0
25.09.2000
0700 OS/390 2.5.0
26.06.2000
SAVE
7217000Fa,10,9a,9b,
1000 Windows NT 4.0
25.09.2000
0700Windows NT 4.0
26.06.2000
ADS
0267000Fa,
1000 Solaris 2.5.1
25.09.2000
0700Solaris 2.5.1
26.06.2000
REO SV
0266000Fa,
1000 Solaris 2.6
25.09.2000
0700Solaris
2.626.06.20
00
REO KV
0059000Fa,
1000
0700UNIX
<Unbeka26.06.20
00
PEGASUS
0010000Fa,
1000 Windows 95
08.08.2000
0700Window
s 9525.05.20
00
ReDaS
03420009a,
1.0Solaris
2.620.02.20
00
Marktplatz Telekom
04460009a,3,
20Windows NT 4.0
01.02.2002
TSAM
10002563,
20.0Solaris
2.601.05.20
01
TELPRO
20200009a,Fa,
1000 Reliant UNIX
25.09.2000
0700Reliant UNIX
26.06.2000
DKK
97330009a,9b,
K145 Windows 95
28.05.2001
K140Window
s 9526.02.20
01
KONTES-ANDI
Terminfenster
01.01.2001 01.07.2001Beginn Ende
Plattform-Nutzung
Test WIN UNIXwinunix
Gesamtplanung TEMPO-Prozeß 9 (Soll-Planung 2. Hj.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08 62
Cluster-Graphen
ENDE Kapitel 1