Download - Compact Visibility Drawing of Planar Graph
10/14/2005 @ NSYSU Compact Visibility Drawing of Planar Graph
Compact Visibility Drawing of Planar Graph
Hsueh-I LuNational Taiwan University
Joint work with Ching-Chi Lin & I-Fan Sun
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
開場白 The visibility drawing problem Previous work and our improved results A little bit of details:
– how our simple algorithm works in a lazy manner– analyzing our results using Schnyder’s realizer
Conclusion and open questions
Outline
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
開場白開場白
Algorithmic research is (almost) always about attacking a combinatorial problem in a new (and better) way.– Whether or not you can come up with a neat
solution usually depends on how you approach the problem.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
A TV Game ShowA TV Game Show
10/14/2005 @ NSYSU Compact Visibility Drawing of Planar Graph
Monty Hall Problem
It makes a lot of difference
10/14/2005 @ NSYSU Compact Visibility Drawing of Planar Graph
Another problem
Coffee and Milk
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
The puzzleThe puzzle
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
What’s a visibility What’s a visibility drawing?drawing? Representation
– node horizontal line segment– edge vertical line segment
Requirement– adjacency is appropriately displayed– no crossing among all line segments
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
An exampleAn example
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
The problemThe problem
Compact visibility drawing– Input: a planar graph G
n nodes and 3n – 6 or fewer edges
– Output: a visibility drawing D of G– Objective: minimizing the area of D
A classic graph drawing problem, which finds applications in VLSI layout.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Convention for Convention for measuring the measuring the drawing’s areadrawing’s areasegment endpoints
grid points
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Height Height << #node = #node = nn
In the worst case, each row of grid points is occupied by only one horizontal line segment.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Width Width << #edge #edge << 3 3n n
In the worst case, each column of grid points is occupied only one vertical line segment.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
All known results, All known results, including ours, focus on including ours, focus on minimizing the width …minimizing the width …
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Previous workPrevious work
Problem formulation – Otten & van Wijk [IEEE ISCS’78]
– No width bound (i.e., width < 3n )
Width < 2n, O(n) time– Rosenstiehl & Tarjan [DCG’86]
– Tamassia & Tollis [DCG’86]
– Nummenmaa [TCS’92]
Width < 1.5n, O(n) time– Kant [WG’94, IJCGA’97]
– Open: is 1.5n worst-case optimal?
If G is 4-connected– Width < n, O(n) time
– Kant & He [TCS’97]
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Our main resultOur main result
Width < 22n/15, O(n) time – A negative answer to Kant’s open question.– Width improvement = 22n/15 – 3n/2 = n/30.
Our algorithm works in a easy-to-implement lazy manner, based on 3 canonical orderings for G provided by Schnyder’s realizer.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Our analysis also Our analysis also implies that …implies that …
if G has no – degree-3 nodes or– degree-5 nodes,
then the drawing produced by our lazy algorithm via realizer is no wider than 4n/3.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
A by-productA by-product
A simple alternative proof to a corollary of Wagner’s Theorem on Schnyder’s realizer [Bonichon, Saëc & Mosbah, ICALP’02]
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
The visibility drawing problem Previous work and our improved results A little bit of details:
– how our simple algorithm works in a lazy manner– analyzing our results using Schnyder’s realizer
Conclusion and open questions
Where are we?
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Our algorithmOur algorithm
Additional input: – A canonical ordering of G.
Procedure:– For each y = 1 to n
Place node y from above and extend the drawing in a lazy manner, i.e., increasing the width of the drawing only when it is necessary.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Canonical orderingCanonical ordering
For each node y, its neighbors in the subgraph Gy–1 induced by the smaller-indexed nodes are on the external boundary of the subgraph Gy–1.
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
““Lazy” extensionLazy” extension
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Time complexityTime complexity
It is not difficult to implement the lazy algorithm to run in O(n) time – e.g., by using data structure like doubly linked
list so that each of those less than 3n edges can be drawn in O(1) time.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
The challengeThe challenge
How do we choose a canonical ordering with which our lazy algorithm produces a compact visibility drawing?
We use Schnyder’s Realizer.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
How to use realizer?How to use realizer?
A realizer, obtainable in linear time, partitions the internal edges of G into three edge-disjoint trees, each rooted an external node.
The preordering traversal of each tree gives a canonical ordering.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Schnyder’s Realizer [SODA’90]Schnyder’s Realizer [SODA’90]
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
How to use realizer?How to use realizer?
A realizer, obtainable in linear time, partitions the internal edges of G into three edge-disjoint trees, each rooted an external node.
The preordering traversal of each tree gives a canonical ordering.
We can prove that our lazy algorithm yields a drawing with the improved width bound using one of those three canonical orderings.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
An upper bound on An upper bound on widthwidth Width < 3n – Σy mindeg(y), where
– indeg(y) = the number of neighbors of node y with smaller indices,
– outdeg(y) = the number of neighbors of node y with larger indices, and
– mindeg(y) = min(indeg(y), outdeg(y)).
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
For exampleFor example
mindeg(8)
= min(2, 4)
= 2
mindeg(9)
= min(4, 1)
= 1
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Width Width << 3 3nn – – ΣΣyy mindegmindeg((yy).).
Why?
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Observation 1Observation 1
At the end of the iteration for drawing node y (i.e., all edges (x, y) with x < y are drawn), y has at least indeg(y) ≥ mindeg(y) visible points.
y
indeg(y)
At least mindeg(y) visible points
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Observation 2Observation 2
Drawing an edge (y, z) with y < z either – increases the width by 1 (i.e., y is not visible) or– decreases the number of visible points of y by 1.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Combining Obs 1 & 2Combining Obs 1 & 2
In the first mindeg(y) iterations for drawing edges (y, z) with y < z, the drawing is not extended.
Therefore, when drawing those 3n edges, – each edge extends the drawing by at most 1
unit.
– At least Σy mindeg(y) edges do not extend the drawing.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Width Width ≤≤ 3 3nn – – ΣΣyy mindegmindeg((yy).).
So, …
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Two examples of Two examples of applying the upper applying the upper bound on width:bound on width: Width ≤ 2n for any canonical ordering Width ≤ 4n / 3 via realizer, if G has no
degree-3 nodes.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Example 1: Width Example 1: Width ≤≤ 2n 2n
Since mindeg(y) ≥ 1, – we have Σy mindeg(y) ≥ n, and thus
– width is at most 3n – n = 2n.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Example 2: no deg-3 Example 2: no deg-3 nodenode Each node has degree at least 4. it must have
– exactly 3 outgoing edges, and– at least 1 incoming edges
y
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Sum of mindeg(y) in Sum of mindeg(y) in three directions ≥ 2+2+1 three directions ≥ 2+2+1 = 5= 5
y
≥ 2
≥ 2≥ 1
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Width Width ≤ 4≤ 4nn/3/3
On average, each node contributes 5/3 to mindeg(y) among three orderings.
Therefore, one of those three orderings gives a drawing whose width is at most (3– 5/3)n = 4n/3.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
With a more careful With a more careful analysis,analysis,
we can prove that one of those three canonical orderings defined by Schnyder’s realizer yields a visibility drawing no wider than 22n/15.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Our analysis is Our analysis is almostalmost tighttight The visibility drawing of the following
graph produced by our algorithm has width 4n/3 – O(1). (22n/15 – 4n/3 = 2n/15)
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
ConclusionConclusion
Based upon Schnyder’s realizer, we give an O(n)-time algorithm for visibility drawing that is no wider than 22n/15.
10/14/2005 @ NSYSU10/14/2005 @ NSYSU Compact Visibility Drawing of Planar GraphCompact Visibility Drawing of Planar Graph
Recent progressRecent progress
We left the following questions open:– Is 22n/15 worst-case optimal?
We conjecture that the worst-case bound is 4n/3.
– Improving the area = height * width? Recent progress by H. Zhang and X. He of
SUNY at Buffalo.– Width is at most 13n / 9 (with a more careful
analysis).
– Height can be reduced to be at most 3n / 4.
10/14/2005 @ NSYSU Compact Visibility Drawing of Planar Graph
Any Comments or Questions?
10/14/2005 @ NSYSU Compact Visibility Drawing of Planar Graph
Thank you!