Upload
willis-riley
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
1
Department of Computer Science and Engineering
Bangladesh University of Engineering and Technology
Md. Emran ChowdhuryDepartment of CSENorthern University
Bangladesh
Muhammad Jawaherul AlamMd. Saidur Rahman
6th International Conference on Electrical & Computer Engineering (ICECE) 2010
2
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward 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
10
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.
11
MotivationMotivation
• The graphs are specified one at a time
• The vertex locations for the output graphs are determined by the first graph
12
MotivationMotivation
In VLSI layout, we often want to find point-set embeddings of planar graphs with fewer bends.
14
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 Paper
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
15
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
16
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
17
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
18
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
19
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
221
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
1
2
3
n-3
n-2
n-1
n
The edge (1, n) has no crossingsThe edge (1, n) has no crossings
30
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
Bends per edge is at most n-3Bends per edge is at most n-3
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
31
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
Bends per edge is at most n-3Bends per edge is at most n-3
n-4 spine crossings
edge (1, n-1)edge (2, n)
n-5 spine crossings
edge (1, n-2)edge (2, n-1)edge (3, n)
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
Spine Crossings per edgeis at most (n-1)-1-2 = n-4
or n-2-2 = n-4
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
32
▒ Problem Definition
ContentsContents
▒ Motivation
▒ Previous Results and Our Results
▒ Upward Point-Set Embedding
▒ Conclusion and Future Works
34
Design a fast algorithm for checkingupward point-set embedding
Minimize the number of bends inupward point-set embedding
Future WorksFuture Works
36
Pseudo-code example Pseudo-code example
repeat N times{ if STATE is 1 increase A by 1 else decrease A by 1
do something with A}
repeat N times{ increase A by 1 do something with A}when STATE has to switch{ replace the op-code increase above with the op-code to decrease}
37
Assembly style self-modifying codeAssembly style self-modifying code
1. Optimization of a state dependant loop.
2. Runtime code generation, or specialization of an algorithm in runtime or load time (which is popular, for example in the domain of real-time graphics).
3. Altering of in lined state of an object, or simulating the high level construction of closures.
4. Patching of subroutine address calling, as done usually at load time of dynamic libraries. Whether this is regarded 'self-modifying code' or not is a case of terminology.