• Keine Ergebnisse gefunden

Dawig Gah ehd ad de

N/A
N/A
Protected

Academic year: 2022

Aktie "Dawig Gah ehd ad de"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Methods and Models

Michael Kaufmann and Dorothea Wagner (Eds.)

October 13, 1999

(2)
(3)

1 Drawing Planar Graphs

Rene Weiskircher

7

1.1 Introduction . . . 7

1.2 What is aPlanar Graph? . . . 7

1.3 Planarity Testing . . . 9

1.3.1 The Algorithmof Hopcroft and Tarjan . . . 10

1.3.2 The Algorithmof Lempel,Even and Cederbaum . . . 11

1.4 How toMake aGraph Planar . . . 13

1.4.1 InsertingVertices . . . 14

1.4.2 Deleting Edges . . . 14

1.5 How toMake aPlanar Graph 2-Connected Planar . . . 16

1.6 Convex Representations . . . 18

1.7 Methods Basedon Canonical Orderings . . . 22

1.7.1 The Algorithmof De Fraysseix, Pachand Pollack . . . 23

1.7.2 The Barycentric Algorithm of Schnyder . . . 24

1.7.3 The Straight-Line Algorithmof Kant . . . 26

1.7.4 The Orthogonal Algorithmsof Kant . . . 28

1.7.5 The MixedModel . . . 29

(4)
(5)

1.1 Introduction

When we want to draw a graph to make the information contained in its

structure easilyaccessible, itishighlydesirabletohaveadrawing withasfew

edge crossings as possible. The class of graphs that can be drawn with no

crossings at all is the class of planar graphs. Algorithms for drawing planar

graphs are the mainsubject of this chapter.

First we will give some necessary denitions and some basic properties of

planar graphs. In section 1.3, we will take a closer look at two linear time

algorithmsfortestingif agraphisplanar. Whenagraph isnotplanarbut we

want to apply an algorithmfor drawing planar graphs, we can transform the

graph into a similar planar graph. Section 1.4 gives an overview of methods

for doing this.

Mostdrawingalgorithmspresented inthischapterneeda2-connectedpla-

nar graph asinput. If aplanargraph doesnot have this property, wecan add

edges to make it 2-connected and planar. Section 1.5 describes ways to ac-

complish this. The following sections describe drawing algorithms for planar

graphs. Section 1.6 treats the generation of convex straight-line representa-

tions, whilesection1.7givesanoverviewofsomealgorithmsthat useaspecial

ordering of the verticesof a graph called acanonical ordering.

1.2 What is a Planar Graph?

Todenewhat wemeanbythe termplanargraph werst havetodenewhat

is meantby the term planar representation.

Denition 1.1 (planar representation) A planar representation D of a

graph G=(V;E)is a mappingof the vertices in V to points in the planeand

of the edges in E to open Jordan curves with the following properties:

The representation of edge e =(v

1

;v

2

) connects the representation of v

1

with the representation of v for all edges e 2E.

(6)

The representations of two disjoint edges e

1

= (v

1

;v

2

) and e

2

= (v

3

;v

4 )

have no common points.

Therepresentationof edge e=(v

1

;v

2

)does notcontaintherepresentation

of v

3

2V with v

3 62fv

1

;v

2 g.

If Dis aplanar representation, the set R 2

D isopen and itsregions are

called the faces of D. Since D is bounded, exactly one of the faces of D is

unbounded. This face iscalled the outer face of D.

Usingthe denitionof planarrepresentations, itiseasytodenethe term

planar graph.

Denition 1.2 (planar graph) A graph G is planar if and only if there

exists a planar representation of G.

There is an innite number of dierent planar representations of a pla-

nar graph. We can dene a nite number of equivalence classes of planar

representations of the same graph using the term planar embedding.

Denition 1.3 (planar embedding) Two representations D

1

and D

2 of a

planar graph G realize the same planar embedding of G, if and only if the

following two conditionshold:

Thesimplecycles of Gthatbound thefaces of D

1

are thesamecyclesthat

bound the faces of D

2 .

The outer face in D

1

isbounded by the same cycle of G as in D

2 .

The denitionof aplanar graphabove isvery simplebut itis ageometric

denition. Since the set of all planar representations of a graph is innite

and uncountable,itisnot immediatelyclear howtotest agraphforplanarity.

Kuratowski found acombinatorialdescription ofplanar graphsbut topresent

this description, we have todene the subdivision of a graph.

Denition 1.4 (subdivision) A subdivision of a graph G = (V;E) is a

graph G 0

=(V 0

;E 0

) that can be obtained from G by a sequence of split opera-

tions where we insert a new vertex u and replace an edge e = (v

1

;v

2

) by the

two edges e

1

=(v

1

;u) and e

2

=(u;v

2 ).

Thus, a subdivision of a graph is another graph where some edges of the

originalgraphhavebeenreplacedby pathswhereeveryvertex hasdegreetwo.

Planar graphs are now characterizedby the following:

Theorem 1.5 A graph G is planar if and only if it does not contain a sub-

division of K

5

(the complete graph with 5 vertices, see Figure 1.1(a)) or K

3;3

(7)

(a) K

5

000 000 000 000 000 111 111 111 111 111 00 00

00 00 00 11 11 11 11 11 000 000

000 000 000 111 111 111 111 111

000 000 000 000 000 111 111 111 111 111 00 00

00 00 00 11 11 11 11 11 000 000

000 000 000 111 111 111 111 111

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000

1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111

000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000

111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111

0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000

1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000 000000000000000

111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111 111111111111111

(b)K

3;3

Figure 1.1: Thebasicnon-planargraphs

If a graph G is directed (each edge is anordered pair of vertices), we can

dene a more restricted class of planar graphs, the upward planar graphs.

First we dene the term upward representation.

Denition 1.6 (upward representation) LetG=(V;E)withE V V

beadirectedgraph. ArepresentationofGiscalled upwardiftherepresentation

of every edge is monotonically nondecreasingin the y-direction.

We use this denition to deneupward graphs and upward planar graphs.

Denition 1.7 (upward graph) A directed graph is upward if and only if

it admits an upward representation.

Denition 1.8 (upward planar graph) A directed graph is upward pla-

nar if and only if it admits an upward and planar representation.

It ispossibletotestinlineartime whetheradirected graphadmitsanup-

ward representation(becauseonlyacyclic graphsadmitsucharepresentation)

and, as we will see in the next section, we can test in linear time, whether a

graph admitsaplanar representation. But testingwhether agraphadmits an

upward planar representation is for general graphs NP-complete (Garg and

Tamassia,1994).

AsurveyaboutupwardplanaritytestingcanbefoundinGargandTamas-

sia (1994). We will not treat the topic in this chapter, but algorithms for

drawing upward graphscan be found inDiBattista and Tamassia(1988).

1.3 Planarity Testing

The rst algorithm for testing whether a given graph is planar was devel-

(8)

(Goldstein, 1963). Hopcroftand Tarjanimproved this resulttolinear running

time(HopcroftandTarjan,1974). Anotherlineartimealgorithmforplanarity

testing wasdeveloped by Lempel,Even and Cederbaum (Lempel etal.,1967)

and Booth and Lueker (Booth and Lueker, 1976). We will only give a short

overview of the two linear time algorithms.

1.3.1 The Algorithm of Hopcroft and Tarjan

This overview of the algorithmfollowsthe one in Mutzel (1994). In principle,

thealgorithmworksasfollows: SearchforacycleC whoseremovaldisconnects

the graph. Thencheck recursivelywhether the graphsthatareconstructed by

mergingthe connected componentsof G C and the cycle C are planar. Ina

second step, combine the computed embeddings for the components to get a

planar embedding of the whole graph,if possible.

The algorithm needs a depth rst search tree G 0

= (V;T;B), where V is

the set of DFS numbers of the vertices inG, T is the set of tree edges of the

depthrstsearchtreeand B thesetofbackedges (forDFStreesseeMehlhorn

(1984)). Weassume thatG is2-connected (thisis not arestriction,becausea

graph is planarif and only if allits 2-connected componentsare planar).

Let C be a spine cycle of G, which is a cycle consisting of a path of tree

edges startingatthe root(vertex 1)of the DFStree followed by asingle back

edge back to the root vertex. Because G is 2-connected, such a cycle must

exist. We assume that removing all edges of C splits G into the subgraphs

G

1

;G

2

;:::;G

k

. WedenethegraphsG 0

i

for1ikasthegraphG

i

together

with the cycle C and all the edges in G between a vertex in G

i

and a vertex

on C. First, we recursively check whether each G 0

i

is planar and compute a

planar embedding for it. Planar embeddings are equivalence classes of planar

representations that describe the topology of the representation but not the

length and shapeof edges or the position of vertices(see denition 1.3).

The planarembeddingsofthe G 0

i

must havealledgesand vertices ofC on

the outer face. Now we assume that we have found a suitable embedding for

eachG 0

i

. Wemust test whether wecan combine theseembeddingstoaplanar

embedding of G. The reasonwhy this may failis that each G

i

shares at least

two vertices with C. Figure 1.2 shows how this fact can make it impossible

to embed two graphs G

i

and G

j

onthe same side of C. We say that the two

graphs interlace.

To test whether there is an assignment of the G

i

's to the two sides of C

sothat the resultingrepresentation isplanar,we buildthe interlace graph I

G .

This graph has one vertex for each G

i

and two vertices are adjacent if and

only if they interlace. We can only draw G planar if I

G

is bipartite. If there

is an embedding with the necessary properties for each G 0

i

and the interlace

(9)

G i

G i G j

G j

C C

Figure 1.2: InterlacinggraphsG

i andG

j

that can'tbeembeddedonthesamesideofC

embeddingfor it.

1.3.2 The Algorithm of Lempel, Even and Cederbaum

A vertex-based method for planarity testingis the test developed by Lempel,

Even and Cederbaum (Lempel et al., 1967; Even, 1979). We say that this

test is vertex based because we add the vertices one by one toa special data

structure and check after each step if the information seen so far proves that

the graph is non-planar. This test runs in linear time, like the algorithm of

Hopcroftand Tarjan discussed before.

The input of the algorithm is again a 2-connected graph G = (V;E).

We assume V = fv

1

;v

2

;:::;v

n

g where the numbering of the vertices is an

st-numbering.

Denition 1.9 (st-Numbering) Givenanedgefs;tginagraphG=(V;E)

with n vertices, an st-numbering is a function g :V !f1;:::;ng, such that

g(s)=1, g(t)=n

8v 2V nfs;tg9u;w2V (fu;vg;fv;wg2E ^ g(u)<g(v)<g(w))

Lempel,EvenandCederbaumshowedthatforeveryedgefs;tginanarbitrary

graphG,thereexistsanst-numberingifandonlyifGisbiconnected. Alinear

time algorithmsolving this problemis given inEven (1979).

We deneG

k

as the subgraph of G induced by the vertices with indices 1

to k. This graph is extended to a graph B

k

. For each edge (u;v) 2 E with

u in G

k

and v not in G

k

the graph B

k

has a new virtual vertex and an edge

connectingv tothisvertex. Sotheremaybeseveral virtualverticesinB that

(10)

correspond to the same vertex in G. The idea of the algorithm is to check

whether wecan identify the virtual vertices correspondingto the same vertex

in Gwithout losing the planarity property.

IfGisplanar,B

k

hasaplanarembeddingwhereeachvertex v

i

for1i

k is drawn on y-coordinate i, all virtual vertices are placed on y-coordinate

k+1and alledges aredisjointy-monotonecurves(whichmeansthat they are

only intersected at most once by any horizontal line). Such a representation

is called abush form. Figure1.3 shows anexample for a bush form.

1

8 9 9 9 8 9 8 9

2 3

4

5 6 7

Level 8 7 6 5 4 3 2 1

Figure1.3: Abushform

Letv

i

beavertex inabushform. Ifthe removalof v disconnectsthe bush

form, we call it a split vertex. Let B 0

be the bush-form after the removal of

v

i

. The split-components of v

i

are allthe connected components of B 0

, where

the indices of all vertices are greater than i. Now consider the bush form in

Figure 1.3. Since the labels of the vertices are their st-numbers, it shows the

bush formB

7

. When we wantto draw B

8

, wemust rst transform B

7

so that

all virtual vertices with label 8 form a consecutive sequence on level 8. This

can be done by ipping the split component of vertex 1 which includes the

vertices 2 and 3 around so that the virtual vertices labeled 8 and 9 in the

split componentswaptheirpositions. Wealsohavetomovethevirtual vertex

labeled 9 adjacent to vertex 4 to the right and ip the split component of

vertex 4withthe vertices 6and7. The resultinggraph isshown inFigure1.4.

Ifv is asplit vertex ofa bush form(whichmeans that removing v discon-

nects the bush form),then we can freely permute the split components which

have vertices with higher st-number than v and we can ip each individual

component. There may be several possible ways of producing a consecutive

sequence of the vertices labeled k +1 and since not all may eventually lead

to a planar representation of G, we have to keep track of all of them. This

(11)

1

9 9

9 9 8

4

5

2 3

9 8 8

7 6

8 7 6 5 4 3 2 1 Level

Figure1.4: ThebushformfromFigure1.3hasbeentransformedsothatallverticeslabeled

8formaconsecutivesequence

by Booth and Lueker (Booth and Lueker, 1976). Ifit is not possible tomake

the vertices labeled k+1 consecutive, we know that the graph is not planar.

Otherwise, the algorithm will produce a planar embedding of the graph. In

Mehlhorn and Naher (1999) a detailed description of the complete algorithm

can be found.

1.4 How to Make a Graph Planar

There are many popular algorithmsfor drawing planar graphs and they pro-

duce a great variety of dierent styles of representations. Therefore, itmakes

sense to transform a non-planar graph into a similar planar graph, apply a

graph drawing algorithm for planargraphs to the result and then modify the

resulting representation so that it becomes a representation of the original

non-planar graph. A surveyof methodsfor doingthis can befound inLiebers

(1996).

Quite a drastic way of making a graph planar is to delete vertices. This

method is not used very much in graph drawing, because deleting vertices

changes a graph quite considerably. The problem of deciding for an integer

k if we can make a non-planar graph planar by deletingat most k vertices is

NP-complete (Lewis and Yannakakis,1980).

Another wayof makingagraphplanaristosplit vertices. Thisisarather

complex operation, sowe willgivethe formaldenition fromLiebers (1996).

Denition 1.10 (vertex splitting) Let G = (V;E) and G 0

= (V 0

;E 0

) be

0

(12)

the vertices v

1 and v

2

if the followingconditions are satised:

V = (V 0

nfv

1

;v

2

g)[fvg

E = (E 0

nfuv

i

ju2 V 0

anduv

i 2E

0

fori2f1;2gg

[fuvju2Vnfvgand(uv

1 2E

0

_uv

2 2E

0

)g

Splittinga vertex isalso adrastic operationand is not commonlyused in

graph drawing to planarize graphs. To decide if a non-planar graph can be

made planar by at most k vertex-splitting operations is NP-complete (Faria

et al.,1998).

Two more commonly used ways of transforming a non-planar graph into

a planargraph are the insertionof new vertices and the deletionof edges.

1.4.1 Inserting Vertices

Assume we have a non-planar graph G and a representation D of G with k

crossings. Then we can transform G into a planar graph G 0

in the following

way:

Lete=(u;v)andf =(x;y)betwoedgesthatcross inD. Thenwecan adda

new vertex v

c

to G,remove the edgese and f fromG and insertthe four new

edges e

1

=(u;v

c ), e

2

=(v

c

;v),f

1

=(x;v

c

) and f

2

=(v

c

;y). This is equivalent

toreplacing the crossinginD between e and f by the new vertex v

c

. Ifwe do

this for every pair of crossing edges, we willtransform G into a planar graph

G 0

and D into aplanar representation D 0

of G 0

.

Since the graph G 0

is planar, we can draw it by using any algorithm for

drawingplanargraphs. IfD 00

isthe resultingrepresentation,wecantransform

this representationintoarepresentationoftheoriginalnon-planargraphGby

replacing all the vertices we introduced by crossingsagain. Since we want to

have as few crossings as possible in the resulting representation, we want to

introduce as few new vertices as possible.

Theminimumnumberofverticeswehavetoinsertisequaltotheminimum

numberof crossings in any representation of G. But the problem of deciding

for a graph G if it can be drawn with at most k crossings is NP-complete

(Garey and Johnson, 1983). The only heuristics that are known for inserting

theminimumnumberofverticestoconstructaplanargrapharethealgorithms

for drawing non-planar graphs. By inserting vertices at every crossing of the

representation produced weget aplanar graph.

1.4.2 Deleting Edges

IfGisanon-planargraph,thereisanon-emptysubgraphofGwhichisplanar.

(13)

can derive a planar graph from a non-planar graph by deleting a subset of

its edges. But the problem of deciding for a non-planar graph G = (V;E)

and a number k < jEj if there is a planar subgraph with at least k edges is

NP-complete. This was independently shown by Liu and Geldmacher (Liu

and Geldmacher, 1977), Yannakakis (Yannakakis, 1978) and Watanabe et al.

(Watanabe et al., 1983). The associated NP-hard maximization problem is

to nd a planarsubgraph of aG with the property that there exists noother

planar subgraph that has more edges. This problem is called the maximum

planar subgraph problem. The problemof nding aplanar subgraph, whichis

not apropersubgraph of another planarsubgraph of Gis calledthe maximal

planar subgraph problem and issolvable in polynomialtime.

Denition 1.11 (Maximal planar subgraph) Amaximalplanarsubgraph

of a graph G=(V;E) isa subgraphG 0

=(V;E 0

) of G in which there existsno

edge in E E 0

that can be added to G 0

without losing planarity.

One approachto solving this problemis tostart with the subgraph G

1

=

(V;;) of G and to test for each edge if we can add it to the current solution

without losing planarity. If we can do that, we add the edge and proceed to

the next edge. Since we have to perform a planarity test for eachedge of the

graph andsuch atest canbeimplementedinlinear time,this algorithmhas a

running time of O(nm) where n is the number of vertices in the graph and

m the number of edges.

Di Battista and Tamassia developed a data structure called SPQR-tree,

whichcanbeusedfordecomposingaplanar2-connectedgraphinto3-connected

components and for fast online planarity testing (Di Battista and Tamassia,

1989; DiBattista and Tamassia, 1990; Di Battista and Tamassia, 1996). Us-

ing this data structure, they were able to develop an algorithmfor nding a

maximal planar subgraph in O(mlogn) running time. There is also an al-

gorithm with the same asymptotic running time developed by Cai, Han and

Tarjan(Cai etal., 1993) which is based on the planarity testingalgorithm in

Hopcroftand Tarjan (1974).

LaPoutre(Poutre, 1994)proposed analgorithmforincrementalplanarity

testing yielding an algorithm for the maximal planar subgraph problem run-

ningintimeO(n+m (m;n))where (m;n)istheinverseoftheAckermann

function which grows very slowly. There are even two linear time algorithms

for the problem, one by Djidjev (Djidjev, 1995) and one by Hsu (Hsu, 1995),

which has the best asymptoticrunningtime possible for solving the maximal

planar subgraph problem.

A heuristicfor themaximum planarsubgraphproblemisthe Deltahedron

heuristic (Foulds and Robinson, 1978; Foulds et al., 1985). This heuristic

(14)

subgraph and then places the remainingvertices into the faces of the current

planar subgraph. The sequence of the vertices depends on a chosen weight

function. Leung(Leung, 1992)proposeda generalizationofthis method. The

current planar subgraph has only triangularfaces and in each step, we add a

single vertex and 3 edges or we add 3 vertices and 9 edges. A list of other

heuristics can befound inLiebers (1996).

Junger and Mutzel (Mutzel, 1994; Junger and Mutzel, 1996) proposed a

branchand cut algorithmfor solving the maximum planarsubgraph problem

based onan integerlinear programthat excludes the presence of subdivisions

of K

3;3

and K

5

in the solution graph. The advantage of a branch and cut

algorithm is that it either nds an optimum solution together with a proof

of optimality or nds a solution together with an upper bound on the value

of the optimum solution. For problems of moderate size (about 50 vertices),

their approach nds anoptimal solutionin most cases.

1.5 How to Make a Planar Graph 2-Connected Planar

Many graph drawing algorithms only work for 2-connected or 3-connected

graphs. This istrue for most algorithmspresented in this chapter. Therefore

if we want to draw a graph which does not have the necessary connectivity

property for applying a specic graph drawing algorithm, we can increase its

connectivity by adding new edges (Augmentation). After a representation of

the augmented graph has been computed, we remove the representations of

the additionaledgestoget arepresentationof theoriginalgraph. Sincewe do

not want to change the graph too much, we want to add a minimum number

of edges in the augmentation step.

The planar augmentation problem is the problem of adding a minimum

number of edges to a given planar graph so that the resulting graph is 2-

connected and planar. Kant and Bodlaender (Kant and Bodlaender, 1991)

introducedthis problemandshowed thatitisNP-hard. Theyhavealsogiven

a2-approximationalgorithmrunningintimeO(nlogn)anda 3

2

-approximation

algorithmwith runningtime O(n 2

logn), wheren is the numberof verticesin

thegraph. However, the 3

2

-approximationalgorithmisnotcorrect(Kant,1994)

becausethereareprobleminstanceswhereitcomputesonlya2-approximation.

Fialko and Mutzel developed a 5

3

-approximation algorithm (Fialko and

Mutzel, 1998). The running time of the algorithmis O(n 2

T) where T is the

amortizedtimeboundperinsertionoperationinincrementalplanaritytesting.

Using the algorithm inPoutre (1994), a running time of O(n 2

(k;n)) can be

achieved where isthe inverseAckermann functionandk isO(n 2

). Recently,

the algorithmhas been improved by Mutzel toguarantee a 3

-approximation,

(15)

but this result has not yet been published.

The 5

3

-approximation algorithm works on the block tree of the graph we

want to make 2-connected. The block tree has two types of vertices: The

b-vertices correspond to the maximal 2-connected components of the graph

and the c-vertices to the split vertices (as already mentioned, the removal of

a split vertex disconnects the graph). We have an edge between a c-vertex

and a b-vertex if and only if the corresponding split vertex belongs to the 2-

connected component represented by the b-vertex. The idea is now to insert

edges, mergingpathsoftheblocktreeintosingleblocksuntilthetreehas only

one vertex and is thus2-connected.

1

8

9 7

4 6

5

2 3

7

6

4

4,5

7,9 4,6,7 2

6,8

1,2,4

2,3

Figure 1.5: A graphanditsblocktree

A crucial role in the algorithm is played by the pendants of the block

tree which are b-vertices with degree one. The algorithm connects pendants

via edges if possible and otherwise connects pendants tonon-pendant blocks.

To achieve the approximation ratio, pendants are combined to form larger

structures that are called labels. The algorithm looks at these labels in the

order of decreasing number of pendants and tries to connect the pendants of

twolabelsbyintroducingnewedges. Insertingedgesthatconnectthependants

of two labelsis calleda label matching.

The algorithm prefers certain matchings, but because the resultinggraph

hastobeplanar,notallofthepreferredlabelmatchingscanberealized. Some

(16)

connect pendants of the same label and an additional edge from one of the

pendantsto a non-pendant vertex outside the label.

The approximation guarantee of the algorithm is tight which means that

graphsexistforwhichthe numberofaddededgesis 5

3

oftheoptimumnumber.

Onrealisticinstances,thealgorithmperformsverywellandalmostalwaysnds

a solution that uses atmost one edge more than the optimum solution. This

has beentestedusing abranchandcut algorithmfortheplanaraugmentation

problem developed by Mutzel (Mutzel, 1995)which isable tooptimally solve

instances of realisticsize.

1.6 Convex Representations

Some planar graphs can be drawn in such a way that all cycles that bound

faces are drawn as convex polygons. An example for sucha drawing is shown

in Figure 1.6. Such a representation is only possible if all face boundaries of

thegrapharesimplecycles. Thus, agraphthatisnot2-connectedcanhaveno

convex representation. It has been shown that such a convex representation

exists forall3-connectedgraphs(Tutte,1960)andTuttegaveanalgorithmfor

producing representations of 3-connected graphs which involves solving O(n)

linear equationswhere n is the numberof verticesin the graph(Tutte, 1963).

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

00 00 00 00 11 11 11 11

Figure1.6: Aconvexdrawingofagraph

Chiba, Yamanouchi and Nishizeki have developed an algorithm for pro-

ducing a convex representation of a 2-connected planar graph (if it admits a

convexrepresentation)inlineartime(NishizekiandChiba,1988). Inthesame

paper,they gavealineartimealgorithmfortestingwhethera2-connectedpla-

nar graphadmitsaconvexrepresentation. Thedrawingalgorithmisbased on

the proof of Tutte's result given by Thomassen (Thomassen,1980). The test-

ing algorithmworks by dividing a 2-connected planar graph into3-connected

(17)

of a special graph constructed from the original graph using the algorithm

described in Hopcroftand Tarjan(1974).

To give a short outline of the drawing algorithm, we have to dene what

we mean by the term extendible polygonal representation of a face cycle of a

graph G. A face cycle is a cycle in the graph that is the boundary of a face

(region) of a planar representation of the graph. A convex representation S

of a face cycle S is a convex polygon in which all vertices of S are drawn on

the boundary of S

and each apex of S

is occupied by the representation

of a vertex on S. The polygonal representation S

of S is called extendible

if there is a convex representation of G, in which S

is the outer face of the

representation.

Thomassen showed in Thomassen (1980), that the polygonal representa-

tion S

of S is extendible if and only if the followingconditions hold.

1. Foreachvertexv ofGnotonS,therearethreevertexdisjointpathsfrom

v to verticeson S.

2. There are no connected components C in G S, inwhich all vertices in

S adjacent to a vertex in C are located on the same straight segment P

of S

.

3. Thereis noedge that connects two verticeson astraightsegment of S

.

4. Any cycle in G that does not share an edge with S has at least three

vertices with degree greaterthan 2.

If the conditionsabove are satised, the following algorithmwillcorrectly

compute aconvex representation of G.

The inputofthealgorithmconvex-draw isatripleconsisting ofthegraph

G, a facecycle S of G and an extendible polygonal representation S

of S.

Algorithm convex-draw (G;S;S

):

1. We assume that G has more than 3 vertices, and some of them do not

belongtoS,otherwise,our problemisalreadysolved. Selectanarbitrary

apex vertex v of S

and set G 0

= (G v). Divide G 0

into the blocks

B

1

;:::;B

p

asshown inFigure1.7 according tothe cut vertices onS

.

2. Draw each B

i

convex applying the following procedure:

(a) Let v

i and v

i+1

be the cut vertices that split B

i

from the rest of G 0

.

Then these two vertices have already a xed position, because they

belongto S. These vertices alsobelong tothe outerfacialcycle S

i of

B

i

. We now draw allthe vertices of S

i

that do not belong to S on a

convex polygon S

inside the triangle given by the vertices v;v

i and

(18)

v

i+1

. Eachapex of the polygon isoccupied by a vertex of S

i

whichis

inGadjacenttov. The otherverticesofS

i

are drawnonthe straight

linesegments of S

i .

(b) Recursively call the procedure convex-draw for all blocks with the

arguments (B

i

;S

i

;S

i ).

B 1

B 1

B 1

B 1

v 1

v

v

v 3

v

2

4

Figure1.7: Recursivecomputationofaconvexrepresentation

Thealgorithmfortestingwhethera2-connectedplanargraphhasaconvex

representation relies on determining the separation pairs of the graph. A

separation pair is a pair of vertices whose removaldisconnects the graph.

Denition 1.12 (separation pair) A separation pair of a graph is a pair

of vertices fx;yg V so that there exist two subgraphs G

1

= (V

1

;E

1 ) and

G

2

=(V

2

;E

2

) which satisfy the following conditions:

1. V =V

1 [V

2 , V

1

\V

2

=fx;yg

2. E =E

1 [E

2 , E

1

\E

2

=;, jE

1

j2, jE

2 j2.

A separation pair is called prime separation pair if at least one of the

graphs G

1

and G

2

is either 2-connected oris a subdivision of an edge joining

twovertices with degree greaterthan two.

Inthealgorithmfortestingconvexplanarity,theforbiddenseparationpairs

(FSPs) and the critical separation pairs (CSPs) play a crucialrole.

Denition 1.13 (Forbidden separation pair) A primeseparationpairis

called forbidden separation pair (FSP)if it has at least four split components

(19)

x

y

x

y

Figure 1.8: TwoexamplesofFSPs fx;yg. Theshadedregionsin thedrawingontheright

aresubgraphs.

IfagraphhasanFSP,therecan benoconvexrepresentationofthegraph.

Figure 1.8 shows two examples of FSPs. There is noconvex drawing of these

graphs.

Denition 1.14 (Critical separation pair) Aprimeseparationpairiscalled

criticalseparation pair(CSP)if ithas 3split components ofwhich atleastone

is a path or if it has two split components of which none isa path.

x

y

x

y

Figure 1.9: Twoexamples for CSPs fx;yg. The shaded regions in the drawings are sub-

graphs.

The algorithmconvex-test works asfollows:

1. Find all separation pairs of G by the linear time algorithm described in

Hopcroft and Tarjan (1973) for nding 3-connected components. Deter-

mine the set F of FSPs and the set C of CSPs.

2. If F 6= ;, then there is no convex representation of G. If both F and

(20)

cycle of G as the cycle S that starts the computation. If there isexactly

one pair inC, we choose S as a cycle with the CSP on it, depending on

the structure of the split components. If there is more than one pair in

the set C, wego tothe next step.

3. We transform each CSP with three split components by removing one

component that is a path. Then we connect all vertices of all pairs in

C to a new vertex v

S

and check if the resulting graph G 0

is planar. If

this is not the case, weknow that thereis noconvex representation ofG.

Otherwise, let Z be any planar representation of G 0

. Let S be the face

cycle that surrounds v

S

inZ afterdeletingalledges incident tov

S

. Then

we know that there isa convex representation of G if we choose S as the

start cycle for the recursive computation of the algorithm convex-draw.

This is the case because allCSPs belong to S.

1.7 Methods Based on Canonical Orderings

There are several methods for drawing a planar graph that rely on a special

ordering of the vertices which is oftencalled canonicalordering. The vertices

are ordered and successively added in this special order to a data structure

that describes arepresentation of the graph. In some of these algorithms, the

verticesare added one by onewhile inothersa set ofvertices canbeaddedin

one step. Beforethe executionofone step,thedatastructure alwaysdescribes

a representation of the subgraph induced by the vertices that have already

been added.

Thevertexorderingsusedinallthesealgorithmsandthealgorithmsthem-

selves have several common properties:

1. The ordering isdened by some embeddingof the graph.

2. The ordering ofthe vertices denes anordered partitionV

1

;V

2

;:::;V

k of

the vertices in the vertex set V of the graph. The union of the V

i is V,

each V

i

has at least one vertex and the V

i

are pairwisedisjoint.

3. In step i of the algorithm, the vertices in V

i

together with the edges

that connect them to the vertices in V

1 [V

2

[:::[V

i 1

and the edges

betweenthe verticesinV

i

areaddedtothedatastructure thatdenes the

representation.

4. The set V

1

has at least 2 elements and there is at least one edge in the

subgraph induced byV

1

whichisontheouterfaceofeveryrepresentation

D.

(21)

5. LetS

i

bethedatastructureafterinsertingtheverticesinV

i

andletD

i be

the corresponding representation. Then D

i

is the representation of a 2-

connectedgraphwherealltheverticesadjacenttoverticesinV

i+1

[:::[V

k

are onthe outer face of the representation.

The lastpointisnot truefor thealgorithmproposedby Schnyder (Schny-

der,1990)becauseinthisalgorithm,theverticesareinsertedinsidethetriangle

givenbythethreeverticesinV

1

. Thisalgorithm(describedinsubsection1.7.2

is quite dierent from all others treated in this section, because it computes

three barycentric coordinates for each vertex before computing the x- and

y-coordinates.

1.7.1 The Algorithm of De Fraysseix, Pach and Pollack

The rst algorithmusinga canonicalorderingfor drawingplanar graphswith

straightedgesusingpolynomialarea wasdescribed by DeFraysseix,Pachand

Pollack in 1990 (de Fraysseix et al., 1990). The algorithm draws a planar

triangulated graphon agrid of size (2n 4)(n 2) wheren is the number

of vertices in the graph. The running time of the algorithm is O(nlogn). In

the same paper, the authorsgivealineartime andspace algorithmforadding

edges to a planar connected graph to produce a planar triangulated graph.

The outer faceofthe representationis alwaysa triangle. Thisresult waslater

improved by Kant (Kant, 1996), but his algorithm is very similar to the one

described in de Fraysseix et al.(1990).

Let G = (V;E) be a triangulated graph with a planar representation D

where (u;v)2E is on the outer face. Let = (v

1

;::: ;v

k

) be a numbering

of the vertices in V with v

1

= u and v

2

= v. We dene G

i

as the subgraph

induced by the vertex set fv

1

;:::;v

i

g. The face C

i

is the outer face of the

representation D

i of G

i

thatwe getby removingallrepresentationsof vertices

and edgesfrom D that donot belong toG

i .

Then is acanonical orderingif and onlyif the followingconditions hold

for all 4ik:

The subgraph G

i 1

is 2-connectedand C

i 1

contains the edge (v

1

;v

2 ).

Inthe representation D,the vertex v

i

is in the outer faceof G

i 1

and its

neighbors in G

i 1

form a subinterval of the path C

i 1

with at least two

elements.

Such a canonical ordering exists for any triangulated planar graph and

can be computed in linear time by starting with the representation D and

successively removing singlevertices fromthe outer facethat are not incident

to any chords of the outer face. It is easy to show that such a vertex always

(22)

The invariants of the actual drawing algorithm are that after step i (in-

serting the vertex v

i

and the necessary edges),the following conditions hold:

The vertex v

1

is atposition(0;0)and v

2

atposition (2i 4;0).

Ifthesequenceoftheverticesontheouterfaceisc

1

;c

2

;::: ;c

k

withc

1

=v

1

and c

k

=v

2

, then we have x(c

j

)<x(c

j+1

)for 1j <k.

The edge (c

j

;c

j+1

)has slope+1or 1 for1i<k.

To describe the idea of the drawing algorithm, we dene the left-vertex

c

l

of vertex v

i

as the leftmost vertex on C

i 1

that is adjacent to v

i

. With

leftmost we mean that the vertex comes rst on the path from v

1 viaC

i 1 to

v

2

that doesnot use the edge (v

1

;v

2

). The right-vertex c

r of v

i

is dened as

the rightmost vertex onC

i 1

adjacentto v

i

. From nowonwe willreferto the

vertex c

l +1 onC

i

asthe vertex directly left of c

l on C

i .

When we want toadd the vertex v

i

,we movethe vertices c

l +1 toc

r 1 one

unit to the right while we move the vertices c

r to c

k

two units to the right.

Wealsohavetomovesome innerverticesof the representationtothe rightto

make surethat the representationremainsplanar. This isachieved by storing

for every vertex v on C

i

a set of dependent vertices that have to be moved in

parallelwithv. Whenv vanishesfromthe outercycle, weaddv toitsown list

of dependent verticesand makethis updatedlistthe setof dependentvertices

of the new vertex onthe outer cycle.

Weplace v

i

atthe intersection ofthe linewith slope+1startingatc

l and

the line with slope 1 starting at c

r

. Figure 1.10 shows an example for the

construction of such a representation. This approach can also be applied to

non-triangulated graphsby rst addingedges tomake the graphtriangulated

(augmentation), applying the algorithm,and deleting the additionaledges in

the computed representation.

1.7.2 The Barycentric Algorithm of Schnyder

In the same year, Schnyder described an algorithmfor solving the same task

in time O(n) using a grid of size (n 2)(n 2) (Schnyder, 1990). This

algorithm computes three coordinates for each vertex in the sequence given

by the same canonical ordering used by de Fraysseix, Pach and Pollack. In a

second step,it computes the actualgrid coordinates for the vertices using the

barycentric coordinates.

The vertex positions are dened using a barycentric representation of the

(23)

Figure 1.10: An exampleforthestraight-linealgorithmofdeFraysseix,PachandPollack

Denition 1.15 (barycentric representation) A barycentric representa-

tion of G is an injective function

v 2V !(v

1

;v

2

;v

3 )2R

3

satisfying the following conditions:

1. v

1 +v

2 +v

3

=1 for allvertices v.

2. Foreachedgefu;vgandeachvertexw2fu;vgthereissomek2f1;2;3g

suchthat u

k

<w

k and v

k

<w

k .

A barycentric representation of the input graphis computed by rst con-

structing anormal labeling of theangles ofthe facesof the inputgraph. Since

theinputgraphistriangulated,everyfacehasexactlythreeangles. Theangles

of each faceare numbered 1,2 and 3so that the numbers appear incounter-

clockwiseorderaroundthefaceandforeachinteriorvertex,the anglesaround

it in counterclockwise order form a nonempty sequence of 1's followed by a

nonempty sequence of 2's followed by a nonempty sequence of 3's. Such a

labelingcan beconstructed in lineartime.

For each normal labeling, every edge has two dierent labels on one end

while the labels on both sides of the other end are the same. We call the

repeated label the label of the edge. Thus, each normal labeling denes a

realizer of the graph.

Denition 1.16 (realizer) A realizerof a triangular graph G isa partition

of the interior edgesof G intothreesets T

1 ,T

2 and T

3

ofdirectededges so that

for each interior vertexv the followingconditions are satised:

1. Thevertex v has outdegree 1 in T , T and T .

(24)

2. The counterclockwise order of the edges around v is: leaving in T

1

, enter-

ing in T

3

, leaving in T

2

, entering in T

1

, leavingin T

3

, enteringin T

2 .

Every normal labeling has the following property: For each number in

f1;2;3g there is exactly one vertex on the outer face where every adjacent

angle is labeled i. For each interior vertex, there is exactly one path leaving

the vertex wherealledges are labeledi fori2f1;2;3g. Thispath endsin the

vertex of the outer face where alladjacent edges are labeled i. These 3 paths

leaving each interior vertex dene 3 regions of the graph and the number of

faces ineach of these regionsare the 3 barycentric coordinates of the vertex.

Ifwehave3arbitrarynoncolinearpoints ;and intheplaneandvertex

v has the barycentric coordinates (v

1

;v

2

;v

3

), then drawing every vertex v at

position v

1 +v

2 +v

3

willresult ina planarstraight-lineembedding of the

graph.

1.7.3 The Straight-Line Algorithm of Kant

Kant used the canonical ordering approach to develop several drawing algo-

rithms(Kant,1996). Therst one alsoproduces straight-linerepresentations,

but in contrast tothe algorithmsmentionedbefore, itguarantees that the in-

ner regions are convex for 3-connected graphs, even if it is not the case that

every face of the graph is bounded by 3 edges. This is not necessarily the

case for the algorithms mentioned before, because if we want to apply them

to non-triangulated graphs, we rst have to augment the graph by adding

edges to produce a second graph where every faceis a triangle, then produce

a representation for this graph and nally delete the added edges from the

nal representation. Thus it might happen that not every inner face of the

representation is convex. The algorithmof Kant has a maximum grid-size of

(2n 4)(n 2) and runs inO(n) time. Chrobak and Kant later improved

this algorithmso that it onlyuses anarea of (n 2)(n 2)(Chrobak and

Kant, 1993).

SincethisalgorithmisanimprovedversionofthealgorithmofdeFraysseix,

Pach and Pollack (de Fraysseix et al.,1990), we will onlygive an overview of

the dierences. The algorithmofKantcan alsocopewith 3-connectedgraphs

that are not triangulated. This is achieved by dening the canonical ordering

not as an ordering of the vertices but rather as an ordered partition of the

vertices. LetG=(V;E) be a 3-connectedgraph with aplanar representation

D wherev

1

2V isonthe outer face. Let =(V

1

;::: ;V

k

)be apartitionof V

andG

i

thesubgraphof Ginduced byV

1 [V

2

[:::[V

i

. ThefaceC

i

istheouter

faceofthe representation D

i of G

i

thatweget byremovingallrepresentations

of vertices and edges fromD that do not belong toG

i .

(25)

V

1

=fv

1

;v

2 g, v

1 and v

2

both lieon the outer faceof D and (v

1

;v

2 )2E.

V

k

=v

n and v

n

lieson the outer faceof D with (v

1

;v

n

)2E and v

n 6=v

2 .

Each C

i

for k>1 isa cycle containing (v

1

;v

2 ).

Each G

i

is 2-connected and internally 3-connected (removing any two

inner vertices willnot disconnect the graph).

Foreachi2 f2;::: ;k 1g one of the followingconditions holds:

1. V

i

isasinglevertex zbelongingtoC

i

andhavingatleastoneneighbor

inG G

i .

2. The vertices in V

i

forma chain (apath where all inner vertices have

degree 2) (z

1

;::: ;z

l

) on C

i

where each z

j

has at least one neighbor

in G G

i

. The vertices z

1 and z

l

each have exactly one neighbor in

C

i 1

, and these are the onlyneighbors of the vertices in V

i .

This canonical ordering can be computed in linear time by starting with

the representation D and successively removingchains orsingle vertices from

theouterfacesothattheresultinggraphG 0

is2-connected. Todothisinlinear

time, wehavetostore and updatefor eachfacethe numberof itsverticesand

edgesontheouterfaceandforeachvertex thenumberofadjacentfaceshaving

a separation pair.

Tocomputethe actualrepresentation,thecanonicalorderingisrsttrans-

formedintoaleftmostcanonicalorderingwhichcanbecomputedinlineartime

from a canonical ordering and is necessary for achieving linear running time.

The invariants of the drawing algorithmafter step i (inserting the vertices of

the set V

i

and the necessary edges) are:

v

1

is atposition (0;0)and v

2

atposition (2i 4;0).

Ifthesequenceoftheverticesontheouterfaceisc

1

;c

2

;::: ;c

k

withc

1

=v

1

and c

k

=v

2

, then we have x(c

j

)<x(c

j+1

)for 1j <k.

The only dierence in the actual drawing algorithm compared to the al-

gorithm of de Fraysseix, Pach and Pollack is that we can now insert several

vertices at once. These vertices form a chain and we give them the same

y-coordinate. Figure 1.11 shows an example for the construction of such a

(26)

Figure1.11: Anexampleforthestraight-linealgorithmofKant

1.7.4 The Orthogonal Algorithms of Kant

In thesame paper(Kant,1996), Kant alsogivestwo algorithmsforproducing

orthogonal representations of planargraphs. In an orthogonalrepresentation,

all edges consist only of horizontal and vertical segments. If every vertex is

drawn as apoint,sucha representationcan only be used forplanar graphsin

which every vertex has at most degree 4(4-planar graphs). Since orthogonal

drawing algorithms are explicitly treated in Chapter ??, we will only give a

short overview of the two algorithms. The rst algorithmdraws 3-connected

4-planar graphs on an nn grid with at most d 3

2

ne+4 bends so that each

edge has at most two bends. The second algorithm produces an orthogonal

representationforplanargraphswithmaximumdegree3havingatmostb n

2 c + 1

bendsonagridofsizeb n

2 cb

n

2

c. Therunningtimeofbothalgorithmsislinear.

The algorithmfor producingorthogonal representations of 3-connected4-

planar graphs given in Kant (1996) also uses the canonical ordering. Since

the edges only consist of vertical and horizontal segments, there are exactly

4 directions from which an edge can attach to a vertex v. They are called

up(v), down(v), left(v) and right(v). One of these directions is called free

if we have not yet attached an edge to it. The idea of the algorithm is to

add each vertex v in the canonical ordering to the subgraph that is already

placed so that down(v) is not free and up(v) is free. The algorithm works in

two phases. In the rst phase, we assign the 4 directions of each vertex to

the incident edges and give the vertices the y-coordinates. We also store for

each vertex and bend a pointer toits column. Duringthe algorithm,we may

havetoaddnew columns. Inthe secondphase,weassignx-coordinates tothe

columns and thusindirectly tothe vertices and bends of the representation.

The algorithm in Kant (1996) for drawing planar graphs with maximum

degree 3 is based onan algorithmfor 3-connected graphs with maximum de-

gree 3. This algorithm is similar to the algorithmof the last paragraph, but

wecan placeallverticesofthe samepartitionofthe canonicalorderingonthe

same y-coordinate. The algorithm is generalized for working on 2-connected

3-planargraphsusingSPQR-trees. Werecursivelyusethe algorithmfordraw-

(27)

representation for the whole graph. This method is again generalized to con-

nected 3-planargraphs by drawing every 2-connected component so that the

cutvertexisintheupper-leftcornerandthenmergingtherepresentationsinto

a representation of the whole graph withoutintroducing new bends.

1.7.5 The Mixed Model

Kant also introduces a new method for drawing 3-connected planar graphs

which he calls the Mixed Model. In this model, each edge is a poly-linewhich

may have atmost three bends. Eachedge consists of atmost fourparts. The

parts connected to the vertices may be diagonal, while the two middle parts

of each edges are vertical and horizontal. The principleof the algorithmis to

dene a set of points around each vertex where the orthogonal edges coming

fromotherverticesconnect. Thesepointsdenethe boundaryofthebounding

box ofthevertex. Thepointsarethenconnectedbystraightlinestothevertex

itself. Each edge consists of a straight linesegment between the start vertex

and a point on the boundary of the bounding box, an orthogonal part with

at most one bend from the boundingbox of the start-vertex to the bounding

box of the target-vertex and another straight part from the boundary of the

boundingbox of the target-vertex tothe target-vertex itself.

The grid size for this algorithmis (2n 6)(3n 9) and the number of

bends is at most 5n 15. An important property of the algorithm is that it

guarantees thatthe angle between twoedges emanatingfromthe same vertex

is larger than 2=d radians whered is the degree of the vertex. The minimum

angleoftwoedgesemanatingfromthesamevertexinarepresentationiscalled

the angularresolution ofthe representation. Havingalargeangularresolution

improvesthe readabilityof a drawing.

Gutwenger and Mutzel have improved Kant's algorithm for the Mixed

Model to achieve a grid size of (2n 5)( 3

2 n

7

2

) (Gutwenger and Mutzel,

1998). They also have improved the angular resolution for graphs which are

not 3-connected. Since Kant's algorithm only works for 3-connected graphs,

graphs that are not 3-connected have to be augmented by adding additional

edges beforethe algorithmisappliedand afterwards theadditionaledgeshave

tobedeletedfromtherepresentation. Thiscanleadtoanangularresolutionof

4

3d+7

wheredisthemaximumdegreeintheoriginalgraph. Sincethealgorithm

inGutwengerandMutzel(1998)canbeapplieddirectlyto2-connectedgraphs,

an angular resolution of 2=d can be guaranteed for any planar graph. The

running time for both algorithmsis linear.

The algorithmfor drawing graph G worksin three phases:

1. If the graph is not 2-connected, edges are added to produce a planar

0

(28)

2. A suitable canonical orderingfor G 0

iscomputed

3. The orderingproducedin the laststepis used todrawthe originalgraph

G.

For each vertex, we dene a set of inpoints and outpoints. The inpoints

are the points where the edges from vertices that have already been placed

arrive and the outpoints are the points where the edges to vertices that have

not already been placedleave. The inpointsand outpoints of each vertex are

locatedontheboundaryoftheroughlydiamondshapedboundingboxandwill

be placed on grid coordinates. Figure 1.12 shows two examples of bounding

boxes.

Figure1.12: Twoexamplesofbounding boxes

The point straight down from a vertex as well as the two points straight

to the right and to the left are inpoints, while the point straight above the

vertexisalwaysanoutpoint. Thus, avertexwithanindegreenotgreaterthan

3 and anoutdegree of at most 1 will have no adjacent diagonaledges. These

inpointstogetherwith theedgesthat connectthemtothe vertexformacross.

We call the four sectors dened by this cross NW;NE;SE and SW; like the

pointsof a compass.

If there are more than three incoming edges, we distribute the remain-

ing inpoints evenly among the sectors SE and SW. If there are more than

one outgoing edges, they are distributed evenly between the sectors NE and

NW. If the remaining number of edges is not even, we get an asymmetric

conguration like inthe righthand bounding box of Figure1.12.

When a vertex is placed, we always have to avoid overlapping bounding

boxes except if we can identify the outpoint of an adjacent vertex with the

vertexwewanttoplace. IfthesetV

i

ofverticesinthecanonicalorderwewant

(29)

the adjacentvertex whichisconnectedby theinedgegoing straightdown. We

choose the y-coordinate so that the minimum vertical distance between the

boundingbox of an adjacent vertex and the boundingbox of v is 1. We may

have to shiftthe adjacent vertices already placed and their dependent sets to

the right to make room for the edges. If V

i

has more than one element, all

the vertices in the set will get the same y-coordinate. Figure 1.13 shows an

example of a drawing producedwith Kant's originalalgorithm.

Figure1.14showstwodrawingscomputedusingthealgorithmofGutwenger

and Mutzel (Gutwenger and Mutzel, 1998).

Figure 1.13: AdrawingproducedbytheMixedModelalgorithmofKant

Figure 1.14: ExampledrawingsproducedbythealgorithmofGutwengerandMutzel

(30)

Auslander, L. and Parter, S. V. (1961). On embedding graphs inthe sphere.

Journal of Mathematics and Mechanics,10(3):517{523.

Booth, K.S.and Lueker, G.S.(1976). Testing for the consecutive ones prop-

erty, intervalgraphsandgraphplanarityusingPQ-treealgorithms. Journal

of Computer and System Sciences, 13:335{379.

Cai, J., Han, X., and Tarjan, R. E. (1993). An O(mlogn)-time algorithm

for the maximal planar subgraph problem. SIAM Journal on Computing,

22:1142{1162.

Chrobak,M.andKant,G.(1993).Convexgriddrawingsof3-connectedplanar

graphs. Technical Report RUU-CS-93-45, Dept. of Comp. Sci., Utrecht

University.

de Fraysseix,H.,Pach,J.,andPollack,R.(1990).Howtodrawaplanargraph

ona grid. Combinatorica,10:41{51.

DiBattista,G.andTamassia,R.(1988). Algorithmsforplanerepresentations

of acyclic digraphs. TheoreticalComputer Science,61(2-3):175{198.

Di Battista, G. and Tamassia, R. (1989). Incremental planarity testing. In

Proceedingsofthe30thSymposiumonthe Foundationsof ComputerScience

(FOCS'89), pages 436{441.

DiBattista,G.andTamassia,R.(1990).On-linegraphalgorithmswithSPQR-

trees. In Proceedings of the 17th International Colloqium on Automata,

Languages and Programming (ICALP'90), volume 443 of Lecture Notes in

Computer Science, pages 598{611.

Di Battista, G. and Tamassia, R. (1996). On-line planarity testing. SIAM

Journal on Computing, 25(5):956{997.

Djidjev, H. N. (1995). A linear algorithm for the maximal planar subgraph

problem. InProceedingsofthe4thWorkshoponAlgorithmsandDataStruc-

tures (WADS'95). Springer Lecture Notes in Computer Science 955, pages

(31)

Even, S. (1979). Graph Algorithms. Pitman.

Faria,L., De Figueiredo, C. M. H., and Mendonca, C. F. X. (1998). Splitting

number is NP-complete. Lecture Notes in Computer Science, 1517:285{??

Fialko, S. and Mutzel, P. (1998). A new approximation algorithm for the

planaraugmentationproblem. InProceedingsofthe9thAnnualACM-SIAM

Symposium on Discrete Algorithms(SODA'98), pages 260{269.

Foulds,L. R.,Gibbons,P.B., and GiÆn, J.W. (1985). Facilitieslayout adja-

cency determination: Anexperimentalcomparison of three graph theoretic

heuristics. Operations Research.

Foulds, L. R. and Robinson, D. F. (1978). Graph theoretic heuristics for the

plantlayout problem. International Journal of ProductionResearch,16:27{

37.

Garey, M. R. and Johnson, D. S. (1983). Crossing number is NP-complete.

SIAM Journal on Algebraic and Discrete Methods, 4:312{316.

Garg, A. and Tamassia, R. (1994). On the computational complexity of up-

ward and rectilinear planarity testing. In Proceedings of the DIMACS In-

ternational Workshop on Graph Drawing (GD'94). Springer Lecture Notes

inComputer Science 894, pages 286{297.

Goldstein, A. J. (1963). An eÆcient and constructive algorithm for testing

wether a graph can be embedded in a plane. In Graph and Combinatorics

Conference,Contract No. NONR 1858-(21).

Gutwenger, C. and Mutzel, P. (1998). Planar polyline drawings with good

angular resolution. In Proceedings of the 6th International Symposium on

GraphDrawing(GD'98).SpringerLectureNotesinComputerScience1547,

pages 167{182.

Hopcroft,J. and Tarjan, R. E. (1974). EÆcient planarity testing. Journal of

the ACM, 21:549{568.

Hopcroft,J. E. and Tarjan, R. E. (1973). Dividing a graph into triconnected

components. SIAM Journal on Computing, 2(3):135{158.

Hsu, W.-L. (1995). A linear time algorithm for nding maximal planar sub-

graphs. In Proceedings of the 6th International Symposium on Algorithms

andComputation(ISAAC'95).SpringerLectureNotesinComputerScience

(32)

Junger, M. and Mutzel, P. (1996). Maximum planar subgraphs and nice em-

beddings: Practical layout tools. Algorithmica, 16:33{59.

Kant, G.(1994). personalcommunication.

Kant, G. (1996). Drawing planar graphs using the canonical ordering. Algo-

rithmica, 16:4{32.

Kant,G.and Bodlaender, H.L.(1991). Planargraphaugmentationproblems.

In Proceedings of the 2nd Workshop on Algorithms and Data Structures

(WADS'91),volume 519 of Lecture Notes in Computer Science, pages 286{

298.

Lempel, A., Even, S., and Cederbaum, I. (1967). An algorithmfor planarity

testing of graphs. In Theory of Graphs, International Symposium, Rome,

pages 215{232.

Leung, J.(1992). A newgraph theoretic heuristicforfacility layout. Manage-

ment Science.

Lewis,J.M.andYannakakis,M.(1980).Thenode-deletionproblemforhered-

itarypropertiesisNP-complete. Journal of ComputerandSystem Sciences,

20(2):219{230.

Liebers, A. (1996). Methods for planarizinggraphs - A survey and annotated

bibliography. Technical Report Konstanzer Schriften in Mathematik und

Informatik Nr. 12, Fakultat fur Mathematik und Informatik, Universitat

Konstanz. ISSN 1430-3558.

Liu, P. C. and Geldmacher, R. C. (1977). On the deletionof nonplanar edges

of a graph. In Proceedings of the 10th Southeastern Conference on Combi-

natorics, Graph Theory, and Computing, pages 727{738.

Mehlhorn, K. (1984). Data Structures and Algorithms 2: Graph Algorithms

and NP-Completeness EATCS Monographs on Theoretical Computer Sci-

ence. Springer.

Mehlhorn, K.andNaher,S.(1999). The LedaPlatformof Combinatorialand

Geometric Computing. Cambridge University Press. Project home page at

http://www.mpi-sb.mpg.de/ LEDA /.

Mutzel, P. (1994). The Maximum Planar Subgraph Problem. PhD thesis,

(33)

Mutzel, P.(1995). Apolyhedralapproachtoplanaraugmentationand related

problems. In Proceedings of the 3rd Annual European Symposium on Algo-

rithms (ESA'95), volume 979 of Lecture Notes in Computer Science, pages

494{507.

Nishizeki, T. and Chiba, N. (1988). Planar Graphs : Theory and Algorithms,

volume140/32 ofNorth-Holland mathematics studies. North-Holland,Dor-

drecht.

Poutre, J. A. L. (1994). Alpha-algorithms for incremental planarity testing.

InProceedingsof the 26thAnnualACM Symposium on theTheory of Com-

putation (STOC'94),pages 706{715.

Schnyder, W. (1990). Embeddingplanargraphsonthe grid. In Proceedingsof

the 1st ACM-SIAM Symposium on Discrete Algorithms (SODA'90), pages

138{148.

Thomassen, C. (1980). Planarity and duality of nite and innite planar

graphs. Journal of Combinatorial Theory, Series B, 29:244{271.

Tutte, W. T. (1960). Convex representations of graphs. Proceedings of the

London Mathematical Society, Third Series, 10:304{320.

Tutte, W.T. (1963). Howtodraw agraph. Proceedings of the LondonMath-

ematical Society, Third Series,13:743{768.

Watanabe,T.,Ae,T.,andNakamura,A.(1983). OntheNP-hardnessofedge-

deletionand-contractionproblems. Discrete AppliedMathematics, 6:63{78.

Yannakakis, M. (1978). Node- and edge-deletion NP-complete problems. In

Proceedings 10th Annual ACM Symposium on the Theory of Computing

(STOC'78), pages 253{264.

Referenzen

ÄHNLICHE DOKUMENTE

Text A says: “The tents can contain 80,000 people, with flexible spaces devoted to very unusual activities for an airport terminal, such as changing clothes and ritual

■ Bremssystem AL-KO oder Knott mit Rückfahrtautomatik Varianten, Modifikationen, Zubehör. ■ Handpumpe oder

[r]

Alle angegebenen Preise sind in Euro und enthalten den aktuell gesetzlich geltenden

Riekert, 27.05.99 Web-Datenbank-Anbindung mit ODBCS.. Riekert, 27.05.99Web-Datenbank-Anbindung

Dort kommt noch hinzu, dass der Salzgehalt hoch ist, das heißt, das Wasser muss in die Umkehrosmose ge- hen, um die Salze herauszuholen; dort stören aber diese Partikel, man

[r]

Mit dem Mantel hatte es gewiß viel auf sich, und doch wäre er nur ein religiöses Relikt, wenn der Herr, der Gott Elias, nicht da wäre.. Man könnte einen solchen