Convex Grid Drawings of Plane Graphs with Rectangular Contours Akira Kamada (Tohoku University)...

106
vex Grid Drawings of Plane Gra with Rectangular Contours Akira Kamada (Tohoku University) Kazuyuki Miura (Fukushima University) Takao Nishizeki (Tohoku University)

Transcript of Convex Grid Drawings of Plane Graphs with Rectangular Contours Akira Kamada (Tohoku University)...

Convex Grid Drawings of Plane Graphswith Rectangular Contours

Akira Kamada (Tohoku University)Kazuyuki Miura (Fukushima University)Takao Nishizeki (Tohoku University)

no edge-intersection

Drawings

1 23

84 5

6

7910 11

12

12

3

8

4

5

6

79

10

11

12

12

3

8

4

5

6

7 9

10

11

12

13

84 5

6

7 9

1011

12

2

plane graph

convex grid drawing

vertex

edge

Convex grid drawing

1 23

84 5

6

7910 11

12

12

3

8

4

5

6

7 9

10

11

12

12

3

8

4

5

6

79

10

11

12

vertex : grid point

edge : straight line segment without edge-intersection

face : convex polygon

plane graph

vertex

edge

outer face

Known results (1)plane graph

2-connected

internally 3-connected

convex grid drawing

known results (1)

Known results (1)plane graph

2-connected

no cut vertexcut vertex

plane graph

2-connected

Known results (1)

u

separation pair

inner vertex

cannot be simultaneouslydrawn as convex polygons

outer vertex

v

plane graph

2-connected

outer vertex

Known results (1)

cannot be simultaneouslydrawn as convex polygons

no outer vertexu

v

u

inner vertex

v

Known results (1)plane graph

2-connected

internally 3-connected

v

u

v

for any separation pair { u , v } of G , 1) both u and v are outer vertices, and 2) each component of G – { u , v } contains an outer vertex

u

v

inner vertex

no outer vertex

u

3-connected

u

Known results (1)plane graph

2-connected

internally 3-connected

convex grid drawing

known results (1)

Decomposition tree

Decomposition tree

separation pair

Decomposition tree

virtual edge

Decomposition tree

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

no more splits are possible

Decomposition tree

merge

triangle

triangle

no more splits are possible

Decomposition tree

merge

ring (cycle)

no more splits are possible

3-connected component3-connected component decomposition tree [HT73]

Decomposition tree

: leaf

Known results (2)convex grid drawing

[CK97], [MAN05]leaves 3

n

n

n vertices

triangular contour

internally 3-connected

leaves 4

leaves 3

Known results (2)

convex grid drawing

decomposition tree

known results (2)

n n size

our result ?

leaves 4 : open problem

polynomial size

2n

Our resultleaves 4 convex grid drawing

n2

rectangular contour

n vertices

Our resultleaves 4 convex grid drawing

rectangular contour

corner vertex

corner vertex

triangular contour

Our resultleaves 4 convex grid drawing

rectangular contour

Our resultleaves 4 convex grid drawing

rectangular contour

corner vertex

Our resultleaves 4 convex grid drawing

Main idealeaves 4

divide

internally 3-connected graphs

leaves 2

new “shift method”

Main ideainner convex grid drawings

internally 3-connected graphs

leaves 2

Main ideaconvex grid drawinginner convex grid drawings

2n

Main ideainput graph convex grid drawing

n2

n vertices

Algorithmleaves 4

internally 3-connected graphs

leaves 2

divide

Algorithmleaves 4

divide

internally 3-connected graphs

leaves 2

Algorithminner convex grid drawings

new “shift method”

internally 3-connected graphs

leaves 2

Algorithminner convex grid drawing

internally 3-connected graphs

leaves 2

U10

U9

U8

U7

U6

U5U4 U2

U1

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

U3

new “shift method”

Canonical decomposition

U10

U9

U8

U7

U6

U5U4 U2

U1

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

U3

Canonical decomposition

Um

U1

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

G5

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U6

U5U4

U3

U2

U1

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G8

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U9

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

Algorithm

U10

U9

U8

U7

U6

U5U4

U3

U2

U1

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

convex polygon①

Algorithminner face

new “shift method”U10

U9

U8

U7

U6

U5U4

U3

U2

U1

Algorithm

slope 0 or 1②

new “shift method”U10

U9

U8

U7

U6

U5U4

U3

U2

U1

concave apex

Algorithm

less than 180

convex apex has upper neighbors③

new “shift method”U10

U9

U8

U7

U6

U5U4

U3

U2

U1

convex apex

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U1

G1

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U2

shift shift

G1

Algorithm

U2

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

shift shift

G2

Algorithm

U3

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G2

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U3

G3

Algorithm

U4

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G3

Algorithm

U4

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G4

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U5

G4

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U5

G5

Algorithm

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

U6

G5

Algorithm

U6

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G6

Algorithm

U7

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G6

Algorithm

U7

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G7

Algorithm

U8

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G7

Algorithm

U8

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G8

Algorithm

U9

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G8

Algorithm

U9

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

G92n1

Algorithm

n1

convex polygon①

slope 0 or 1②

convex apex has upper neighbors③

new “shift method”

Grid size

n12

2n1

n1

G3

G1

G4

G2

U5

U4

U3

U2

U1

2n1

Algorithm

n1

new “shift method”

n12

inner convex grid drawing

internally 3-connected graphs

leaves 2

2n1

Algorithm

n12

2n2n2n2

2

inner convex grid drawings

new “shift method”

internally 3-connected graphs

leaves 2

n1

2n1

Algorithm

n12

inner convex grid drawings

max{ 2n1 , 2n2 }

n22

2nn n1 n2

internally 3-connected graphs

leaves 2

2n2n2

n1

2n

Algorithm

every inner face isa convex polygon

n12

n22

inner convex grid drawings

internally 3-connected graphs

leaves 2

n2

n1

2n

Algorithminner convex grid drawings

n12

n22

| slope | 1

internally 3-connected graphs

leaves 2

n2

n1

2n

Algorithminner convex grid drawings

n12

n22

| slope | 1

internally 3-connected graphs

leaves 2

n2

n1

2n

Algorithmconvex grid drawinginner convex grid drawings

2n

n12

n22

| slope | 1

edge-intersection

non-convex polygon

2n

Algorithmconvex grid drawinginner convex grid drawings

2n

n12

n22

| slope | 1

2n1

2n

Algorithmconvex grid drawinginner convex grid drawings

2n

n12

n22

2n1

| slope | 1 1 | slope |

2n

Algorithmconvex grid drawinginner convex grid drawings

2n

n12

n22

2n1

| slope | 1 1 | slope |

no edge-intersection, and

every face newly createdis a convex polygon

2n

Algorithmconvex grid drawinginner convex grid drawings

2n

n12

n22

n2

2n1

H = n12 2n1 n2

2

n2

2n

Conclusionsleaves 4

n2

linear time

convex grid drawing

n vertices

Conclusionsleaves 4 convex grid drawing

2n

n2

linear time

n vertices

degree 4

3-connected graph

ring degree 4

Conclusions

n vertices

4n

2n

2n1

2n1

2n2

ring degree 4

Conclusions

4n

2n

2n1

2n1

2n2

n vertices

degree 4

degree 3

degree 3

Conclusionsdegree 3

degree 3

n vertices

4n

2n

2n1

2n1

2n2

Open probleminternally 3-connected

leaves 3

convex grid drawing

leaves 4

known results (2) our result

2n n2 size

leaves 5 : open problem

?

Open problemleaves 5

?

convex grid drawing

n vertices

?

Open problemleaves 5

?

convex grid drawing

n vertices

Grid size

2n1

G1

G2

G3

G4

G5

n12

n1

G6

U1

U2 U3

U4U5

U6

U7

Decomposition tree

separation pair

Decomposition tree

virtual edge

Decomposition tree

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

repeat this operationuntil no more splits are possible

Decomposition tree

merge

triangle

triangle

no more splits are possible

Decomposition tree

merge

ring(cycle)

Decomposition tree

3-connected component decomposition tree [HT73]

: leaf

Canonical decomposition

Um

U1

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

G1

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U2

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G2

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U3

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G3

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U4

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G4

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U5

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G5

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U6

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G6

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U7

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G7

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U8

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G8

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U9

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

G9

Canonical decomposition

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

Gk is induced byU1 U2 ∙∙∙ Uk

U10 = Um

Uktwo or more

one or more neighbors

Gk1

Uk

one or more(each vertex)

Gk1

exactly one(leftmost and rightmost vertices)

Canonical decomposition

U10

U9

U8

U7

U6

U5U4

U3

U2

U1

canonical decomposition

= ( U1 , U2 , ∙∙∙ , Um1 , Um )

2n

2n × n2 sizeconvex grid drawing

2n1

n12

n22

n2

n12 n2

2 2n1

( n1 n2 )2 2n1n2 2n1

n2

n n1 n2

n1 , n2 5