Title: Planar Orientations
1Planar Orientations
- Chapter 4 (4.1-4.6) in the book
- Written By Tomer Heber
2Outline Goal
- In this lesson we will deal with planar st-graphs
(which will be explained later on). - We will review several algorithms for
representing a st-planar graph. - We will also learn that by using those
representations we can turn a st-planar graph, to
a more specific shape (such as a polyline). - The goal of this lesson is simple Which is to
learn of ways to represent a st-graph in a more
useful and aesthetic representation.
3Numbering of Digraphs
- A topological numbering of G is an assignment of
numbers to the vertices of G, such that, for
every edge (u,v) of G, the number assigned to v
is greater then the one assigned to u.
5
2
3
4
2
1
4Numbering of Digraphs (2)
- A topological sorting is a topological numbering
of G, such that every vertex is assigned a
distinct integer between 1 and n. - A topological sorting is unique if G has a
directed path that visits every vertex.
6
5
3
4
2
1
5Numbering of Digraphs (3)
- The following statements are equivalent
- G is acyclic.
- G admits a topological numbering.
- G admits a topological sorting.
- In other words a topological numbering (sorting)
can be done only on an acyclic graph.
6Planar Graph
- A planar graph is a graph which can be embedded
in the plane, i.e., it can be drawn on the plane
in such a way that its edges intersect only at
their endpoints.
Faces
7ST-Graph
- An acyclic digraph with a single source s and a
single sink t is called an st-graph.
Sink t has no outgoing edges!
t
s
Source s has no incoming edges!
8ST-Graph (2)
- Let G be an st-graph. The following simple
properties hold - Given a topological numbering of G. every
directed path of G visits with increasing
numbers. - For every vertex v of G, there exists a simple
directed path from s (source) to t (sink) that
contains v.
9Planar ST-Graph
- A planar st-graph is an st-graph that is planar
and embedded with vertices s and t on the
boundary of the external face.
t
s
10Planar ST-Graph (2)
- Let G be a planer st-graph and F be its set of
faces. We conventionally assume that F contains
two representatives for the external face - The left external face s
- The right external face t
-
s
t
11Planar ST-Graph (3)
- For each edge e (u,v), we define orig(e) u
and dest(e) v. - We define left(e) (resp. right(e)) to be the face
to the left (resp. right) of e. -
dest(e) v
v
orig(e) u
f1
left(e) f1
e
u
left(e) f2
f2
12Planar ST-Graph Properties
- Lemma 1 Each face f of G consists of two
directed paths with common origin called orig(f),
and common destination called dest(f). - Proof Let f be a face of G for which the lemma
is not true.
t
dest(f)
There must be a path from vertex u to the sink t
w
Since the graph is planar there must be a node
where the passes intersect
We receive a cycle!
u
There must be a path from the source s to
vertex w
orig(f)
s
13Planar ST-Graph Properties (2)
- Lemma 2 The incoming edges for each vertex of G
appear consecutively around v, and so do the
outgoing edges. - Proof The lemma holds trivially for the vertices
s and t. Let v be any other vertex, and suppose
for a contradiction, that there are edges (v,w0),
(w1,v), (v,w2), (w3,v).
t
w0
w1
We now have a cycle!
v
x
w2
w3
s
Because every vertex in a st-graph has a simple
path from s to t we add the following paths
Because the graph is planar we add the vertex x
to the graph.
14Planar ST-Graph Properties (3)
- Since the incoming (outgoing) edges of each
vertex of G appear consecutively we define the
face separating the incoming edges from the
outgoing edges in clockwise order, left(v), and
the other separating face is called right(v).
15Planar ST-Graph G
- We define a digraph G associated with planar
st-graph G, as follows - The vertex set of G is the set F of faces
(recall that F has two representatives, s and
t, of the external face. - For every edge e ! (s,t) of G, G has an e
(f,g) where f left(e) and g right(e).
e
left(e)
right(e)
Notice that G is a planar st-graph as well
16Lemma 3
- An element of is called an
object of planar st-graph G. - For vertex v, we define orig(v) dest(v) v.
- For a face f, we define left(f) right(f) f.
- Reminder we have already defined previously
left(v), right(v), left(e), right(e), orig(e),
dest(e), orig(f) and dest(f).
17Lemma 3 (2)
- Lemma 3 For any two objects o1 and o2 of a
planar st-graph G, exactly one of the following
holds - G has a directed path from dest(o1) to orig(o2).
- G has a directed path from dest(o2) to orig(o1).
- G has a directed path from right(o1) to
left(o2). - G has a directed path from right(o2) to left(o2).
18Tile
- A tile is a rectangle with sides parallel to the
coordinate axes. - A tile can be unbounded or can degenerate to a
segment or a point. - Two tiles are horizontally (vertically) adjacent
if they share a portion of a vertical
(horizontal) side.
Tiles
Vertically adjacent
19Tessellation Representation
- Let G be a planar st-graph. A tessellation
representation T for G maps each object o of G
into a tile T(o) such that - The interiors of tiles T(o1) and T(o2) are
disjoint whenever o1 ! o2. - The union of all tiles T(o),
is a rectangle. - Tiles T(o1) and T(o2) are horizontally adjacent
if and only if o1 left(o2) or o1 right(o2) or
o2 left(o1) or o2 right(o1). - Tiles T(o1) and T(o2) are vertically adjacent if
and only if o1 orig(o2) or o1 dest(o2) or o2
orig(o1) or o2 dest(o1).
20Tessellation Representation (2)
4
3
1
4
f
3
3
2
4
X(left(e)) 0
X(left(f)) 3
2
2
0
X(right(e)) 1
X(right(f)) 3
2
1
Y(orig(e)) 0
Y(orig(f)) 2
Y(dest(e)) 2
Y(dest(f)) 4
1
3
1
e
1
0
0
0
1
2
3
4
21Tessellation Representation (3)
- The correctness of the algorithm is based on
Lemma 3 - Let there be tile t1 and tile t2, from Lemma 3 t1
is either above t2, below t2, left of t2 or
right of t2. And only one of this directions is
true. - Since each line of the algorithm is O(n), the
total runtime of the algorithm is O(n). - The size of the Tessellation Representation can
be modified by modifying the topological
numbering (e.g. increasing the numbering to be
0..2..4 instead of 0..1..2 will make a
Tessellation Representation twice bigger).
22Visibility Representation
- Let G be a planar st-graph. A visibility
representation of G draws each vertex v as a
horizontal segment, called vertex segment
, and each edge (u,v) as vertical segment, called
edge segment such that - The vertex segments do not overlap.
- The edge segments do not overlap.
- Edge-segment has its bottom end
point on , its top end-point on
, and does not intersect any other vertex
segment.
23Visibility Representation (2)
24Visibility Representation (3)
4
3
1
4
3
3
2
4
2
2
0
2
1
1
3
1
0
1
0
0
1
2
3
4
25Visibility Representation (4)
4
3
1
4
3
3
2
4
2
2
0
2
1
1
3
1
0
1
0
0
1
2
3
4
26Visibility Representation (5)
- The correctness of the algorithm By lemma 3 and
the construction of the algorithm - Any two vertex segments are separated by a
horizontal or vertical strip of at least unit
width (The vertex segments do not overlap). - Any two edge segments on opposite sides of a face
are separated by a vertical strip of at least a
unit width (The edge segments do not overlap). - Each edge segments (u,v) has its bottom point
intersecting with u vertex segment, and his upper
point intersecting with v vertex segment
(sufficing the 3rd condition). - The runtime of the algorithm is O(n) since each
step is O(n).
27Constrained Visibility Representation
- Let G be a planar st-graph with n vertices. Two
paths of p1 and p2 of G are said to be
nonintersecting if - They are edge disjoint.
- And do not cross at common vertices.
p1
p2
p3
28Constrained Visibility Representation (2)
- Given a collection ? of nonintersecting paths of
G, we consider the problem of constructing a
visibility representation G of G such that for
every path p in ? we have the following
constraint - Any two edges e and e of p, the edge segments
G(e) and G(e) have the same x-coordinate. - Note We assume that ? covers all the edges in
graph G (Such that any edge who is not in any of
the nonintersecting paths in the collection ?, is
a nonintersecting path himself in ?).
29Constrained Visibility Representation (3)
30Constrained Visibility Representation (4)
?p1, p2,p3,p4,p5, p6, p7, p8
4
p8
3
p8
0
p7
0.5
2.5
p7
f5
f6
f5
f6
p6
p1
p6
2
3
1.5
1
-0.5
2
3.5
p1
f4
f7
2
p2
f4
f7
p2
f1
2
f1
1
f3
2.5
f3
p3
p5
f2
p4
f2
0.5
p3
0
1
p4
p5
3
1
0
31Constrained Visibility Representation (5)
4
3
2
1
0
0
1
2
3
3
p8
0
4
p7
0.5
2.5
p8
Total Runtime O(n)
p7
f5
f6
f5
f6
p6
p1
p6
2
3
1.5
1
-0.5
2
3.5
p1
f4
f7
2
p2
f4
f7
p2
f1
2
f1
1
f3
2.5
f3
p3
p5
f2
p4
f2
0.5
p3
0
1
p4
p5
3
1
0
32Polyline Drawing
- We can construct a planar upward polyline drawing
of a planar st-graph G using its visibility
representation. - We draw each vertex in an arbitrary point inside
its vertex segment. - We draw each edge (u,v) of G as a three segment
polygonal chain.
33Polyline Drawing (2)
4
3
2
2
1
1
0
34Polyline Drawing (3)
- Since every step in the algorithm is O(n), the
total complexity runtime is O(n). - We can reduce the number of bends if we put
each place vertex on intersections between an
edge segment and vertex segment.
35Polyline Drawing (4)
- The technique can be extended for constrained
visibility representation of a planar st-graph
which is called constrained-polyline. - In a constrained-polyline all the internal
vertices in a path p in ? are vertically aligned.
The algorithm for Constrained polyline
36Questions???