1
Department of Computer Science and Engineering
Bangladesh University of Engineering and Technology
M. Sc. Engg. ThesisMd. Emran Chowdhury (040805068P)Supervisor: Prof. Dr. Md. Saidur Rahman
2
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
▒ Orthogonal Point-Set Embedding
▒ Conclusion and Future Works
3
Point-Set EmbeddingPoint-Set Embedding
a
c
b
df
e
Sa
c
b
df
e
G
Each vertex is placed at a distinct point
Input
4
Inputf
c
b
d
a
e
a
c
b
df
e
SG
Point-Set EmbeddingPoint-Set Embedding
Each vertex is placed at a distinct point
Each edge is drawn by straight or poly line
Output
Bend
5
Upward Point-Set EmbeddingUpward Point-Set Embedding
f
c
b
d
a
e
a
c
b
df
e
SG
Each edge is drawn upward
Input
Each vertex is placed at a distinct point Output
6
Each edge is drawn upward
Upward Point-Set EmbeddingUpward Point-Set Embedding
ac
b
df
e
G’ S
f
c
b
d
a
e
ac
b
df
e
Ga
cb
df
e
G S
f
c
b
d
a
e
f
c
b
d
a
e
S
G’ has no upward point-
setembedding on
S
Not every graph hasupward point-set embedding
on a fixed point-set
7
1
3
4
2
ac
d
b
Upward Point-Set Embedding with mappingUpward Point-Set Embedding with mapping
ac
d
bS
G
φ
8
ac
d
b
S
G
a
c
d
bφ
a
c
b
d
S
φ’
No upward point-setembedding with this mapping
No upward point-setembedding with this mapping
Upward Point-Set Embedding with mappingUpward Point-Set Embedding with mapping
Finding upward point-set
embedding with mapping is a
real challenge
9
a b
c d
e
j k
g h
f
planar graph G
point-set in the plane
Orthogonal Point-Set EmbeddingOrthogonal Point-Set Embedding
Input
10
a b
c d
e
j k
g h
f
Output j
k
f
h
g
e
c
d
a
b
Orthogonal Point-Set EmbeddingOrthogonal Point-Set Embedding
Each edge is drawn as a sequence ofvertical and horizontal line segments
11
▒ Problem Definition
ContentsContents
▒ Motivation
12
a
b
c
d
e
f
a
bc
d
f
e
InterconnectionGraph
Point-Set Embedding
In VLSI design, often the placesfor the modules are fixed, wehave to connect the modules
w. r. t. the inter connection graph
MotivationMotivation
13
a
b
c
d
e
f
MotivationMotivation
InterconnectionGraph
VLSI Layout
a
bc
d
f
e
It is always desirable to reduce the
number of bends
Point-Set Embedding
14
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
15
Previous Results and Our ResultsPrevious Results and Our Results
Problem Graph classAuthors Results
Giordano et. al. ’07
upward point-set
embedding
Upward planar
digraphs
at most two bends per
edge
Giordano, Liotta, and Whiteside
’09
upward point-set
embedding with mapping
Upward planar
digraphs
at most 2n-3 bends per
edge
This Thesis
upward point-set
embedding with mapping
Upward planar
digraphs
at most n-3 bends per
edge
upper boundon total
number of bends
Upward Point-Set Embedding
16
Rahman et. al. ’99
Orthogonal drawing
Cubic 3-connected plane
graphs
bend optimal drawing
Rahman and Nishizeki ’02
Orthogonal drawing
plane graphs
with ≤ 3
bend optimal drawing
Rahman, Nishizeki
and Naznin ’03
Orthogonal drawing
plane graphs
with ≤ 3
no bend drawing
Previous Results and Our ResultsPrevious Results and Our Results
But, they did not considerthe point-set embedding
Problem Graph classAuthors Results
Orthogonal Drawing
Time complexity = O(n)
17
Previous Results and Our ResultsPrevious Results and Our Results
Kaufman andWiese ’02
Point-set embedding
General planegraphs
2 bends per edge
One can draw the
edge orthogonally
But, the size ofthe vertices may increase
Problem Graph classAuthors Results
Poly-line Point-Set Embedding
Time complexity = O(n2)
18
This Thesis
Orthogonal point-setembedding
3-connected cubic planar
graphs
at most (5n+4)/2 bends in
total
Previous Results and Our ResultsPrevious Results and Our Results
Kaufman andWiese ’02
Point-set embedding
General planegraphs
2 bends per edge
One can draw the
edge orthogonally
This Thesis
Orthogonal point-setembedding with
mapping
4-connected planar graphs
at most 6n bends in
total
Tight upper bound
Problem Graph classAuthors Results
Orthogonal Point-Set Embedding
But, the size ofthe vertices may increaseTime complexity = O(n2)
Time complexity = O(n)
19
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
20
Upward Point-Set EmbeddingUpward Point-Set Embedding
SG Input
Upward Topological Book Embedding
v1
v3
v4v2
v5
1
2
3
4
5
1
2
3
4
5
v1
v3
v4v2
v5
1
2
3
4
5
Upward Point-set Embedding
21
a
c
b
d
Upward Topological Book EmbeddingUpward Topological Book Embedding
ac
d
b
SG
Spine
LeftPage
RightPage
The vertices on the spine
The edges on the pages
Digraph
Upward Topological Book Embedding
22
G contains directed hamiltonian pathG contains directed hamiltonian path
1
3
2
4
7
6
5
A directed path containingall the vertices
A directed path containingall the vertices
1
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
23
G contains directed hamiltonian pathG contains directed hamiltonian path
1
3
2
4
7
6
5
1
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
241
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
251
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
1
2
3
4
5
6
7
261
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
1
2
3
4
5
6
7The drawing …..
• has no edge crossings sinceit has the same embeddingas the original graph
• has no spine crossing• has 1 bend per edge
27
G does not contain directed Hamiltonian path
1
3
2
4
7
6
5
a
b
cd
e
Upward Topological Book EmbeddingUpward Topological Book Embedding
28
a
b
cd
e
1
3
2
4
7
6
5
Upward Topological Book EmbeddingUpward Topological Book Embedding
G does not contain directed Hamiltonian path
29
a
b
cd
e
1
3
2
4
7
6
5
Upward Topological Book EmbeddingUpward Topological Book Embedding
G does not contain directed Hamiltonian path
30
a
b
cd
e
1
3
2
4
7
6
5
a
b
c
d
e
1
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
31
1
32
4
7
6
5
a
bc
d
e
a
b
c
d
e
1
2
3
4
5
6
7
Upward Topological Book EmbeddingUpward Topological Book Embedding
Input digraph 1
2
3
4
5
6
7
Each spine crossingcorresponds to a dummy vertex
32
Calculation of number of BendsCalculation of number of Bends
i
i+1
i+2
j-2
j-1
j
Spine crossing from ito j is at most j-i-2
Spine crossing from ito j is at most j-i-2
The edge (1, n) has no crossingsThe edge (1, n) has no crossings
Spine Crossings per edgeis at most n-4
Spine Crossings per edgeis at most n-4
33
Calculation of number of BendsCalculation of number of Bends
Spine crossing from ito j is at most j-i-2
Spine crossing from ito j is at most j-i-2
The edge (1, n) has no crossingsThe edge (1, n) has no crossings
Spine Crossings per edgeis at most n-4
Spine Crossings per edgeis at most n-4
Bends per edge is at most n-3Bends per edge is at most n-3
34
Calculation of number of BendsCalculation of number of Bends
Spine crossing from ito j is at most j-i-2
Spine crossing from ito j is at most j-i-2
The edge (1, n) has no crossingsThe edge (1, n) has no crossings
Spine Crossings per edgeis at most n-4
Spine Crossings per edgeis at most n-4
Bends per edge is at most n-3Bends per edge is at most n-3
Total number of spine crossings=2(n-4)+3(n-5)+ . . . +k(n-2-k)+p(n-3-k)where p, k are integers
Number of edges which crosses thespine={k(k+1)/2}-1+p
35
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
▒ Orthogonal Point-Set Embedding
36
Orthogonal Point-Set Embedding
3-connected cubic
planar graphs
4-connected planar graphs
( ≤ 4)
4-connected4-regular planar graphs
37
3-connected cubic planar graph
3-connected cubic planar graph
3-connected cubic planar graph G with HC
v2 v1
v3 v4
v5 v6
v7 v8
v9v10
38point-set in the plane
v2 v1
v3 v4
v5 v6
v7 v8
v9v10
3-connected cubic planar graph G with HCPlane embedding
G’ of graph G
3-connected cubic planar graph
3-connected cubic planar graph
39
v2 v1
v3 v4
v5 v6
v7 v8
v9v10
3-connected cubic planar graph
3-connected cubic planar graph
Plane embeddingG’ of graph G
Inner edges
Outeredges
40
v2 v1
v3 v4
v5 v6
v7 v8
v9v10
Inner vertic
es
3-connected cubic planar graph
3-connected cubic planar graph
Plane embeddingG’ of graph G
41
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
v2
v3 v4
v5 v6
v7 v8
v9
3-connected cubic planar graph
3-connected cubic planar graph
v1 v10
42
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
v2
v3 v4
v6
v7 v8
v9
3-connected cubic planar graph
3-connected cubic planar graph
v1 v10
Case 1: Inner edges in left pageCase 1: Inner edges in left page
v5
We have to consider two cases
Case 1: Inner edges in left page
Case 2 : Inner edges in right page
43
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
v2
v3 v4
v6
v7 v8
v9
3-connected cubic planar graph
3-connected cubic planar graph
v1 v10
Case 1: Inner edges in left pageCase 1: Inner edges in left page
CountL= 6
v5
Nice points (L)
44
CountL= 6
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
v2
v3 v4
v6
v7 v8
v9
3-connected cubic planar graph
3-connected cubic planar graph
v1 v10
CountR= 2
Case 2: Inner edges in right pageCase 2: Inner edges in right page
v5
Nice points (R)
45
3-connected cubic planar graph
3-connected cubic planar graph
v2
v3 v4
v6
v7 v8
v9v1 v10
v5
CountL= 6
CountR= 2
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
46
p10
p9
p6
p8
p7
p5
p3
p4
p2
p1
v2
v3 v4
v6
v7 v8
v9
3-connected cubic planar graph
3-connected cubic planar graph
v1 v10
v5
From pigeonhole principle…..
Either count L or count R is at least = (n-2)/2which edges canbe drawn with 1 bend
Left nice points
Right nice points
Total bends= 1.(n-2)/2+2.(3n/2-(n-2)/2-1)+3= n/2-1+3n-n+2-2+3= n/2+2n+2= (5n+4)/2
Computation ofnumber of bends
Computation ofnumber of bends
47
4-connected planar graph G
v2
v1
v3
v4
v5
v6
1
2
3
4
5
6
Point-set S
4-connected planar graph
4-connected planar graph
48
Plane embeddingG’ of graph G
v2
v1
v3
v4
v5
v6
1
2
3
4
5
6
Point-set S
4-connected planar graph
4-connected planar graph
49
v2
v1
v3
v4
v5
v6
1
2
3
4
5
6
4-connected planar graph
4-connected planar graph
Plane embeddingG’ of graph G
Inner edges
Outeredges
v1
v2
v3
v4
v5
v6
50
v2
v1
v3
v4
v5
v6
4-connected planar graph
4-connected planar graph
Inner edges
Outeredges
v1
v2
v3
v4
v5
v6
51
v2
v1
v3
v4
v5
v6
1
2
3
4
5
6
52
1
2
3
4
5
6
Middlevertex
Leftvertex
Right
vertex
G is 4-regular, each vertex is incident to exactly four edgesG is 4-regular, each vertex is incident to exactly four edges
v1
v2
v3
v4
v5
v6
53
1
2
3
4
5
6
Orthogonal Point-set Embedding
Total bends = 3.(2n-1) + 3 = 6n
Computation ofnumber of bends
Computation ofnumber of bends
v1
v2
v3
v4
v5
v6
54
Tight ExampleTight Example
1
2
3
4
5
6
v1
v2
v3
v4
v5
v6
55
Tight ExampleTight Example
1
2
3
4
5
6
v1
v2
v3
v4
v5
v6
Each vertex of G is mapped to a point i in SEach vertex of G is mapped to a point i in S
56
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
▒ Orthogonal Point-Set Embedding
▒ Conclusion and Future Works
57
ConclusionConclusion
upward planar digraph
3-connected cubic planar graphs
4-connected 4-regular planar graphs
n-3 bends per edge
(5n+4)/2 bends in total
6n bends in total
Quadratic
Linear
58
Design a fast algorithm for checkingupward point-set embedding
Minimize the number of bends inupward point-set embedding
Find necessary and sufficient conditionfor orthogonal point-set embedding
Reduce the number of bends for3-connected cubic planar graphs
Find Universal Point-Setsfor sub-classes of planar graphs
Future WorksFuture Works
59
Reference
Hal91 J. H. Halton, “On the thickness of graphs of given degree”, Information Sciences, Vol. 54, pp. 219-238, 1991.
CAR09 M. E. Chowdhury, M. J. Alam, and M. S. Rahman, “On Upward Point-Set Embedding of Upward Planar Digraphs”, Proc. of the 16th
Mathematics Conference of Bangladesh Mathematical Society, 2009.
RNN99 M. S. Rahman, S. Nakano and T. Nishizeki, “A linear algorithm for bend-optimal orthogonal drawings of triconnected cubic plane Graphs”, Journal of Graph Alg. and Appl., http://jgaa.info, 3(4), pp. 31-62, 1999.
RN02 M. S. Rahman and T. Nishizeki, “Bend-minimum orthogonal drawings of plane 3-graphs”, In Proc. International Workshop on Graph Theoretic Concepts in Computer Science (WG '02), Lect. Notes in Computer Science, Springer, Vol. 2573, pp. 367-378, 2002.
60
KW02 M. Kaufmann, and R. Wiese, “Embedding vertices at points: Few bends suffice for planar graphs”. Journal of Graph Algorithms and Applications, 6(1), pp. 115–129 (2002)
GLMS07 F. Giordano, G. Liotta, T. Mchedlidze,and A, Symvonis, “Computing Upward Topological Book Embeddings of Upward Planar Digraphs”, In proceedings of International Symposium on Algorithms and Computation (ISAAC 2007), Springer, Lecture Notes in Computer Science, Vol. 4835, pp. 172–183, 2007.
GLW09 F. Giordano, G. Liotta, and S. H. Whitesides, “Embeddability Problems for Upward Planar Digraphs”, In the proceedings of The 16th International Symposium on Graph Drawing (GD 2008), Springer, Lecture Notes in Computer Science, Vol. 5417, pp. 242–253, 2009.
RNN03 M. S. Rahman, T. Nishizeki, and M. Naznin, “Orthogonal drawings of plane graphs without bends”, Journal of Graph Alg. and Appl., http://jgaa.info, 7(4), pp. 335-362, 2003.
Reference
61
Thank You
62
visual analysis of self-modifiable code,based on computing a sequence of drawingswhose edges are defined at run-time [Hal91]
MotivationMotivation
Upward Point-set Embedding with mapping
That alters its own instructions while it is executing-usually to
reduce the instruction path length and improve performance.
63
MotivationMotivation
• The graphs are specified one at a time
• The vertex locations for the output graphs are determined by the first graph
64
1
2
3
4
5
6Now we draw the edgesof G’-C except long edge
Casevertextype
Drawing
xi+1 > xixi+1 < xi
1 middle URU ULU
2 left RU RULU
3 right LURU LU
65
Casevertextype
Drawing
xi+1 > xixi+1 < xi
1 middle URU ULU
2 left RU RULU
3 right LURU LU
1
2
3
4
5
6Now we draw the edgesof G’-C except long edge
66
1
2
3
4
5
6Now we draw the edgesof G’-C except long edge
vi is a middle vertex
vertextype ( vj )
middle
left
right
(vi , vj ) is inner
otherwise
otheredgeof vj
is (vj , vk )
yi > yk
otherwise
yi > yk
otherwise
Condition
LUR
RUL
LUR
LURD
RUL
RULD
Drawing
67
vertextype ( vj )
middle
left
right
(vi , vj ) is inner
otherwise
otheredgeof vj
is (vj , vk )
yi > yk
otherwise
yi > yk
otherwise
Condition
LUR
RUL
LUR
LURD
RUL
RULD
Drawing
1
2
3
4
5
6
vi is a middle vertex
68
1
2
3
4
5
6
vi is a left vertex
vertexTypeof vj
middle
left
yj > yl > yi
otherwise
otheredgeof vj
is (vj , vk )
yj > yk > yi > yl
Condition
LUR
UR
URD
LURD
UR
LUR
Drawing
(vi , vl ) isother inner
edge
yj > yk > yl > yi
yk > yj > yi > yl > yk
yk > yj > yl > yi > yk
69
yj > yk > yl > yi
vertexTypeof vj
middle
left
yj > yl > yi
otherwise
otheredgeof vj
is (vj , vk )
Condition
LUR
UR
URD
LURD
UR
LUR
Drawing
(vi , vl ) isother inner
edge
yk > yj > yi > yl > yk
yk > yj > yl > yi > yk
1
2
3
4
5
6
vi is a left vertex
yj > yk > yi > yl
70
1
2
3
4
5
6
vi is a right vertex
vertexTypeof vj
middle
right
yj > yl > yi
otherwise
otheredgeof vj
is (vj , vk )
yj > yk > yi > yl
Condition
RUL
UL
ULD
RULD
UL
RUL
Drawing
(vi , vl ) isother inner
edge
yj > yk > yl > yi
yk > yj > yi > yl > yk
yk > yj > yl > yi > yk
71
vertexTypeof vj
middle
right
yj > yl > yi
otherwise
otheredgeof vj
is (vj , vk )
yj > yk > yi > yl
Condition
RUL
UL
ULD
RULD
UL
RUL
Drawing
(vi , vl ) isother inner
edge
yj > yk > yl > yi
yk > yj > yi > yl > yk
yk > yj > yl > yi > yk
1
2
3
4
5
6
vi is a right vertex
72
1
2
3
4
5
6
We now draw the long edge (v1 , vn )
vertextypeof vn
middle DRULD
Drawingvertextypeof v1
left
NA
right
otherwise
DRULDDRUL
rightright
otherwise
DLULDLUR
73
vertextypeof vn
middle DRULD
Drawingvertextypeof v1
left
NA
right
otherwise
DRULDDRUL
rightright
otherwise
DLULDLUR
1
2
3
4
5
6
Orthogonal Point-set Embedding