SLIDE 1
Bitonic st -orderings for Upward Planar Graphs Martin Gronemann - - PowerPoint PPT Presentation
Bitonic st -orderings for Upward Planar Graphs Martin Gronemann - - PowerPoint PPT Presentation
Bitonic st -orderings for Upward Planar Graphs Martin Gronemann University of Cologne, Germany September 20, 2016 Introduction Graph Drawing 2014 Bitonic st-orderings of biconnected planar graphs. A special st -ordering that is similar
SLIDE 2
SLIDE 3
Introduction
Graph Drawing 2014
◮ Bitonic st-orderings of biconnected planar graphs. ◮ A special st-ordering that is similar to canonical orderings. ◮ Works with the algorithm of de Fraysseix, Pach and Pollack.
Here today
◮ Apply the idea to directed graphs, esp. planar st-graphs. ◮ Use it to create upward planar straight-line drawings.
SLIDE 4
Introduction
Planar st-graphs
◮ Planar directed acyclic graph G = (V , E) with ◮ a single source s ∈ V and single sink t ∈ V . ◮ G has a fixed embedding with s and t on the outer face.
SLIDE 5
Introduction
Planar st-graphs
◮ Planar directed acyclic graph G = (V , E) with ◮ a single source s ∈ V and single sink t ∈ V . ◮ G has a fixed embedding with s and t on the outer face.
Important results on upward planar graphs
◮ Every upward planar graph is a spanning subgraph of a planar
st-graph (Di Battista & Tamassia). ⇒ We focus on planar st-graphs.
◮ Every upward planar graph admits an upward planar
straight-line drawing (Di Battista & Tamassia).
◮ Some require exponential area (Di Battista, Tamassia, Tollis).
SLIDE 6
Incremental upward planar straight-line drawings
Idea
Use the algorithm of de Fraysseix, Pach and Pollack to obtain upward planar straight-line drawings for planar st-graphs.
7 5 6 4 1 2 3 8
SLIDE 7
Incremental upward planar straight-line drawings
Idea
Use the algorithm of de Fraysseix, Pach and Pollack to obtain upward planar straight-line drawings for planar st-graphs.
4 5 6 1 2 3 7 5 6 4 1 2 3 8 8 7
SLIDE 8
Incremental upward planar straight-line drawings
Idea
Use the algorithm of de Fraysseix, Pach and Pollack to obtain upward planar straight-line drawings for planar st-graphs.
4 5 6 1 2 3 7 5 6 4 1 2 3 8 8 7
◮ If the (canonical) ordering complies with the orientation of the
edges, the result is upward planar straight-line.
SLIDE 9
Incremental upward planar straight-line drawings
Idea
Use the algorithm of de Fraysseix, Pach and Pollack to obtain upward planar straight-line drawings for planar st-graphs.
4 5 6 1 2 3 7 5 6 4 1 2 3 8 8 7
◮ If the (canonical) ordering complies with the orientation of the
edges, the result is upward planar straight-line.
◮ Canonical orderings do not extend to directed graphs, . . .
SLIDE 10
Incremental upward planar straight-line drawings
Idea
Use the algorithm of de Fraysseix, Pach and Pollack to obtain upward planar straight-line drawings for planar st-graphs.
4 5 6 1 2 3 7 5 6 4 1 2 3 8 8 7
◮ If the (canonical) ordering complies with the orientation of the
edges, the result is upward planar straight-line.
◮ Canonical orderings do not extend to directed graphs, . . . ◮ . . . but st-orderings do ⇒ We use an st-ordering instead!
SLIDE 11
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
SLIDE 12
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
SLIDE 13
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
SLIDE 14
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 15
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 16
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 17
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
Gk−1 u vk
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 18
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
Gk−1 u vk
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 19
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
Gk−1 u vk
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 20
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 21
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 22
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm.
SLIDE 23
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm. ◮ One-predecessor case works only when the unattached edges
are all on one side (either left or right of (u, vk)).
SLIDE 24
Incremental upward planar straight-line drawings
Problem
Running the FPP-algorithm with an st-ordering does not work.
vk Gk−1
≥ 2 predecessors
vk Gk−1 u
1 predecessor
◮ Multiple-predecessor case works like in the original algorithm. ◮ One-predecessor case works only when the unattached edges
are all on one side (either left or right of (u, vk)).
◮ They are consecutive ⇒ they are all on one side
SLIDE 25
Canonical vs. st-orderings
Intuition
At any time, all outgoing edges that are not yet present in the current drawing, appear consecutively in the embedding.
SLIDE 26
Canonical vs. st-orderings
Intuition
At any time, all outgoing edges that are not yet present in the current drawing, appear consecutively in the embedding. canonical ordering st-ordering
SLIDE 27
Canonical vs. st-orderings
Intuition
At any time, all outgoing edges that are not yet present in the current drawing, appear consecutively in the embedding. canonical ordering st-ordering
◮ We need a special st-ordering in which they are consecutive
like in a canonical ordering!
SLIDE 28
Canonical vs. st-orderings
Intuition
At any time, all outgoing edges that are not yet present in the current drawing, appear consecutively in the embedding. canonical ordering st-ordering
◮ We need a special st-ordering in which they are consecutive
like in a canonical ordering! → bitonic st-ordering
SLIDE 29
Bitonic st-orderings
Definition
Given an st-ordering π : V → {1, . . . , |V |} with π(v) being the rank of v ∈ V in the ordering.
v1 vm vh u
S(u) = {v1, . . . , vm} Successors of u ordered as in the embedding
SLIDE 30
Bitonic st-orderings
Definition
Given an st-ordering π : V → {1, . . . , |V |} with π(v) being the rank of v ∈ V in the ordering.
v1 vm vh u
S(u) = {v1, . . . , vm} Successors of u ordered as in the embedding
v1 vh vm π
π(v1) < · · · < π(vh) > · · · > π(vm) An increasing and then decreasing sequence ⇒ bitonic
SLIDE 31
Bitonic st-orderings
Definition
Given an st-ordering π : V → {1, . . . , |V |} with π(v) being the rank of v ∈ V in the ordering.
v1 vm vh u
S(u) = {v1, . . . , vm} Successors of u ordered as in the embedding
v1 vh vm π
π(v1) < · · · < π(vh) > · · · > π(vm) An increasing and then decreasing sequence ⇒ bitonic ∀u ∈ V : S(u) is bitonic w.r.t. π ⇒ π is a bitonic st-ordering
SLIDE 32
Bitonic st-orderings - Results
+ Embedded planar st-graph G = (V , E) Bitonic st-ordering π for G
SLIDE 33
Bitonic st-orderings - Results
linear-time algorithm upward planar straight-line drawing within quadratic area + Embedded planar st-graph G = (V , E) Bitonic st-ordering π for G
◮ The arXiv-version contains a full description and a listing.
SLIDE 34
Bitonic st-orderings - Results
linear-time algorithm upward planar straight-line drawing within quadratic area + Embedded planar st-graph G = (V , E) Bitonic st-ordering π for G
◮ The arXiv-version contains a full description and a listing. ◮ Some planar st-graphs require exponential area!
SLIDE 35
Bitonic st-orderings - Results
linear-time algorithm upward planar straight-line drawing within quadratic area + Embedded planar st-graph G = (V , E) Bitonic st-ordering π for G
◮ The arXiv-version contains a full description and a listing. ◮ Some planar st-graphs require exponential area! ◮ Not every planar st-graph admits a bitonic st-ordering.
SLIDE 36
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E)
SLIDE 37
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm ∄ Bitonic st-ordering Bitonic st-ordering π for G
SLIDE 38
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm ∄ Bitonic st-ordering Bitonic st-ordering π for G linear-time algorithm Optimal set of edges E ′ ⊂ E to split with |E ′| ≤ |V | − 3
SLIDE 39
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm ∄ Bitonic st-ordering Bitonic st-ordering π for G linear-time algorithm Optimal set of edges E ′ ⊂ E to split with |E ′| ≤ |V | − 3 linear-time algorithm upward planar straight-line drawing within quadratic area
SLIDE 40
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm ∄ Bitonic st-ordering Bitonic st-ordering π for G linear-time algorithm Optimal set of edges E ′ ⊂ E to split with |E ′| ≤ |V | − 3 linear-time algorithm upward planar straight-line drawing within quadratic area G ′ := split E ′ G G ′ G ′ Replace dummy vertices by bends
SLIDE 41
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm Upward planar poly-line drawing with
- at most one bend per edge,
- at most |V | − 3 bends total,
- within quadratic area.
◮ Best upper bound so far (Di Battista et al.): 2|V | − 5.
SLIDE 42
Bitonic st-orderings - More results
Embedded planar st-graph G = (V , E) linear-time algorithm Upward planar poly-line drawing with
- at most one bend per edge,
- at most |V | − 3 bends total,
- within quadratic area.
◮ Best upper bound so far (Di Battista et al.): 2|V | − 5. ◮ Drawing properties extend to all upward planar graphs.
SLIDE 43
Conclusion
Summary
◮ Classic incremental planar graph drawing for planar st-graphs. ◮ Does not work on all planar st-graphs, but we can split edges. ◮ The algorithms are simple, fast and easy to implement.
SLIDE 44