SLIDE 1
Level-Planar Drawings with Few Slopes
Guido Br¨ uckner Nadine Krisam Tamara Mchedlidze
SLIDE 2 Level Graphs
1 2 3 4
- directed graph G = (V , E)
- level assignment ℓ : V → N s.t.
∀(u, v) ∈ E : ℓ(u) < ℓ(v)
SLIDE 3 Level Graphs
- directed graph G = (V , E)
- level assignment ℓ : V → N s.t.
∀(u, v) ∈ E : ℓ(u) < ℓ(v)
SLIDE 4 Level Graphs
⇐ ⇒ left-to-right order of the vertices on each level is fixed
- directed graph G = (V , E)
- level assignment ℓ : V → N s.t.
∀(u, v) ∈ E : ℓ(u) < ℓ(v)
SLIDE 5 Level Graphs
⇐ ⇒ left-to-right order of the vertices on each level is fixed
- directed graph G = (V , E)
- level assignment ℓ : V → N s.t.
∀(u, v) ∈ E : ℓ(u) < ℓ(v)
SLIDE 6
λ-Drawing Model
vertical slope 1/(λ − 1) slope 1
λ-drawing: λ λ λ
SLIDE 7
λ-Drawing Model
1-drawing ≡ 2-drawing ≡ 3-drawing
vertical slope 1/(λ − 1) slope 1
λ-drawing: λ λ λ
SLIDE 8
λ-Drawing Model
1-drawing ≡ 2-drawing ≡ 3-drawing
vertical slope 1/(λ − 1) slope 1
λ-drawing: λ λ λ
SLIDE 9
λ-Drawing Model
SLIDE 10
Flow Network
SLIDE 11
Flow Network
1 1 2 1 2 e u v Flow on e = distance between u and v Constraint ϕ(e) ≥ 1
SLIDE 12 Flow Network
1 1 1 1 2 1 2 e u v Flow on e = distance between u and v Constraint ϕ(e) ≥ 1 1 Flow = slope
Constraint 0 ≤ ϕ(·) ≤ 1
SLIDE 13 Flow Network
1 1 1 1 2 1 2 e u v Flow on e = distance between u and v Constraint ϕ(e) ≥ 1 1 Flow = slope
Constraint 0 ≤ ϕ(·) ≤ 1 Lemma Every admissible flow corresponds to a 2-slope drawing.
SLIDE 14 Flow Network
1 1 1 1 2 1 2 e u v Flow on e = distance between u and v Constraint ϕ(e) ≥ 1 1 Flow = slope
Constraint 0 ≤ ϕ(·) ≤ 1 Lemma Every admissible flow corresponds to a 2-slope drawing. max-flow: O(n log3 n)
min-cost flow: O(n2 log2 n)
SLIDE 15 Flow Network
Advanced Problems:
extension (simple in connected case) 1 1 1 1 2 1 2
SLIDE 16 Flow Network
Advanced Problems:
extension (simple in connected case)
drawings: given graphs G1, G2 with G1∩2 = ∅, are there drawings Γ1, Γ2 of G1, G2 s.t. G1∩2 is drawn identically in Γ1, Γ2? – real relaxation?
SLIDE 17 Flow Network
Advanced Problems:
extension (simple in connected case)
drawings: given graphs G1, G2 with G1∩2 = ∅, are there drawings Γ1, Γ2 of G1, G2 s.t. G1∩2 is drawn identically in Γ1, Γ2? – real relaxation? u v u′ v ′ u v v ′ u′
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2
SLIDE 18 Flow Network
Advanced Problems:
extension (simple in connected case)
drawings: given graphs G1, G2 with G1∩2 = ∅, are there drawings Γ1, Γ2 of G1, G2 s.t. G1∩2 is drawn identically in Γ1, Γ2? – real relaxation? u v u′ v ′ u v v ′ u′ s1 t1 t2 s2
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1 1 1 1
SLIDE 19 Flow Network
Advanced Problems:
extension (simple in connected case)
drawings: given graphs G1, G2 with G1∩2 = ∅, are there drawings Γ1, Γ2 of G1, G2 s.t. G1∩2 is drawn identically in Γ1, Γ2? – real relaxation? u v u′ v ′ u v v ′ u′ s1 t1 t2 s2
1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1 1 1 1 1 1
- max. simultaneous real flow has
values 1 and 2, but no simultaneous integer flows with these values exists
SLIDE 20 Max-Flow in Planar Graphs (w/o lower bounds)
s t 16 | 16 4 | 4 | 9 12 | 12 11 | 14 19 | 20 0 | 5 7 | 13 7 | 7 0 | 4 4 | 1 | ∞ s⋆ t⋆ 16 12 12 19 23
- construct directed dual G ⋆, set ℓ(e⋆) = c(e)
- search for shortest s⋆-t⋆ path
- set ϕ(u, v) = d(fright) − d(fleft) for (u, v)⋆ = (fleft, fright)
SLIDE 21 Max-Flow in Planar Graphs (w/o lower bounds)
s t 16 | 16 4 | 4 | 9 12 | 12 11 | 14 19 | 20 0 | 5 7 | 13 7 | 7 0 | 4 4 | 1 | ∞ s⋆ t⋆ 16 12 12 19 23
- construct directed dual G ⋆, set ℓ(e⋆) = c(e)
- search for shortest s⋆-t⋆ path
- set ϕ(u, v) = d(fright) − d(fleft) for (u, v)⋆ = (fleft, fright)
e u v Flow on e = distance between u and v Constraint ϕ(e) ≥ 1
SLIDE 22 Max-Flow in Planar Graphs (w/ lower bounds)
a ≤ ϕ(u, v) ≤ b b −a u v fleft fright lower bounds on the flow:
ϕ(u, v) = d(fright)−d(fleft)
⇒ ϕ(u, v) ≤ b
⇒ ϕ(u, v) ≥ a
SLIDE 23
Max-Flow and Shortest Paths
SLIDE 24
Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1 1 1 1 −1 1 1 1
SLIDE 25 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 −1 1
vref
1 1
O(n log2 n/ log log n)
SLIDE 26 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 −1 1
vref
1 1
−1 −(−1) v (vref, v) : d(v) ≤ d(vref) − 1 ⇒ d(v) ≤ −1 (v, vref) : d(vref) ≤ d(v) − (−1) ⇒ d(v) ≥ −1
O(n log2 n/ log log n)
SLIDE 27 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 1
vref (vref, v) : d(v) ≤ d(vref) − 1 ⇒ d(v) ≤ −1 (v, vref) : d(vref) ≤ d(v) − (−1) ⇒ d(v) ≥ −1
O(n log2 n/ log log n)
1 1 −1
v −1 −(−1)
SLIDE 28 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 1
vref (vref, v) : d(v) ≤ d(vref) − 1 ⇒ d(v) ≤ −1 (v, vref) : d(vref) ≤ d(v) − (−1) ⇒ d(v) ≥ −1
O(n log2 n/ log log n)
1 1 −1
v −1 −(−1)
extension O(n4/3 log n)
SLIDE 29 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 1
vref
O(n log2 n/ log log n)
1 1 −1
v −1 −(−1)
extension O(n4/3 log n) the generated drawings are rightmost d1(v) < d2(v) ⇒ add constraint d2(v) ≤ d1(v) to G2
drawings O(n10/3 log n)
SLIDE 30 Max-Flow and Shortest Paths
−1 −1 −1 −1 −1 1
1
1 1 1 1
vref
O(n log2 n/ log log n)
1 1 −1
v −1 −(−1)
extension O(n4/3 log n)
drawings O(n10/3 log n)
- works for λ ∈ N
- NP-complete for
“short long” edges, i.e., ℓ(v) − ℓ(u) ≤ 2
SLIDE 31
Rectilinear Planar Monotone 3-Sat
x2 x3 x4 x5 x6 x7 x5 ∨ x6 ∨ x7 x1 ∨ x2 ∨ x3 x1 ∨ x4 ∨ x5 x1 ∨ x5 ∨ x7 ¬x3 ∨ ¬x4 ∨ ¬x5 ¬x2 ∨ ¬x3 ∨ ¬x5 ¬x1 ∨ ¬x2 ∨ ¬x7 x1
SLIDE 32
Variable Gadget
true true true true
SLIDE 33
Variable Gadget
false false false false
SLIDE 34
(Positive) Clause Gadget
true false false
SLIDE 35
(Positive) Clause Gadget
true false false
SLIDE 36
(Positive) Clause Gadget
false false true
SLIDE 37
(Positive) Clause Gadget
false false false