70
Dr. Martin N¨ ollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts 1 Tamara Mchedlidze · Martin N¨ ollenburg Algorithmen zur Visualisierung von Graphen INSTITUT F ¨ UR THEORETISCHE INFORMATIK · FAKULT ¨ AT F ¨ UR INFORMATIK Lagenlayouts – Teil 2 17.12.2014

Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts1

Tamara Mchedlidze · Martin Nollenburg

Algorithmen zur Visualisierung von Graphen

INSTITUT FUR THEORETISCHE INFORMATIK · FAKULTAT FUR INFORMATIK

Lagenlayouts – Teil 2

17.12.2014

Page 2: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts2

Lagenlayouts

Geg.: gerichteter Graph D = (V,A)

Ges.: Zeichnung von D, die die Hierarchie verdeutlicht

Page 3: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts2

Lagenlayouts

Geg.: gerichteter Graph D = (V,A)

Ges.: Zeichnung von D, die die Hierarchie verdeutlicht

Kriterien:moglichst viele Kanten aufwartsgerichtetKanten moglichst geradlinig und kurzZuordnung der Knoten auf (wenige) horizontale Ebenenmoglichst wenige KantenkreuzungenKnoten gleichmaßig verteilt

Page 4: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts3

Sugiyama Framework (Sugiyama, Tagawa, Toda 1981)

Page 5: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts3

Sugiyama Framework (Sugiyama, Tagawa, Toda 1981)

letzte Woche

Page 6: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts4

Problem der Hohen-/Langenminimierung

Wir haben gesehen:

Hohenminimierung in LinearzeitGesamtlangenminimierung mit LP

Page 7: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts4

Problem der Hohen-/Langenminimierung

→ beschranke die Breite!

Wir haben gesehen:

Hohenminimierung in LinearzeitGesamtlangenminimierung mit LP

Page 8: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts5

Lagenzuordnung bei fester Breite

Fixed-Width Layer Assignmentgeg: azyklischer gerichteter Graph D = (V,A), Breite Bges: hohenminimale Lagenzuordnung L mit maximal B

Knoten pro Lage

B = 4

Page 9: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts5

Lagenzuordnung bei fester Breite

Fixed-Width Layer Assignmentgeg: azyklischer gerichteter Graph D = (V,A), Breite Bges: hohenminimale Lagenzuordnung L mit maximal B

Knoten pro Lage

→ aquivalent zu folgendem Schedulingproblem:

Minimum Precedence Constrained Scheduling (MPCS)geg: n Jobs J1, . . . , Jn mit identischer Bearbeitungsdauer 1,

Vorgangerbedingungen Ji < Jk, B identische Maschinenges: Schedule mit minimaler Gesamtlange, der alle

Vorgangerbedingungen einhalt

B = 4

M1

M2

M3

M4

Page 10: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts6

Komplexitat

Satz 2: Es ist NP-vollstandig zu entscheiden, ob es fur n JobsJ1, . . . , Jn identischer Lange, partielle Vorganger-ordnung < und Maschinenanzahl B einen Scheduleder Lange hochstens T gibt, selbst fur T = 3.

Page 11: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts6

Komplexitat

Satz 2: Es ist NP-vollstandig zu entscheiden, ob es fur n JobsJ1, . . . , Jn identischer Lange, partielle Vorganger-ordnung < und Maschinenanzahl B einen Scheduleder Lange hochstens T gibt, selbst fur T = 3.

Korollar: Falls P 6= NP gibt es keinen polynomiellenApproximationsalgorithmus fur MPCS mitApproximationsfaktor < 4/3.

Page 12: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts6

Komplexitat

Satz 2: Es ist NP-vollstandig zu entscheiden, ob es fur n JobsJ1, . . . , Jn identischer Lange, partielle Vorganger-ordnung < und Maschinenanzahl B einen Scheduleder Lange hochstens T gibt, selbst fur T = 3.

Korollar: Falls P 6= NP gibt es keinen polynomiellenApproximationsalgorithmus fur MPCS mitApproximationsfaktor < 4/3.

Satz 3: MPCS hat einen polynomiellenApproximationsalgorithmus mit Faktor ≤ 2− 1

B .

Page 13: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts6

Komplexitat

Satz 2: Es ist NP-vollstandig zu entscheiden, ob es fur n JobsJ1, . . . , Jn identischer Lange, partielle Vorganger-ordnung < und Maschinenanzahl B einen Scheduleder Lange hochstens T gibt, selbst fur T = 3.

Korollar: Falls P 6= NP gibt es keinen polynomiellenApproximationsalgorithmus fur MPCS mitApproximationsfaktor < 4/3.

Satz 3: MPCS hat einen polynomiellenApproximationsalgorithmus mit Faktor ≤ 2− 1

B .

List-Scheduling-Algorithmus:

ordne Jobs beliebig als Liste Lwenn Maschine frei ist, wahle ersten verfugbaren Job aus L;Maschine idle falls kein Job verfugbar

Page 14: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts7

Sugiyama Framework (Sugiyama, Tagawa, Toda 1981)

bisher

Page 15: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts8

Schritt 3: Kreuzungsminimierung

Wie wurden Sie vorgehen?

Page 16: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts9

Problemstellung

Geg.:DAG D = (V,A), Knoten partitioniert in disjunkte Lagen

Ges.: Ordnung der Knoten in jeder Lage, so dass die AnzahlKantenkreuzungen minimal ist

Page 17: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts9

Problemstellung

Geg.:DAG D = (V,A), Knoten partitioniert in disjunkte Lagen

Ges.: Ordnung der Knoten in jeder Lage, so dass die AnzahlKantenkreuzungen minimal ist

EigenschaftenProblem ist NP-schwer schon fur zwei Lagen(Bipartite Crossing Number [Garey, Johnson ’83])kaum Ansatze uber mehrere Lagen gleichzeitigmeist iteratives Optimieren fur je zwei benachbarte Lagendazu: fuge in jeder Lage Dummyknoten fur alle Kanten ein,die diese Lage uberspringen

Page 18: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts10

Einseitige Kreuzungsminimierung (OSCM)

Geg.: 2-Lagen-Graph G = (L1, L2, E) undKnotenordnung x1 von L1

Ges.: Knotenordnung x2 von L2, so dass die AnzahlKreuzungen von Kanten in E minimal ist

Page 19: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts10

Einseitige Kreuzungsminimierung (OSCM)

Geg.: 2-Lagen-Graph G = (L1, L2, E) undKnotenordnung x1 von L1

Ges.: Knotenordnung x2 von L2, so dass die AnzahlKreuzungen von Kanten in E minimal ist

Beobachtung:

Anzahl Kreuzungen einer 2-Lagen-Zeichnung von G hangtnur von x1 und x2 ab, nicht von tatsachlichen Positionenfur u, v ∈ L2 hangt Anzahl Kreuzungen inzidenter Kantennur von x2(u) < x2(v) oder x2(v) < x2(u) ab

Page 20: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts10

Einseitige Kreuzungsminimierung (OSCM)

Geg.: 2-Lagen-Graph G = (L1, L2, E) undKnotenordnung x1 von L1

Ges.: Knotenordnung x2 von L2, so dass die AnzahlKreuzungen von Kanten in E minimal ist

Beobachtung:

Anzahl Kreuzungen einer 2-Lagen-Zeichnung von G hangtnur von x1 und x2 ab, nicht von tatsachlichen Positionenfur u, v ∈ L2 hangt Anzahl Kreuzungen inzidenter Kantennur von x2(u) < x2(v) oder x2(v) < x2(u) ab

Def: Kreuzungszahlcuv := |(uw, vz) | w ∈ N(u), z ∈ N(v), x1(z) < x1(w)|fur x2(u) < x2(v) u v

cuv = 5cvu = 7

Page 21: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts10

Einseitige Kreuzungsminimierung (OSCM)

Geg.: 2-Lagen-Graph G = (L1, L2, E) undKnotenordnung x1 von L1

Ges.: Knotenordnung x2 von L2, so dass die AnzahlKreuzungen von Kanten in E minimal ist

Beobachtung:

Anzahl Kreuzungen einer 2-Lagen-Zeichnung von G hangtnur von x1 und x2 ab, nicht von tatsachlichen Positionenfur u, v ∈ L2 hangt Anzahl Kreuzungen inzidenter Kantennur von x2(u) < x2(v) oder x2(v) < x2(u) ab

Def: Kreuzungszahlcuv := |(uw, vz) | w ∈ N(u), z ∈ N(v), x1(z) < x1(w)|fur x2(u) < x2(v) v u

cuv = 5cvu = 7

Page 22: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts11

Weitere Eigenschaften

Def: Kreuzungszahl fur G mit Ordnungen x1 und x2 seicr(G, x1, x2);fur festes x1 sei opt(G, x1) = minx2

cr(G, x1, x2)

Lemma 1: Es gelten folgende Eigenschaften:cr(G, x1, x2) =

∑x2(u)<x2(v)

cuvopt(G, x1) ≥

∑u,v mincuv, cvu

Page 23: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts11

Weitere Eigenschaften

Def: Kreuzungszahl fur G mit Ordnungen x1 und x2 seicr(G, x1, x2);fur festes x1 sei opt(G, x1) = minx2

cr(G, x1, x2)

Lemma 1: Es gelten folgende Eigenschaften:cr(G, x1, x2) =

∑x2(u)<x2(v)

cuvopt(G, x1) ≥

∑u,v mincuv, cvu

Effizientes Berechnen von cr(G, x1, x2) s. Ubungsblatt

Page 24: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts12

Iterative Kreuzungsminimierung

Sei G = (V,E) ein DAG mit Lagenzuordnung L1, . . . , Lh.

(1) berechne zufallige Ordnung x1 fur Lage L1

(2) fur i = 1, . . . , h− 1 betrachte Lagen Li und Li+1 undminimiere cr(G, xi, xi+1) bei festem xi (→ OSCM)

(3) fur i = h− 1, . . . , 1 betrachte Lagen Li+1 und Li undminimiere cr(G, xi, xi+1) bei festem xi+1 (→ OSCM)

(4) wiederhole (2) und (3) bis keine weitere Verbesserung(5) wiederhole ggf. Schritte (1)–(4) mit anderem x1(6) gib beste gefundene Losung aus

Page 25: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts13

Komplexitat OSCM (Eades, Wormald 1994)

u

v

a

u v w

L1

L2

D = (V,A) B = (L1, L2, E)

c1(b) c2(b)

c(b)c(a)

c1(a)c2(a)c3(a)c4(a)c5(a)c6(a)

Satz 4: Das einseitige Kreuzungsminimierungsproblem (OSCM)ist NP-schwer.

Beweisskizze: Reduktion von Feedback Arc Set

. . .

w′ w′′w,w′ . . .

Page 26: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts13

Komplexitat OSCM (Eades, Wormald 1994)

u

v

a

u v w

L1

L2

D = (V,A) B = (L1, L2, E)

c1(b) c2(b)

c(b)c(a)

c1(a)c2(a)c3(a)c4(a)c5(a)c6(a)

Satz 4: Das einseitige Kreuzungsminimierungsproblem (OSCM)ist NP-schwer.

Beweisskizze: Reduktion von Feedback Arc Set

. . .

w′ w′′w,w′ . . .

Page 27: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts13

Komplexitat OSCM (Eades, Wormald 1994)

u

v

a

u v w

L1

L2

D = (V,A) B = (L1, L2, E)

c1(b) c2(b)

c(b)c(a)

c1(a)c2(a)c3(a)c4(a)c5(a)c6(a)

Satz 4: Das einseitige Kreuzungsminimierungsproblem (OSCM)ist NP-schwer.

Beweisskizze: Reduktion von Feedback Arc Set

. . .

w′ w′′w,w′ . . .

Page 28: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts13

Komplexitat OSCM (Eades, Wormald 1994)

u

v

a

u v w

L1

L2

D = (V,A) B = (L1, L2, E)

c1(b) c2(b)

c(b)c(a)

c1(a)c2(a)c3(a)c4(a)c5(a)c6(a)

Satz 4: Das einseitige Kreuzungsminimierungsproblem (OSCM)ist NP-schwer.

Beweisskizze: Reduktion von Feedback Arc Set

. . .

w′ w′′w,w′ . . .

Page 29: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

u

c(a) c(b)

Kreuzungen zahlen

Page 30: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

u

c(a) c(b)

w

Kreuzungen zahlen

Page 31: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

u

c(a) c(b)

w

4 ·(n2

)·(m2

)

Kreuzungen zahlen

Page 32: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

Kreuzungen zahlen

w′

c(a)

w

4 ·(n2

)·(m2

)

Page 33: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

Kreuzungen zahlen

w′

c(a)

w

4 ·(n2

)·(m2

)

+m ·(n−22

)

Page 34: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

Kreuzungen zahlen

w′

c(a)

w

4 ·(n2

)·(m2

)

+m ·(n−22

)

u

c(a)

vw

+4 ·m · (n− 2)

Page 35: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

Kreuzungen zahlen

v

c(a)

u

+(m−K)

4 ·(n2

)·(m2

)+m ·

(n−22

)+ 4 ·m · (n− 2) =: M

v

c(a)

u

+3K

u

v

a

Page 36: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts14

Komplexitat OSCM

Kreuzungen zahlen

v

c(a)

u

+(m−K)

4 ·(n2

)·(m2

)+m ·

(n−22

)+ 4 ·m · (n− 2) =: M

v

c(a)

u

+3K

opt(G, x1) ≤M +m+ 2K⇔ D hat FAS der Große ≤ K

u

v

a

Page 37: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts15

Algorithmen fur OSCM

Heuristiken:BarycenterMedian. . .

Exakt:ILP Modellierung

Page 38: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts16

Barycenter Heuristik (Sugiyama, Tagawa, Toda 1981)

Idee: wenige Kreuzungen, wenn Knoten nah an den Nachbarn

setze

x2(u) =1

deg(u)

∑v∈N(u)

x1(v)

bei Gleichheit um kleinen Wert trennen

Page 39: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts16

Barycenter Heuristik (Sugiyama, Tagawa, Toda 1981)

Idee: wenige Kreuzungen, wenn Knoten nah an den Nachbarn

setze

x2(u) =1

deg(u)

∑v∈N(u)

x1(v)

bei Gleichheit um kleinen Wert trennen

Eigenschaften:

geringer Implementationsaufwandschnellmeist sehr gute Ergebnissefindet Optimum falls opt(G, x1) = 0 (s. Ubungsblatt)im worst case um Faktor Ω(

√n) schlechter

Page 40: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts17

Median-Heuristik (Eades, Wormald 1994)

Idee: setze Koordinate auf Median der Nachbarn

fur Knoten v ∈ L2 mit Nachbarn v1, . . . , vk setzex2(v) = med(v) = x1(vdk/2e)bzw. x2(v) = 0 falls N(v) = ∅falls x2(u) = x2(v) mit ungleicher Gradparitat, setzeungeraden Knoten nach linksfalls x2(u) = x2(v) mit gleicher Gradparitat, setzebeliebigen Knoten nach linksBerechnung mit Linearzeit-Medianalgorithmus in O(|E|)

Page 41: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts17

Median-Heuristik (Eades, Wormald 1994)

Idee: setze Koordinate auf Median der Nachbarn

fur Knoten v ∈ L2 mit Nachbarn v1, . . . , vk setzex2(v) = med(v) = x1(vdk/2e)bzw. x2(v) = 0 falls N(v) = ∅falls x2(u) = x2(v) mit ungleicher Gradparitat, setzeungeraden Knoten nach linksfalls x2(u) = x2(v) mit gleicher Gradparitat, setzebeliebigen Knoten nach linksBerechnung mit Linearzeit-Medianalgorithmus in O(|E|)

Eigenschaften:geringer Implementationsaufwandschnellmeist gute Ergebnissefindet Optimum falls opt(G, x1) = 0Faktor-3 Approximation

Page 42: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts18

Approximationsfaktor

Satz 5: Sei G = (L1, L2, E) ein 2-Lagen-Graph und x1 einebeliebige Ordnung von L1. Dann gilt

med(G, x1) ≤ 3 opt(G, x1).

Page 43: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts18

Approximationsfaktor

Satz 5: Sei G = (L1, L2, E) ein 2-Lagen-Graph und x1 einebeliebige Ordnung von L1. Dann gilt

med(G, x1) ≤ 3 opt(G, x1).

u v

med(u) med(v)

A B C D

Page 44: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts18

Approximationsfaktor

Satz 5: Sei G = (L1, L2, E) ein 2-Lagen-Graph und x1 einebeliebige Ordnung von L1. Dann gilt

med(G, x1) ≤ 3 opt(G, x1).

u v

med(u) med(v)

A B C D

uv

med(u) med(v)

ABC

D

Page 45: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts18

Approximationsfaktor

Satz 5: Sei G = (L1, L2, E) ein 2-Lagen-Graph und x1 einebeliebige Ordnung von L1. Dann gilt

med(G, x1) ≤ 3 opt(G, x1).

u v

med(u) med(v)

A B C D

uv

med(u) med(v)

ABC

D(1) cvu ≥ ad+ a+ d+ ε(2) cuv ≤ ac+ bc+ bd+ c+ b(3) cuv ≤ 3ad+ 3d+ a+ 1

Page 46: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts19

Ganzzahlige Lineare Programmierung

Eigenschaften:

branch-and-cut Technik fur DAGs beschrankter Großefindet optimale LosungLosung jedoch nicht in polynomieller Zeit garantiertnutzlich fur kleine bis mittlere Graphen

Page 47: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts19

Ganzzahlige Lineare Programmierung

Eigenschaften:

branch-and-cut Technik fur DAGs beschrankter Großefindet optimale LosungLosung jedoch nicht in polynomieller Zeit garantiertnutzlich fur kleine bis mittlere Graphen

ILP-Modell:ordne L2 beliebig durch <

binare Variablen xuv =

1 falls u links von v

0 sonst

Page 48: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts19

Ganzzahlige Lineare Programmierung

Eigenschaften:

branch-and-cut Technik fur DAGs beschrankter Großefindet optimale LosungLosung jedoch nicht in polynomieller Zeit garantiertnutzlich fur kleine bis mittlere Graphen

ILP-Modell:ordne L2 beliebig durch <

binare Variablen xuv =

1 falls u links von v

0 sonst

cr(G, x1, x2) =∑u<v

(cuvxuv +cvu(1−xuv)) =∑u<v

(cuv−cvu)xuv +∑u<v

cvu

Page 49: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts19

Ganzzahlige Lineare Programmierung

Eigenschaften:

branch-and-cut Technik fur DAGs beschrankter Großefindet optimale LosungLosung jedoch nicht in polynomieller Zeit garantiertnutzlich fur kleine bis mittlere Graphen

ILP-Modell:ordne L2 beliebig durch <

binare Variablen xuv =

1 falls u links von v

0 sonst

cr(G, x1, x2) =∑u<v

(cuvxuv +cvu(1−xuv)) =∑u<v

(cuv−cvu)xuv +∑u<v

cvu

minimiere∑

u<v(cuv − cvu)xuv s.t.

xuv ∈ 0, 1 fur alle u < v ∈ L2

TransitivitatWie modelliert man das im ILP?

Page 50: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts19

Ganzzahlige Lineare Programmierung

Eigenschaften:

branch-and-cut Technik fur DAGs beschrankter Großefindet optimale LosungLosung jedoch nicht in polynomieller Zeit garantiertnutzlich fur kleine bis mittlere Graphen

ILP-Modell:ordne L2 beliebig durch <

binare Variablen xuv =

1 falls u links von v

0 sonst

cr(G, x1, x2) =∑u<v

(cuvxuv +cvu(1−xuv)) =∑u<v

(cuv−cvu)xuv +∑u<v

cvu

minimiere∑

u<v(cuv − cvu)xuv s.t.

xuv ∈ 0, 1 fur alle u < v ∈ L2

0 ≤ xuv + xvw − xuw ≤ 1 fur alle u < v < w ∈ L2

Page 51: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 52: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 53: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 54: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 55: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 56: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 57: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 58: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 59: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts20

Beispiel

Page 60: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts21

Schritt 4: Koordinatenzuweisung

Welche Ziele gibt es?

Page 61: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts22

Kanten begradigen

Ziel: minimiere Abweichung von gerader Linie fur Kanten mitDummy-Knoten

Idee: nutze quadratisches Programm

sei puv = (u, d1, . . . , dk, v) Pfad mit k Dummyknotenzwischen u und vsei ai = x(u) + i

k+1 (x(v)− x(u)) die x-Koordinate von dibei gerader Linieminimiere

∑ki=1(x(di)− ai)2 uber alle Pfade

Nebenbedingungen: x(w)− x(z) ≥ δ fur alle Knoten dergleichen Lage und w rechts von z (δ Abstandsparameter)

Page 62: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts22

Kanten begradigen

Ziel: minimiere Abweichung von gerader Linie fur Kanten mitDummy-Knoten

Idee: nutze quadratisches Programm

sei puv = (u, d1, . . . , dk, v) Pfad mit k Dummyknotenzwischen u und vsei ai = x(u) + i

k+1 (x(v)− x(u)) die x-Koordinate von dibei gerader Linieminimiere

∑ki=1(x(di)− ai)2 uber alle Pfade

Nebenbedingungen: x(w)− x(z) ≥ δ fur alle Knoten dergleichen Lage und w rechts von z (δ Abstandsparameter)

Eigenschaften:

quadratisches Programm oft laufzeitintensivBreite kann exponentiell wachsenZielfunktion anpassbar fur moglichst vertikale Kanten

Page 63: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts23

Beispiel

Page 64: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts23

Beispiel

Page 65: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts24

Schritt 5: Kantenzeichnen

Moglichkeit: Polylines durch Bezierkurven ersetzen

Außerdem: zeichen alle in Schritt 1 invertierte Kantenmit ihrer ursprunglichen Richtung

Page 66: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts25

Beispiel

Page 67: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts25

Beispiel

Page 68: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts25

Beispiel

Page 69: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts26

Zusammenfassung

Page 70: Lagenlayouts { Teil 2 Algorithmen zur Visualisierung von

Dr. Martin Nollenburg · Algorithmen zur Visualisierung von Graphen Lagenlayouts26

Zusammenfassung

flexibles Framework zum Zeichnen gerichteterGraphensequentielle Optimierung verschiedener KriterienModularisierung in oft NP-schwere aber meisteinzeln handhabbare Teilproblemedadurch jedoch Einschrankung der moglichenLosungen