drawing plane graphs

165
Drawing Plane Graphs Takao Nishizeki Tohoku University

Upload: karim

Post on 14-Jan-2016

30 views

Category:

Documents


3 download

DESCRIPTION

Drawing Plane Graphs. Takao Nishizeki. Tohoku University. US President. California Governor. US President. California Governor. What is the common feature?. STATION. STATION. STATION. STATION. STATION. ATM-HUB. ATM-RT. ATM-RT. ATM-SW. STATION. STATION. TPDDI. ATM-HUB. ATM-SW. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Drawing Plane Graphs

Drawing Plane Graphs

Takao Nishizeki

Tohoku University

Page 2: Drawing Plane Graphs

US PresidentCalifornia Governor

Page 3: Drawing Plane Graphs

US PresidentCalifornia Governor

What is the common feature?

Page 4: Drawing Plane Graphs

Graphs and Graph Drawings

A diagram of a computer network

ATM-SW

ATM-SW

ATM-SW

ATM-SW

ATM-SW

ATM-HUBATM-RT

TPDDI

ATM-RT

ATM-HUB

ATM-HUB

ATM-RT

TPDDI

ATM-RT

ATM-HUB

STATIONSTATION

STATIONSTATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATION

STATIONTPDDI

STATIONATM-HUB

STATION

STATION

Page 5: Drawing Plane Graphs

Objectives of Graph Drawings

To obtain a nice representation of a graph so that the structure of the graph is easily understandable.

structure of the graph is difficult to understand

structure of the graph is easy to understand

Nice drawing

Symmetric Eades, Hong

Page 6: Drawing Plane Graphs

Objectives of Graph Drawings

Nice drawing

Ancient beauty

Modernbeauty

Page 7: Drawing Plane Graphs

The drawing should satisfy some criterion arising from the application point of view.

1 2 3

4

57

8

not suitable for single layered PCB

suitable for single layered PCB

1 2 3

4

6

8

57

Objectives of Graph Drawings

Diagram of an electronic circuit

Wire crossings

Page 8: Drawing Plane Graphs

Drawings of Plane Graphs

Convex drawing

Straight line drawing

Page 9: Drawing Plane Graphs

Drawings of Plane Graphs

Rectangular drawing

Orthogonal drawing

Box-rectangular drawing

Page 10: Drawing Plane Graphs

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

Page 11: Drawing Plane Graphs

Straight Line Drawing

Plane graph

Page 12: Drawing Plane Graphs

Straight Line Drawing

Plane graphStraight line drawing

Page 13: Drawing Plane Graphs

Straight Line Drawing

Each vertex is drawn as a point.

Plane graphStraight line drawing

Page 14: Drawing Plane Graphs

Straight Line Drawing

Each vertex is drawn as a point.

Each edge is drawn as a single straight line segment.

Plane graphStraight line drawing

Page 15: Drawing Plane Graphs

Straight Line Drawing

Each vertex is drawn as a point.

Each edge is drawn as a single straight line segment.

Plane graphStraight line drawing

Every plane graph has a straight line drawing.

Wagner ’36 Fary ’48Polynomial-time algorithm

Page 16: Drawing Plane Graphs

Straight Line Drawing

Plane graphStraight line drawing

W

H

W

H

Page 17: Drawing Plane Graphs

Straight Line Grid Drawing

In a straight line grid drawing each vertex is drawn on a grid point.

Plane graph

Straight line grid drawing.

Page 18: Drawing Plane Graphs

Wagner ’36 Fary ’48

Plane graph

Straight line grid drawing.

Grid-size is not polynomial of the number of vertices n

Page 19: Drawing Plane Graphs

Plane graph

Straight line grid drawing.

de Fraysseix et al. ’9022nHW

nW 2

nH

Straight Line Grid Drawing

Page 20: Drawing Plane Graphs

Plane graph

Straight line grid drawing.

de Fraysseix et al. ’9022nHW

nW 2

nH

Chrobak and Payne ’95

Linear algorithm

Page 21: Drawing Plane Graphs

n-2

n-2

Schnyder ’90

W

H

2nHW Upper bound

Page 22: Drawing Plane Graphs

What is the minimum size of a grid required for a straight line drawing?

Page 23: Drawing Plane Graphs

2

3

2

nHW

Lower Bound

nH3

2

nW3

2

Page 24: Drawing Plane Graphs

A restricted class of plane graphs may have more compact grid drawing.

Triangulated plane graph

3-connected graph

Page 25: Drawing Plane Graphs

4-connected ?

not 4-connected disconnected

Page 26: Drawing Plane Graphs

How much area is required for 4-connected plane graphs?

Page 27: Drawing Plane Graphs

W < n/2

H < n/2

=

=

Straight line grid drawing

Miura et al. ’01

Input: 4-connected plane graph G

Output: a straight line grid drawing Grid Size :

Area:2

,n

HW

4

2nHW

Page 28: Drawing Plane Graphs

n-2

n-2

Area < 1/4=

Area=n2 Area<n /42

W < n/2

H < n/2

=

=

.. =

plane graph G 4-connected plane graph G

Schnyder ’90 Miura et al. ’01

Page 29: Drawing Plane Graphs

The algorithm of Miura et al. isbest possible

2

nH

2

nW

4

2nHW

Page 30: Drawing Plane Graphs

|slope|>1|slope|>1|slope|>1

Main idea

G

Step2: Divide G into two halves G’ and G”

n/2=9

G”

G’1 2

n-1=17 n=18

347

8 56

1410

15 16

1311

12

W < n/2 -1=

W/2

W/2

1

G’

G”

Step3 and 4 : Draw G’ andG” in isosceles right-angledtriangles

G

n/2

n/2 -1

Step5: Combine the drawings of G’ and G”

Triangulate all inner faces

1 2

n-1=17 n=18

347

8 56

14

910

15 16

1311

12

Step1: find a 4-canonical ordering

|slope|<1=

Page 31: Drawing Plane Graphs

Straight line drawing

Convex drawing

Draw a graph G on the plane “nicely”

A convex drawing is a straight line drawing where each face is drawn as a convex polygon.

Page 32: Drawing Plane Graphs

Convex drawing

Convex Drawing

Tutte 1963Every 3-connected planar graph has a convex drawing.A necessary and sufficient condition for a plane graph to have a convex drawing. Thomassen ’80

Page 33: Drawing Plane Graphs

Convex drawing

Convex Drawing

Tutte 1963Every 3-connected planar graph has a convex drawingA necessary and sufficient condition for a plane graph to have a convex drawing. Thomassen ’80

Chiba et al. ’84

O(n) time algorithm

Page 34: Drawing Plane Graphs

n-2

n-2

Convex Grid Drawing

Chrobak and Kant ’97

2nHW

Input: 3-connected graph

Output: convex grid drawing

Area

Grid Size

Page 35: Drawing Plane Graphs

Input : 4-connected plane graph

W

H

Miura et al. 2000

Output: Convex grid drawing

1 nHW

4

2nHW

Half-perimeter

Area

Convex Grid Drawing

Grid Size

Page 36: Drawing Plane Graphs

Area < 1/4=

3-connected graph 4-connected graph

Area

n-2

n-2

W

H

Area

Chrobak and Kant ’97 Miura et al. 2000

2n4

2n

Page 37: Drawing Plane Graphs

W

H

The algorithm of Miura et al. isbest possible

4

2nHW

Page 38: Drawing Plane Graphs

1: 4-canonical decomposition1 2

34 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 54: Decide y-coordinates

1 2 Time complexity: O(n)

916

1 2

34 5

67

8

14

21

12

13

20

10

19

11

1715

18

O(n)[NRN97]2: Find paths

3: Decide x-coordinates

Main idea

Page 39: Drawing Plane Graphs

EA

B

C

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph

Page 40: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Page 41: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Page 42: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Page 43: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph

Page 44: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph Add four corners

Page 45: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

AB

E

C

F

G

D

AB

E

C

F

G

D

Interconnection graph VLSI floorplan

Dual-like graph Add four corners

Rectangular drawing

Page 46: Drawing Plane Graphs

Rectangular Drawings

Plane graph G of 3

Input

Page 47: Drawing Plane Graphs

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Input Output

corner

Page 48: Drawing Plane Graphs

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each vertex is drawn as a point.Input Output

corner

Page 49: Drawing Plane Graphs

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each vertex is drawn as a point.Input Output

corner

Page 50: Drawing Plane Graphs

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each face is drawn as a rectangle.

Each vertex is drawn as a point.Input Output

corner

Page 51: Drawing Plane Graphs

Not every plane graph has a rectangular drawing.

Page 52: Drawing Plane Graphs

Thomassen ’84,

Necessary and sufficient condition

Rahman, Nakano and Nishizeki ’98

Linear-time algorithms

Rahman, Nakano and Nishizeki ’02

Linear algorithm for the case where corners are not designated in advance

Page 53: Drawing Plane Graphs

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

Page 54: Drawing Plane Graphs

G

G has a rectangular drawing if and only if

2-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

Page 55: Drawing Plane Graphs

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex.

Page 56: Drawing Plane Graphs

G

G has a rectangular drawing if and only if

2-legged cycles 3-legged cycles

A Necessary and Sufficient Condition by Thomassen ’84A Necessary and Sufficient Condition by Thomassen ’84plane graphfour vertices of degree 2 are designated as cornersfour vertices of degree 2 are designated as corners

every 2-legged cycle in every 2-legged cycle in GG contains at least two contains at least two designated vertices; anddesignated vertices; and

every 3-legged cycle in every 3-legged cycle in GG contains at least one contains at least one designated vertex.designated vertex. Bad cycles

Page 57: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 58: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 59: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 60: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 61: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 62: Drawing Plane Graphs

Outline of the Algorithm of Rahman et al.

Page 63: Drawing Plane Graphs
Page 64: Drawing Plane Graphs

Bad cycle

Page 65: Drawing Plane Graphs

Bad cycle

Bad cycle

Page 66: Drawing Plane Graphs

Partition-pair

Page 67: Drawing Plane Graphs

Partition-pair Splitting

Page 68: Drawing Plane Graphs

Partition-pair

Page 69: Drawing Plane Graphs

Partition-pair

Page 70: Drawing Plane Graphs

Partition-pair

Rectangular drawing

Page 71: Drawing Plane Graphs

Partition-pair

Rectangular drawing

Time complexity

O(n)

Page 72: Drawing Plane Graphs

Miura, Haga, N. ’03, Working paper

Rectangular drawing of plane graph G with Δ ≤ 4

perfect matching in Gd

Page 73: Drawing Plane Graphs

G

Page 74: Drawing Plane Graphs

Gd

G

Page 75: Drawing Plane Graphs

Gd perfect matching

G

Page 76: Drawing Plane Graphs

G )( 5.1nO

Page 77: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Rectangular drawing

Page 78: Drawing Plane Graphs

EA

B

C

F

G

D

AB

EC

F

G

D

VLSI FloorplanningVLSI Floorplanning

Interconnection graph VLSI floorplan

Rectangular drawing

Unwanted adjacency

Not desirable for MCM floorplanning andfor some architectural floorplanning.

Page 79: Drawing Plane Graphs

A

B

E C

F

G

D

MCM FloorplanningMCM Floorplanning SherwaniSherwani

Architectural FloorplanningArchitectural Floorplanning Munemoto, Katoh, ImamuraMunemoto, Katoh, Imamura

EA

B

C

F

G

D

Interconnection graph

Page 80: Drawing Plane Graphs

A

B

E C

F

G

D

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

EA

B

C

F

G

D

Interconnection graph

Page 81: Drawing Plane Graphs

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

Page 82: Drawing Plane Graphs

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

Page 83: Drawing Plane Graphs

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

A

E

B

FG

CD

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

Page 84: Drawing Plane Graphs

MCM FloorplanningMCM FloorplanningArchitectural FloorplanningArchitectural Floorplanning

A

E

B

FG

CD

EA

B

C

F

G

D

A

E

B

FG

CD

Box-Rectangular drawing

Interconnection graph

Dual-like graph

A

B

E C

F

G

D

dead space

Page 85: Drawing Plane Graphs

Box-Rectangular Drawing

InputPlane multigraph   G

ab

cd

Page 86: Drawing Plane Graphs

Box-Rectangular Drawing

Input OutputPlane multigraph   G

ab

cd

a b

cdBox-rectangular drawing

Page 87: Drawing Plane Graphs

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

Page 88: Drawing Plane Graphs

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.• Each edge is drawn as a horizontal or a vertical line

segment.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

Page 89: Drawing Plane Graphs

Box-Rectangular Drawing

Input

• Each vertex is drawn as a rectangle.• Each edge is drawn as a horizontal or a vertical line

segment.• Each face is drawn as a rectangle.

Plane multigraph   G

ab

cd

a b

cd

Output

Box-rectangular drawing

Page 90: Drawing Plane Graphs

A necessary and sufficient condition for a plane multigraph to have a box-rectangular drawing.

A linear-time algorithm.

Rahman et al. 2000

2 mHW , where m is the number of edges in G.

W

H

a b

cd

Page 91: Drawing Plane Graphs

Algorithm of Rahman et al.

Main Idea: Reduction to a rectangular drawing problem

Page 92: Drawing Plane Graphs

G

Outline

Page 93: Drawing Plane Graphs

G

Outline

G

Replace each vertex of degree four or more by a cycle

Page 94: Drawing Plane Graphs

G

Outline

G linear time[RNN98a]

Rectangular drawing

Page 95: Drawing Plane Graphs

G

Outline

G linear time[RNN98a]

Box-rectangular drawing

Page 96: Drawing Plane Graphs

G

Outline

G linear time[RNN98a]

Box-rectangular drawing

Time complexity

O(n)

Page 97: Drawing Plane Graphs

Orthogonal Drawings

Input

plane graph Ga b

c

d

efg

h

i

Page 98: Drawing Plane Graphs

Orthogonal Drawings

Input Output plane graph G

a bc

d

efg

h

i

a bc

def

gh

i

Page 99: Drawing Plane Graphs

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.

Input Output plane graph G

bends

a bc

d

efg

h

i

a bc

def

gh

i

Page 100: Drawing Plane Graphs

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.Each vertex is drawn as a point.

Input Output plane graph G

bend

a bc

d

efg

h

i

a bc

def

gh

i

Page 101: Drawing Plane Graphs

Applications

Entity-relationship diagramsFlow diagrams

Page 102: Drawing Plane Graphs

Applications

Circuit schematics

Minimization of bends reduces the number of “vias” or “throughholes,” and hence reduces VLSI fabrication costs.

Page 103: Drawing Plane Graphs

plane graph Ga b

c

d

efg

h

i

a bc

def

gh

iObjectiveObjective

4 bends

de

a b c

fg

hi

minimum number of bends.

9 bend

To minimize the number of bends in an orthogonal drawing.

Page 104: Drawing Plane Graphs

Garg and Tamassia ’96

O n n( log )/ /7 4 1 2 time for plane graph of Δ ≤4

Idea reduction to a minimum cost flow problem

for 3-connected cubic plane graph Idea reduction to a rectangular drawing problem.

Rahman, Nakano and Nishizeki ’99

Bend-Minimum Orthogonal Drawing

Linear

Rahman and Nishizeki ’02

Linear for plane graph of Δ≤3

Page 105: Drawing Plane Graphs

Outline of the algorithm of [RNN99]

G G

1C

2Ca

bc

dG

)( 1CG

)( 2CG

a

b

c

d

orthogonal drawings

b

rectangular drawing of G

a

cd

orthogonal drawing of G

a b

cd

Page 106: Drawing Plane Graphs

Open Problems and Future Research Direction

More area-efficient straight-line or convex drawing algorithms.

Prescribed face areas

Prescribed length of some edgesPrescribed positions of some vertices

Practical Applications

Linear algorithm for rectangular drawings of plane graphs of Δ ≤4.

Drawing of plane graphs with constraints like

2

3

2

nHW for every planar graph?

Linear algorithm for bend-minimal orthogonal drawings of plane graphs of Δ ≤4.

Page 107: Drawing Plane Graphs

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

Page 108: Drawing Plane Graphs

Book

Planar Graph Drawing

by

Takao NishizekiMd. Saidur Rahman

http://www.nishizeki.ecei.tohoku.ac.jp/nszk/saidur/gdbook.html

Page 109: Drawing Plane Graphs

ISAAC in Sendai, Tohoku

Probably 2007

Page 110: Drawing Plane Graphs

SendaiKyoto

Tokyo

Page 111: Drawing Plane Graphs
Page 112: Drawing Plane Graphs

Properties of a drawing of G(C)

minimum number of bendsthe six open halflines are free

G(C)

orthogonal drawing of G(C)

x

yz

x

yz

Page 113: Drawing Plane Graphs

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

Page 114: Drawing Plane Graphs

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 5

1 21 2

3

4 5

67 8

9

10

20 21

Add a group of vertices one by one.

Page 115: Drawing Plane Graphs

Add a group of vertices one by one.

Main idea

   4-canonical decomposition1 2

3

4 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 5

1 2

Page 116: Drawing Plane Graphs

1:4-canonical decomposition1 2

34 5

67 8

9

1011 12

131415

16

1718 19

20 21

13

1415

16 1718 19

20 21

11 12

9 107 86

3 4 54: Decide y-coordinates

1 2 Time complexity: O(n)

916

1 2

34 5

67

8

14

21

12

13

20

10

19

11

1715

18

O(n)[NRN97]2: Find paths

3: Decide x-coordinates

Main idea

Page 117: Drawing Plane Graphs

U3

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Uk

Uk

Uk

U12

U11

U10

U9

U8

U7

U6U5

U4

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

G

Page 118: Drawing Plane Graphs

U3

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Page 119: Drawing Plane Graphs

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

Page 120: Drawing Plane Graphs

U9

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Page 121: Drawing Plane Graphs

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

U1

(a generalization of st-numbering)

Page 122: Drawing Plane Graphs

U5

4-canonical decomposition[NRN97](a generalization of st-numbering)

Gk -1

Gk

face

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Page 123: Drawing Plane Graphs

U1

U12

U11

U10

U9

U8

U7

U6U5

U4

U3

U2

4-canonical decomposition[NRN97]

1 2

3

4 5

67

89 10

11

1213 1415

16

1718 19

20 n = 21

(a generalization of st-numbering)

Gk

Gk -1

(a)

Gk

Gk -1

Gk

Gk -1

(b)

(c)

face

face

Uk

Uk

Uk

G

O(n)

Page 124: Drawing Plane Graphs

Orthogonal Drawings

Each edge is drawn as an alternating sequence of horizontal and vertical line segments.

Each vertex is drawn as a point.

ApplicationsApplicationsCircuit schematics, Data-flow diagrams, Entity-relationship diagrams [T87, BK97].

ObjectiveObjectiveTo minimize the number of bends in an orthogonal drawing.

Input Output plane graph G

an orthogonal drawing with the minimum number of bends.

9 bends

4 bends

a bc

d

efg

h

i

a bc

def

gh

i

de

a b c

fghi

Page 125: Drawing Plane Graphs

Known ResultKnown ResultGarg and Tamassia [GT96]O n n( log )/ /7 4 1 2

time algorithm for finding an orthogonal drawing of a plane graph of Δ ≤4 with the minimum number of bends.

Idea reduction to a minimum cost flow problem

A linear time algorithm to find an orthogonal drawing of a 3-connected cubic plane graph with the minimum number of bends.

Idea reduction to a rectangular drawing problem.

Rahman, Nakano and Nishizeki [RNN99]

A linear time algorithm to find an orthogonal drawing of a plane graph of Δ≤3 with the minimum number of bends.

Idea reduction to a no-bend drawing problem.

Rahman and Nishizeki [RN02]

Page 126: Drawing Plane Graphs

Outline of the algorithm of [RNN99]

G G G

)( 1CG

)( 2CG

1C

2C

rectangular drawing of

G orthogonal drawings

orthogonal drawing of G

Properties of a drawing of G(C)

minimum number of bendsthe six open halflines are free

G(C)

orthogonal drawing of G(C)

a

bc

d

a

bc

d

ab

cd

a b

cd

x

yz

x

yz

Page 127: Drawing Plane Graphs

Rectangular Drawings

Rectangular drawing of GPlane graph G of 3

Each edge is drawn as a horizontal or a vertical line segment.

Each face is drawn as a rectangle.

Each vertex is drawn as a point.Input Output

corner

Not every plane graph has a rectangular drawing.

Thomassen [84], Rahman, Nakano and Nishizeki [02]

A necessary and sufficient condition.Rahman, Nakano and Nishizeki [98, 02]

A linear time algorithm

Page 128: Drawing Plane Graphs

Rectangular Drawing Algorithm of [RNN98]

Splitting

Partition-pairInput

Page 129: Drawing Plane Graphs

rectangular drawing of each subgraph

Partition-pair

Page 130: Drawing Plane Graphs

Modification of drawingspatching

Rectangular Drawings

Page 131: Drawing Plane Graphs

Box-Rectangular Drawing

Input Output• Each vertex is drawn as a (possibly degenerated) rectangle on an

integer grid.• Each edge is drawn as a horizontal or a vertical line segment along grid

line without bend.• Each face is drawn as a rectangle.

Rahman, Nakano and Nishizeki [RNN00]A necessary and sufficient condition.

A linear-time algorithm.

Plane multigraph

Reduce the problem to a rectangular drawing problem.

Page 132: Drawing Plane Graphs

Conclusions

We surveyed the recent algorithmic results on various drawings of plane graphs.

Open Problems

Rectangular drawings of plane graphs of Δ ≤ 4.

Efficient algorithm for bend-minimal orthogonal drawings of plane graphs of Δ ≤ 4

Parallel algorithms for drawing of plane graphs.

Page 133: Drawing Plane Graphs

1

2

3

4

5

678

9

10

1112

1314

1516

17

12

3

4

5

6

7

89

1017

1112

13

14

1516

Application VLSI floorplanning

Interconnection Graph Floor plan

Page 134: Drawing Plane Graphs

1

23

4

5

6789

10

11 12

13

14

1516

17

1

23

4

5

6789

10

11 12

13

14

1516

17

Dual-like graph Insertion of four corners

Page 135: Drawing Plane Graphs

1

2

3

4

5

678

9

10

1112

1314

1516

17

12

3

4

5

6

7

89

1017

1112

13

14

1516

Application VLSI floorplanning

Interconnection Graph Floor plan

Page 136: Drawing Plane Graphs

st-numbering[E79](2-connected graph )

(1) (1,n) is an edge of G(2) Each vertex k, 2 < k < n-1, has at least one neighbor and at least one upper neighbor

1 2

n=12

3

4

78

5

6

10

11

9

= =

Page 137: Drawing Plane Graphs

1 2

3

47

8 56

1410

1516

1311

12

9

Step 1: 4-canonical ordering [KH97] (4-connected graph)

(1) (1,2) and (n,n-1) are edges on the outer face

(2) Each vertex k, 3 < k < n-2, has at least two lower neighbors and has at least two upper neighbors

n-1=17 n=18

= =

(a generalization of st-numbering)

Page 138: Drawing Plane Graphs

G’’

G’ |V’|= n/2

|V”|= n/2

Step 2:   Divide G into G’and G”

1 2

n-1=17 n=18

3

47

8 56

1410

1516

1311

12

n/2 =9

Page 139: Drawing Plane Graphs

Step 3:   Draw G’ in an isosceles right-angled triangle

G

1 2

347

8 56

9

G’ |V’|= n/2

|slope| < 1 =

1 2

|slope| > 1

1 2

W/2

W < n/2 -1=

Page 140: Drawing Plane Graphs

G

1 2

347

8 56

9

G’ |V’|= n/2

1 :外周上の辺の傾きは高々 12 :外周上で点 1 から 2 へ時計回りに進む道の描画は x- 単調

| 外周上の辺の傾き | < 1 =

x- 単調

1 2| 外周上の辺の傾き | > 1

x- 単調ではない

1 2

Step 3:   Draw G’ in an isosceles right-angled triangle

Page 141: Drawing Plane Graphs

shift and put k

各点の座標の決め方

1 2

3

G3Initialization :

k

Gk

1 :外周上の辺の傾きは高々 12 :外周上で点 1 から 2 へ時計回りに進む道の描画は x- 単調

各点 k, 4 < k < n/2 = =

k

Gk -1

Page 142: Drawing Plane Graphs

The drawing of the path passing through all k’s neighbors is “weakly convex”

k

k

“weakly convex”

not “weakly convex”

Page 143: Drawing Plane Graphs

k

Gk -1

Case 1 : k has exactly one highest neighbor

shift and put k

Gk

k

The rightmost neighbor of k is higher than the leftmost neighbor

Page 144: Drawing Plane Graphs

shift and put k

k

Gk

k

Gk -1

The rightmost neighbor of k is higher than the leftmost neighbor

Case 2 : k has exactly two or more highest neighbor

Page 145: Drawing Plane Graphs

Drawing of G’

1 2

3

G3

Page 146: Drawing Plane Graphs

shift

Drawing of G’

Page 147: Drawing Plane Graphs

+4

Drawing of G’

Page 148: Drawing Plane Graphs

shift

Drawing of G’

Page 149: Drawing Plane Graphs

+5

Drawing of G’

Page 150: Drawing Plane Graphs

shift

Drawing of G’

Page 151: Drawing Plane Graphs

+6

Drawing of G’

Page 152: Drawing Plane Graphs

shift

Drawing of G’

Page 153: Drawing Plane Graphs

+7

Drawing of G’

Page 154: Drawing Plane Graphs

shift

Drawing of G’

Page 155: Drawing Plane Graphs

+8

Drawing of G’

Page 156: Drawing Plane Graphs

shift

Drawing of G’

Page 157: Drawing Plane Graphs

+9

Drawing of G’

Page 158: Drawing Plane Graphs

G’

H’ <W’/2=( n/2 -1)2=

W’ < n/2 -1=

Shift one time for each vertex

Drawing of G’

Page 159: Drawing Plane Graphs

G’

G”

W < n/2 -1

W/2

W/2

1

=

Step 5: Combine the drawing of G’ and G”

Page 160: Drawing Plane Graphs

Step 5: Combine the drawing of G’ and G”

G’

G”

W < n/2 -1

W/2

W/2

1

=

| 辺の傾き |>1

| 外周上の辺の傾き | < 1 =

Page 161: Drawing Plane Graphs

| 外周上の辺の傾き | < 1 =

G’

G”

| 辺の傾き |>1

Step 5: Combine the drawing of G’ and G”

Page 162: Drawing Plane Graphs

x- 単調

G’

G”

Step 5: Combine the drawing of G’ and G”

Page 163: Drawing Plane Graphs

G’

G”

W < n/2 -1

W/2

W/2

1

=

G

W < n/2 -1

H< n/2

=

=

Step 5: Combine the drawing of G’ and G”

Page 164: Drawing Plane Graphs

W = n/2 -1

H = n/2

Output: a straight line grid drawing Grid Size :

(W +H < n-1) W < n/2 -1, H < n/2

== =

Area: W x H < = ( )n -12

2 W < n/2 -1

H < n/2

=

=

Input: 4-connected plane graph G

The algorithm isbest possible

Miura et al. ‘01

Page 165: Drawing Plane Graphs

ObjectiveObjective

To minimize the number of bends in an orthogonal drawing.

an orthogonal drawing with the minimum number of bends.

4 bends

de

a b c

fg

hi

9 bends

a bc

def

gh

i