octagonal drawings of plane graphs with prescribed face areas takao nishizeki (tohoku univ.)...
TRANSCRIPT
Octagonal Drawings of Plane Graphs with Prescribed Face Areas
Takao Nishizeki (Tohoku Univ.)
指定面積的平面図的八角形描画
西関 隆夫 (東北大学)
ツディン メンジディ ピンメントウディ バージョシン ミョーワォ
Sendai city
Hsinchu city
Tokyo
Hsinchu city and Sendai city
Only 2400 km
新竹 仙台
仙台
新竹
東京
Tohoku University (東北大学) Tohoku University was established in 1907.
春 夏
秋 冬
Lu Xian and Prof. FujinoBook Cover 1st page
GSIS, Tohoku University Graduate School of Information Sciences (GSIS), Tohoku University, was established in 1993.
150 Faculties
Math.
Robotics
Economics
Human Social Sciences
Interdisciplinary School
情報科学研究科
Transportation
Computer Science
450 students
Book
Octagonal Drawings of Plane Graphs with Prescribed Face Areas
Takao Nishizeki (Tohoku Univ.)
指定面積的平面図的八角形描画
西関 隆夫 (東北大学)
ツディン メンジディ ピンメントウディ バージョシン ミョーワォ
Prescribed-Area Octagonal Drawing
InputPlane graph
K 27
G 19A 46
C 11
J 14
I 12
B 65
D 56
E 23
F 8
H 37
Prescribed-Area Octagonal Drawing
InputPlane graph
A real number for each inner face
K 27
G 19A 46
C 11
J 14
I 12
B 65
D 56
E 23
F 8
H 37
A 46
B 65
C 11D 56
E
23
F 8
H 37
G 19
I 12 J 14
K 27
Prescribed-Area Octagonal Drawing
Input Output
Plane graph Prescribed-area octagonal drawingA real number for each inner face
K 27
G 19A 46
C 11
J 14
I 12
B 65
D 56
E 23
F 8
H 37
A 46
B 65
C 11D 56
E
23
F 8
H 37
G 19
I 12 J 14
K 27
Prescribed-Area Octagonal Drawing
Input Output
Each inner face is drawn as a rectilinear polygon of at most eight corners.The outer face is drawn as a rectangle.
Each face has its prescribed area.
K 27
G 19A 46
C 11
J 14
I 12
B 65
D 56
E 23
F 8
H 37
A 46
B 65
C 11D 56
E
23
F 8
H 37
G 19
I 12 J 14
K 27
Prescribed-Area Octagonal Drawing
Input Output
Each inner face is drawn as a rectilinear polygon of at most eight corners.The outer face is drawn as a rectangle.
Each face has its prescribed area.
ApplicationsVLSI Floorplanning
Each module has area requirements.
Obtained by subdividing a given rectangle into smaller rectangles.
Each smaller rectangle corresponds to a module.
2
1
1
2
Area requirements cannot be satisfied if each module is allowed to be only a rectangle.
2
1
1
2
Area requirements can be satisfied if each module is allowed to be a simple rectilinear polygon.
1
1
2
2
ApplicationsVLSI Floorplanning
It is desirable to keep the shape of each rectilinear polygon as simple as possible.
Our Results
G: a good slicing graph
O(n) time algorithm.
Slicing Floorplan
Slicing Floorplan
A slicing floorplan can be obtained by repeatedly subdividing rectangles horizontally or vertically.
Slicing Floorplan and Slicing Graph
Slicing Floorplan Slicing Graph
corner
Not a Slicing Floorplan Not a Slicing Graph
Slicing Tree
Slicing Tree
P1
Slicing Tree
P1
P : V1
root
Slicing Tree
P1
P : V1
Right subgraph becomes right subtree
Left subgraph becomes left subtree
root
Slicing Tree
P2
P : V1
root
Slicing Tree
P2
P : V1
P : V2
root
Slicing Tree
P3
P : V1
P : V2
root
Slicing Tree
P3
P : V1
P : V2
P : H3
root
Slicing Tree
P3
P : V1
P : V2
P : H3
Upper subgraph becomes right subtree
Lower subgraph becomes left subtree
root
Slicing Tree
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
root
Good Slicing Graph
A slicing tree is good if each horizontal slice is a face path.
P
E
P P P
PP
P
P
P
P
f
f
ff
f
ff
ff
1 23
5
4
67
8
9
1
2
34
5
6
7
8
9
10f
P
P
N
S
W
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
P
Three face paths
On a boundary of a single face
Not a face path
Good Slicing Graph
A slicing tree is good if each horizontal slice is a face path.
P P P
PP
P
P
P
P
f
f
ff
f
ff
ff
1 23
5
4
67
8
9
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Good Slicing Graph
A slicing tree is good if each horizontal slice is a face path.
P P P
PP
P
P
P
P
f
f
ff
f
ff
ff
1 23
5
4
67
8
9
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
We call a graph a good slicing graphif it has a good slicing tree.
Good Slicing Graph
For a horizontal slice, at least one of the upper subgraphand the lower subgraph cannot be vertically sliced.
Cannot be vertically sliced
Can be vertically sliced
Not every slicing graph is a good slicing graph.
Input
P P P
PP
P
P
P
P
f
f
ff
f
ff
ff
1 23
5
4
67
8
9
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
A Good Slicing Graph
A Good Slicing Tree
Output
Prescribed-areaOctagonal drawing
Each inner face is drawn as a rectilinear polygon with at most eight corners.
Particularly, each inner face is drawn as a rectilinear polygon of the following nine shapes.
A 46
B 65
C 11D 56
E
23
F 8
H 37
G 19
I 12 J 14
K 27
Octagons8 corners
6 corners 4 corners
OctagonsA 46
B 65
C 11D 56
E
23
F 8
H 37
G 19
I 12 J 14
K 27
Do not appear
Feasible Octagons
Octagons of nine shapes must satisfy some conditions on size
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
First traverse root
Algorithm
Then traverse the right subtree
Finally, traverse the left subtree
Depth-first search
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P1
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P1
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P2
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P3
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P3
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P4
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Algorithm
f
f
ff
f
ff
ff
1
2
34
5
6
7
8
9
10f
Algorithm
Initialization at root
Algorithm
Initialization at rootDraw the outer cycle as an arbitrary rectangle of area A(G).
A(G): sum of the prescribed areas of all inner faces in G.
Algorithm
Initialization at rootDraw the outer cycle as an arbitrary rectangle of area A(G).
A(G): sum of the prescribed areas of all inner faces in G.
Algorithm
Initialization at rootDraw the outer cycle as an arbitrary rectangle of area A(G).
A(G): sum of the prescribed areas of all inner faces in G.
59
15
8
46081595)( GA
Algorithm
Initialization at rootDraw the outer cycle as an arbitrary rectangle of area A(G).
A(G): sum of the prescribed areas of all inner faces in G.
59
15
8
W = 23
H = 20
46081595)( GA 2023
Algorithm
Initialization at rootDraw the outer cycle as an arbitrary rectangle of area A(G).
A(G): sum of the prescribed areas of all inner faces in G.
Fix arbitrarily the position of vertices on the right side of the rectangle preserving their relative positions.
Root : vertical sliceOperation at root
Algorithm
A(G)
Pr : V
Pv : VPw : V
r
vw
A(Gv)A(Gw)
Pr
A(Gw) A(Gv)
Root : vertical sliceOperation at root
Algorithm Pr : V
Pv : VPw : V
r
vw
Root : vertical sliceOperation at root
Algorithm Pr : V
Pv : VPw : V
r
vw
Root : vertical sliceOperation at root
Algorithm Pr : V
Pv : VPw : V
r
vw
Root : vertical sliceOperation at root
Algorithm Pr : V
Pv : VPw : V
r
vw
Root : vertical sliceOperation at root
Algorithm Pr : V
Pv : VPw : V
r
vw
Root : horizontal sliceOperation at root
AlgorithmPr : H
Pv : VPw : V
r
vw
RA(Gv)
A(Gw)
Root : horizontal sliceOperation at root
AlgorithmPr : H
Pv : VPw : V
r
vw
A(Gw)
A(Gv) R
Case 1: A(Gv) = A(R)
A(Gv)
A(Gw)
Root : horizontal sliceOperation at root
Algorithm
A(Gw)
A(Gv)
Case 2: A(Gv) > A(R)
RA(Gv)
A(Gw)
Root : horizontal sliceOperation at root
Algorithm Case 3: A(Gv) < A(R)
Case 2: A(Gv) > A(R)
A(Gw)
A(Gv)A(Gv)
A(Gw)
Root : horizontal sliceOperation at root
Algorithm
6 corners A(Gw)
A(Gv)
Case 3: A(Gv) < A(R)
Case 2: A(Gv) > A(R)
A(Gw)
A(Gv)A(Gv)
A(Gw)
Polygon of exactly 8 corners may appearwhen a horizontal slice is embedded insidea polygon of 6 corners.
6 corners
8 corners
Pu : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon
Ru
Vertical slice
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon
Ru
Vertical slice Fixed
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon
Ru
Vertical slice FixedFace
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon
Ru
Embed the slicing path in Ru
Vertical slice
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon
Ru
Vertical slice
Feasible Octagon
Rv
Feasible Octaon
Rw
A(Gv )
A(Gw)
A(Gv) A(Gv)
A(Gw)
Large
10 corners
Horizontal slice
very small foot-lenght
Ru
Pu
fA(Gv)
10 corners
very small foot-lenght
Ru
Pu
f
Hf
Aminf number of inner faces in G
very small foot-lenght
Ru
Pu
f
Hf
Aminf number of inner faces in G
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 8
very small foot-lenght
Ru
Pu
f
Hf
Aminf number of inner faces in G
H height of initial rectangle Rr
Input at root Rr
A(R ) = A(G)r
H=20
very small foot-lenght
Ru
Pu
f
Hf
Aminf number of inner faces in G
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 82015
8
A(R ) = A(G)r
H=20
very small foot-lenght
Ru
Pu
f
Hf
Aminf number of inner faces in G
very small foot-lenght
Ru f
large enough
East side
very small foot-lenght
Ru f
large enoughEf
East side
Ef The number of inner faces each of which has an edge on the east side.
Computation at a leaf node
PE
PW
PS
NP
PE
PW
PS
NP
Time Complexity
Overall time complexity is linear.
Conclusion
We have presented a linear algorithm for prescribed area octagonal drawings of good slicing graphs.
Obtaining such an algorithm for larger classes of graphs is our future work.
We also give a sufficient condition for a graph of maximum degree 3 to be a good slicing graph and give a linear-time algorithm to find a good slicing tree of such graphs.
A sufficient condition for a good slicing graph
A good slicing tree can be found in linear time for a cyclically 5-edge connected plane cubic graph.
Cyclically 5-edge Connected Cubic Plane Graphs
Removal of any set of less than 5-edges leaves a graph such that exactly one of the connected components has a cycle.
X
XX
X
X
XX
X
XX
X
X
Not cyclically 5-edge connected
Two connected componentshaving cycles.
No connected component has a cycle.
A sufficient condition for a good slicing graph
Any graph G obtained from a cyclically 5-edge connected plane cubic graph by inserting four vertices of degree 2 on outer face is a good slicing graph.
Augmentation
Augmentation
Algorithm
Initialization at root
Ru
PE
If a large number of inner faces have edges on PE then foot-lengh should be large enough.
Dimensions of Ru play crucial roles.
large
Dimensions of a Feasible Octagon ?
lt
lb
lt
lb
flfl bEt
f number of inner faces in G
Ef The number of inner faces each of which has an edge on the east side.
a positive constant.
Hf
Amin0
lt
lb
f number of inner faces in G
Ef The number of inner faces each of which has an edge on the east side.
a positive constant.
Hf
Amin0
flfl bEt
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 8
lt
lb
f number of inner faces in G
Ef The number of inner faces each of which has an edge on the east side.
a positive constant.
Hf
Amin0
flfl bEt H height of initial rectangle Rr
Input at root Rr
A(R ) = A(G)r
H=20
lt
lb
f number of inner faces in G
Ef The number of inner faces each of which has an edge on the east side.
flfl bEt
a positive constant.
Hf
Amin0
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 82015
8
A(R ) = A(G)r
H=20
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 82015
8
A(R ) = A(G)r
H=20
K 27
G 19A 46
C 11
J
14
I 12
B 65
D 56
E 23
F 8H 37
Input
Amin
Amin = 82015
8
A(R ) = A(G)r
H=20
H height of initial rectangle Rr
Input at root Rr
A(R ) = A(G)r
H=20
a
b
c
d
lt
lb
},max{ bt lll
l < f δ
a
b
c
d
ltu
lbu},max{ butuu lll
l < f δ
Red area < lu H < f δH < Amin
A(Gv )
A(Gw)
A(Gv) A(Gv)
A(Gw)
Large
This situation does not occur.
Eb fl
lblb
Eb fl
lblb
for a facial octagon whose xS1 is convex.bul
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon Ru
Feasible Octagon
Rv
Feasible Octagon
Rw
Time Complexity
Using a bottom-up computation on slicing tree, areaof subgraphs for all internal nodes can be computed inlinear time.
With an O(n) time preprocessing, embedding of theslicing path at each internal node takes constant time.
Overall time complexity is linear.
Computation time at a leaf node is proportional tothe number of non-corner vertices on the west side of the face.
Conclusion
We have presented a linear algorithm for prescribed area octagonal drawings of good slicing graphs.
Obtaining such an algorithm for larger classes of graphs is our future works.
P
P
P
P
N
E
S
W uR
a
b
c
d
ltu
lbu
xN2
xN1
xS1
xS1
},max{ butuu lll
l < f δ
ltu = 0
lbu = 0
lu = 0
If the octagon is a rectangle
Ru is a feasible octagon if Ru satisfies the following eight conditions
(ii) lu < fδ(i) A(Ru) =A(Gu)
(iii) if xN 2 is a convex corner then u
Etu fl
(iv) if xS1 is a convex corner then u
Ebu fl
(v) if both xN2 and xS then u
Etubu fll
Feasible Octagon
uEbu fl
(vi) if both xN1 and xS1 are concave corners then u
Ebutu fll
(vii) if xN 2 is a concave corner then )( u
Etu ffl
(viii) if xS1 is a concave corner then )( u
Ebu ffl
P
E
P P P
PP
P
P
P
P
f
f
ff
f
ff
ff
1 23
5
4
67
8
9
1
2
34
5
6
7
8
9
10f
P
P
P
N
S
W
P : V1
P : V2
P : H4
P : H3P : H7P : H9
P : H8
P : V5
P : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
u
(i) A(Ru) =A(Gu)
Ru
(iii) if xN 2 is a convex corner then u
Etu fl
xN1
xN2
ltu
for a facial octagon whose xN2 is convex.tul
xN1
xN2
ltu
(vi) if xS1 is a convex corner then u
Ebu fl
xs1
xs2
xs1
xs2lbulbu
for a facial octagon whose xS1 is convex.bul
(v) if both xN2 and xS2 are concave corners then u
Etubu fll
xs1
xs2
xN1
xN2
lbu - ltu
(v) if both xN2 and xS2 are concave corners then u
Etubu fll
xs1
xs2
xN1
xN2 lbu - ltu
tubu ll
for a facial octagon whose xN2 and xS2 are concave
(vi) if both xN1 and xS1 are concave corners then u
Ebutu fll
lbu - ltu
butu ll
for a facial octagon whose xN1 and xS1 are concave
Pr : V
Pv : VPw : V
u
vw
General computation at an internal node
Feasible Octagon Ru
Feasible Octagon
Rv
Feasible Octagon
Rw
Embedding of a vertical slicing path
P
P
P
N
E
S
WuR
a
b
c
d
xN2
xN1
xS1
xS1
P
P
P
P
N
E
S
W uR
a
b
c
d
ltu
lbu
xN2
xN1
xS1
xS1
},max{ butuu lll
(ii) lu < f δ
Red area < lu H < f δH < Amin
The vertical slicing path is always embedded as a vertical line segment.
Embedding of a vertical slicing path
P
P
P
N
E
S
W
a
b
c
d
xN2
xN1
xS1
xS1
Rw
Rv
Rw is a rectangewhich is a feasible octagon.
Rv is a feasible octagonsince Ru is a feasible octagon.
Embedding of a horizontal slicing path
xs1
xs2
xN1
xN2
(v) if both xN2 and xS2 are concave corners then u
Etubu fll
Rv
Rw
Ru
vEtubv fll
Both Rv and Rw are feasible octagons.
We can prove for other cases.
Computation at a leaf node x
PE
PW
PS
NP
PE
PW
PS
NP
Algorithm Octagonal-DrawS : V1
S : V2
S : H4
S : H3S : H7S : H9
S : H8
S : V5
S : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
Reverse preorder traversal from root
very small
Intuitively
Ru
Pu A(Gv )
Pu can be embedded successfully although A(Gv) is very large.
Dimensions of Ru play crucial roles.
We call Ru a feasible octagon if Pu can embedded successfully irrespective of size of A(Gv).
P
P
P
P
N
E
S
W xG
AlgorithmS : V1
S : V2
S : H4
S : H3S : H7S : H9
S : H8
S : V5
S : H6
f9f10
f8
f6f7
f4
f3 f2
f5
f1
P
EP
P
P
N
S
WG
Input at root
(a) (b) (c) (d) (e)
Px Px PxPx
Px
A face in Rz may need to be drawn with more than eight corners.
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Computation at a V-node x
Let y be the right child of x and z be left child of x.
Foot Length lx of an Octagon Rx
P
P
P
P
N
E
S
W xG tx
bxlx = max {tx, bx}
P
P
P
P
N
E
S
W uR
a
b
c
d
ltu
lbu
fEf The number of inner faces in Gu
each of which has an edge on the east side.
a positive constant.
fH
Amin0 f number of inner faces in G
H height of initial rectangle Rr
xN2
xN1
xS1
xS1
If the footlength of Rx is resonably small then Rz willalways be drawn as a rectngle.
Px Px PxPx
Px
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Neck Length d of a Facial Octagon
dd d
d
Maximum foot length
P
P
P
N
S
W
G
P
Efdl max
lmax
f : number of faces in G
P
P
N
W P
PE
S
tx
bxlx = max {tx, bx}
H
minAfdH
minAfdHHfdHlx
Estimating d
We fix d such that holds.
Px Px PxPx
Px
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Rz
Ry
Rz is always a rectangle.
Computation at a H-node x
Let y be the right child of x and z be left child of x.
PW
PE
PS
yG tx
bx
NP
zG
xG
PE
PW
PS
tx
bx
NP
yG
zG
xG
PE
PW
PS
tx
bx
NP
yG
zG
xG
According to Areas of Gy and Gz
Satisfying some Invariants
dfbt Exxx |
Exf number of faces in Gx having an edge on
xEP
xEP
xEP
Invariants
tx
tx
bx
bx
dft Exx
dfb Exx
dft Exx
dfb Exx
Invariants
tx
tx
bx
bx
Computation at a leaf node x
PE
PW
PS
tx
bx
NP
yG
zG
xG
PE
PW
PS
tx
bx
NP
yG
zG
xG
Time Complexity
Using a bottom-up computation on slicing tree, areaof subgraphs for all internal nodes can be computed inlinear time.
K 27
G 19
F 8
C 11
J 14
I 12
A 46
B 65
D 56
E 23
H 37
G’11 65
s1
1sEG1s
WG
1sWG 1s
EGs1
76
s2
C B
s2
46
318
242
196
56
140
23
117
4572
37 8 1953
27
12
26
14
s4
s5
E
s5
Ds6
s6
s10
FH G
s7
s8
K s9
JI
s3As4
s3
Time Complexity
Using a bottom-up computation on slicing tree, areaof subgraphs for all internal nodes can be computed inlinear time.
With an O(n) time preprocessing, embedding of theslicing path at each internal node takes constant time.
Exf number of faces in Gx having an edge on
xEP x
EP
xEP
txtx
bx bx
PE
PW
PS
tx
bx
NP
yG
zG
xG
PE
PS
yG tx
bx
NP
zG
xG
Time Complexity
Using a bottom-up computation on slicing tree, areaof subgraphs for all internal nodes can be computed inlinear time.
With an O(n) time preprocessing, embedding of theslicing path at each internal node takes constant time.
Computation time at a leaf node is proportional tothe number of non-corner vertices on the west side of the face.
Computation at a leaf node x
PE
PW
PS
tx
bx
NP
yG
zG
xG
PE
PW
PS
tx
bx
NP
yG
zG
xG
Foot Length lx of an Octagon Rx
P
P
P
P
N
E
S
W xG
tx
bx
lx = max {tx, bx}
According to Areas of Gy and Gz
Satisfying Invariant
A Linear Algorithm for Prescribed-Area Octagonal Drawings
of Plane Graphs
Md. Saidur RahmanKazuyuki MiuraTakao Nishizeki
TOHOKU UNIVERSITY
Previous works on prescribed-area drawing
Thomassen, 1992
Obtained from cyclically 5-edge connected plane cubic graphs by inserting four vertices of degree 2 on outer face.
G:
Cyclically 5-edge Connected Cubic Plane Graphs
Removal of any set of less than 5-edges leaves a graph such that exactly one of the connected components has a cycle.
X
XX
X
X
XX
X
XX
X
X
Not cyclically 5-edge connected
Two connected componentshaving cycles.
No connected component has a cycle.
Previous works on prescribed area drawing
Thomassen, 1992
Obtained from cyclically 5-edge connected plane cubic graphs by inserting four vertices of degree 2 on outer face.
G:
G has a prescribed area straight-line drawing.
An inner face is not always drawn as a rectilinear polygon.
Outer face is a rectangleInner faces are arbitrary polygons
O(n3) time algorithm.
Theorem
Let G be a 2-3 plane graph obtained from a cyclically 5-edgeconnected plane cubic graph by inserting four vertices ofdegree 2 on four distinct edges. Then G is a good slicing graph.
That is, Thomassen’s graph is a good slicing graph.
Cyclically 5-edge Connected cubic graph with four vertices of
degree 2 inserted on outer face
Good Slicing Graphs
Slicing Graphs
Slicing Graph
P
P
P
P
N
E
S
W NS-path
P
P
P
P
N
E
S
WWE-path
G is a slicing graph if either it has exactly one inner face or it has an NS-path or a WE-path P such that both the subgraphs corresponding to P are slicing graphs.
PP
P is called a slicing path.
G: 2-3 plane graph
GG
G
G
PP
P
PW
EN
S