ece6133 final project implementation of the a-tree algorithm · ece6133 final project the a-tree...
TRANSCRIPT
LOGO
Implementation of ECE6133 Final Project
Implementation of the A-Tree Algorithm
Thomas Moon
ContentsContents
Problems in A-tree1
Modified A-tree2
Demo3
Result4
1 Problems in A-tree1.Problems in A-tree
1. Do we need to perform H-move?
S1: dx≥df dy≥df dx p
mx
S1: dx≥df, dy≥dfS2: dx≥df, dy<dfS3: dx<df dy≥df
p
dydfmfwS3: dx<df, dy≥df
H : dx<df, dy<dfmfs
mfw my
s
1 Problems in A-tree1.Problems in A-tree
HH H Set of root
nodes in 1-H
H HH
H H
nodes in 1quadrant
H
…
source(0,0)
1 Problems in A-tree1.Problems in A-tree
H-move=> dx<df, dy<df
H(x,y_max)
NW h ld hNW should haveno root node
…dx=∞, df=# => dx>df
S-move
1 Problems in A-tree1.Problems in A-tree
2. Node IsolationROOT={a,b,c}
b
63 dx dy df mfw mfs move
{ , , }
a
a7
a 6 ∞ 7 c c S3
a a’
a
S3: dx<df, dy≥dfa
c9
f(a)=min{ distx(mfw(a,Fk),a), dx(p,Fk) }
a aS3 move: f(a)
4s =min{ distx(c,a), dx(p,Fk) }
=min{ 0, 6 } = 0
1 Problems in A-tree1.Problems in A-tree
2. Node IsolationROOT={a’,b,c}
a
b
63 dx dy df mfw mfs move
{ , , }
S1: dx≥df, dy≥df
a’ a
7
a’ 6 ∞ 0 a a S1
mfwamfw a
c9
mfwS1 move: ’mfw ’
4s
1 Problems in A-tree1.Problems in A-tree
2. Node IsolationROOT={b,c}
a
b
63 dx dy df mfw mfs move
{ , }
a’ a
7
b ∞ 10 16 s s S2
c9
4s
Problems in A-treeProblems in A-tree
2. Node IsolationROOT={b’,c}
3 a
b
6 dx dy df mfw mfs move
{ , }
a’ a
7
b’ ∞ ∞ 6 s s S1
c9
b’
4s
1 Problems in A-tree1.Problems in A-tree
2. Node IsolationROOT={c}
3 a
b
6 dx dy df mfw mfs move
{ }
a’ a
7
c ∞ ∞ 6 b’ b’ S1
c9
b’
4s
1 Problems in A-tree1.Problems in A-tree
2. Node IsolationROOT={.}
3 a
b
6
{ }
a’ a
7
c9
b’
4s
2 Modified A-tree2.Modified A-tree
What’s wrong?ROOT={a,b,c}
b
63 dx dy df mfw mfs move
{ , , }
a
a7
a 6 ∞ 7 c c S3
a a’
a
a
c9
min{ distx(mfw(a,Fk),a), dx(p,Fk) }
a aS3 move:
4s min{ distx(c,a), dx(p,Fk) }
min{ 0, 6 } = 0
2 Modified A-tree2.Modified A-tree
Overlapped Steiner-pointROOT={a’,b,c}
b
63 dx dy df mfw mfs move
{ , , }
a
a
a
7
a’ 6 ∞ 0 a a S1a’
aa aa
c9 S1 move: ’a ’
4s
2 Modified A-tree2.Modified A-tree
Modify S2 & S3When disty(mfs(a,Fk),a) =0 in S2When disty(mfs(a,Fk),a) 0 in S2=>”H-S2”When dist (mfw(a F ) a) =0 in S3When distx(mfw(a,Fk),a) =0 in S3=>”H-S3”
2 Modified A-tree2.Modified A-tree
Simple proof
SH H
H-S
H
H HH
H HH
…source(0,0)
At least one S-move or H-S-move
2 Modified A-tree2.Modified A-tree
Modify S2 & S3When disty(mfs(a,Fk),a) =0 in S2When disty(mfs(a,Fk),a) 0 in S2=>”H-S2”=>Choose dy instead of dist>Choose dy instead of distyWhen distx(mfw(a,Fk),a) =0 in S3=>”H S3”=> H-S3=>Choose dx instead of distx
2 Modified A-tree2.Modified A-tree
Move PriorityMove Priority
S H-S H
2 Modified A-tree2.Modified A-tree
1. No IsolationROOT={a,b,c}
b
63 dx dy df mfw mfs move
{ , , }
a
7
a 6 ∞ 7 c c S3a
c9
f(a)=min{ distx(mfw(a,Fk),a), dx(p,Fk) }
H-S3
4s =min{ distx(c,a), dx(p,Fk) }
=min{ 0, 6 } = 0 => 6
Modified A-treeModified A-tree
1. No IsolationROOT={a,b,c}
b
63 dx dy df mfw mfs move
{ , , }
a
7
a 6 ∞ 7 c c S3aa
’
c9
min{ distx(mfw(a,Fk),a), dx(p,Fk) }
H-S3
4s min{ distx(c,a), dx(p,Fk) }
min{ 0, 6 } = 0 => 6
Modified A-treeModified A-tree
2. Reduce ComputationAccept the first S-move and breakAccept the first S move and break
2 Modified A-tree2.Modified A-tree
3. No 1-Quadrant ConstraintSo far, Dual-Quadrant ver.So far, Dual Quadrant ver.Original A-tree on each quadrant
VSVSAlternative…
2 Modified A-tree2.Modified A-tree
A-tree on each quadrant
Wire Length = 159
2 Modified A-tree2.Modified A-tree
Virtual node on the pole
Wire Length = 151Wire Length 151
3 Demo3.Demo
4 Result4.Result
Run timeBase: compute entire root nodeModified: accept 1st S-moveModified: accept 1 S-move
0.45
0.5
0.3
0.35
0.4
me(s
ec)
0.15
0.2
0.25
Execu
tio
n t
i
base
modified
0
0.05
0.1
100 150 200 250 300100 150 200 250 300
# of Initial nodes
4 Result4.Result
Wire LengthBase: perform A-tree on each quad.Modified: use vertual nodesModified: use vertual nodes
700
750
600
650
700
Len
gth
450
500
550
Wir
e L
base
modified
400
450
100 150 200 250 300
# of Initial nodes