Bend-Minimum Orthogonal Drawings of Plane 3-Graphs - Springer

Report 4 Downloads 118 Views
Bend-Minimum Orthogonal Drawings of Plane 3-Graphs (Extended Abstract) Md. Saidur Rahman and Takao Nishizeki Graduate School of Information Sciences, Tohoku University Aoba-yama 05, Sendai 980-8579, Japan [email protected], [email protected]

Abstract. In an orthogonal drawing of a plane graph, any edge is drawn as a sequence of line segments, each having either a horizontal or a vertical direction. A bend is a point where an edge changes its direction. A drawing is called a bend-minimum orthogonal drawing if the number of bends is minimum among all orthogonal drawings. This paper presents a linear-time algorithm to find a bend-minimum orthogonal drawing of any given plane 3-graph, that is, a plane graph of maximum degree three. Keywords: Graph, Algorithm, Graph Drawing, Orthogonal Drawing, Bend.

1

Introduction

In this paper we deal with “orthogonal drawings” of “plane 3-graphs.” A plane graph is a planar graph with a fixed planar embedding. For an integer i, an igraph is a graph of the maximum degree i. Figure 1(a) depicts a plane 3-graph. An orthogonal drawing of a plane graph G is a drawing of G with the given embedding such that each vertex is mapped to a point, each edge is drawn as a sequence of alternate horizontal and vertical line segments, and any two edges do not cross except at their common end. A point where an edge changes its direction in a drawing is called a bend of the drawing. Figure 1(d) depicts an orthogonal drawing of the graph in Fig. 1(a) with four bends, which are indicated by dotted circles in Fig. 1(d). Orthogonal drawings have attracted much attention due to their numerous practical applications in circuit schematics, data flow diagrams, entity relationship diagrams, etc. [DETT99, S84, T87]. A plane 3-graph often appears in practical applications like circuit schematics, and it is desired to find an orthogonal drawing with a small number of bends, because a bend corresponds to a “via” or “through-hole,” and increases the fabrication cost of VLSI [L90, S84]. We hence wish to find a bend-minimum orthogonal drawing, that is, an orthogonal drawing with the minimum number of bends. The drawing in Fig. 1(d) is indeed a bend-minimum one since there is no drawing with at most three bends. 

This work is supported by JSPS grants.

L. Kuˇ cera (Ed.): WG 2002, LNCS 2573, pp. 367–378, 2002. c Springer-Verlag Berlin Heidelberg 2002 

368

Md. Saidur Rahman and Takao Nishizeki

u1

u1

00 11 00v 11 00 11 001 11

1 u4 0 11 00 11 v00 1 4 0

C1

u2

00 11 00 00 11 11 00 0 11 1 11 00 00 11 00 11 0 1 v2 00 011 1 11 00 11 00 00 11 00 11

u1

u2

11 00 11 00

00 v11 00 11

2

H2

u4

1 0 0 1

000 1 011 1 0 1 0 1 00 11

G

u3

v3

u4

D(H2)

1 0

u3

H1

(b)

u1

u2 v2

v1 u4

v4

C1

v

1 0 1 v4 0 1 0

C2

(a)

1 0 1 0

u2 v 2

4

C2

bend

H3 u3

D(H1)

D(H3) u3

(c)

v3

(d)

Fig. 1. (a) A plane 3-graph G, (b) three biconnected components H1 , H2 and H3 , (c) orthogonal drawings of H1 , H2 and H3 , and (d) a bend-minimum orthogonal drawing of G.

Garg and Tamassia [GT97] presented an algorithm to find a bend-minimum orthogonal drawing of any plane 4-graph G; if a plane graph has a vertex of degree 5 or more, √ then there is no orthogonal drawing. Their algorithm [GT97] takes time O(n7/4 log n) if G has n vertices. More efficient algorithms are known for restricted classes of plane 3-graphs. Rahman, Nakano and Nishizeki [RNN99] gave a linear-time algorithm for triconnected cubic plane graphs, and Nakano and Yoshikawa [NY01] extended the algorithm to a linear-time algorithm for biconnected cubic plane graphs. In a cubic graph, every vertex has degree 3. Hence, any cubic graph is a 3-graph. On the other hand, Rahman, Naznin and Nishizeki [RNN02] obtained a necessary and sufficient condition for a plane 3graph to have an orthogonal drawing without bends, and gave a linear-time algorithm to find such a drawing if it exists. In this paper we give a linear-time algorithm to find a bend-minimum orthogonal drawing of any plane 3-graph. The complexity of our algorithm is better √ than the complexity O(n7/4 log n) of the algorithm in [GT97] and is optimal within a constant factor although the algorithm in [GT97] works for plane 4graphs. The class of plane 3-graphs is larger than the classes of triconnected or biconnected cubic plane graphs for the linear algorithms in [RNN99, NY01]. Our algorithm is also a generalization of the algorithm in [RNN02]. The outline of our algorithm is as follows. We first decompose a given plane 3graph G to biconnected components as illustrated in Figs. 1(a) and (b). We then find “optimal” orthogonal drawings of all components as illustrated in Fig. 1(c). (An “optimal” drawing of a component is an orthogonal drawing of the component which satisfies a trivial necessary condition for an orthogonal drawing of G and uses the minimum number of bends, as defined in Section 2.) We finally combine the drawings of all components to a bend-minimum orthogonal drawing of G as illustrated in Fig. 1(d). The key idea is to reduce the problem of finding an “optimal” orthogonal drawing of a biconnected component to the problem of finding an orthogonal drawing without bends by inserting “dummy” vertices of degree 2 to appropriate edges. The rest of the paper is organized as follows. Section 2 gives some definitions. Section 3 presents our main result on bend-minimum orthogonal drawings of

Bend-Minimum Orthogonal Drawings of Plane 3-Graphs

369

plane 3-graphs. Section 4 presents an algorithm to find an “optimal” orthogonal drawing of “bad cycles” in a biconnected component of a plane 3-graph G. Finally Section 5 is a conclusion.

2

Preliminaries

In this section we give some definitions. Let G = (V, E) be a connected simple graph of vertex set V and edge set E. Let n be the number of vertices in G. The degree of a vertex v is the number of neighbors of v in G. A vertex of degree 2 in G is called a 2-vertex of G. If every vertex of G has degree three, then G is called a cubic graph. The connectivity κ(G) of a graph G is the minimum number of vertices whose removal results in a disconnected graph or a single-vertex graph K1 . We say that G is k-connected if κ(G) ≥ k. We call a vertex of G a cut vertex in G if its removal results in a disconnected graph. We call a maximal biconnected subgraph of G a biconnected component of G. We call an edge (u, v) a bridge of G if the deletion of (u, v) results in a disconnected graph. Any graph can be decomposed to biconnected components and bridges. The graph G in Fig. 1(a) has three biconnected components H1 , H2 and H3 depicted in Fig. 1(b), and has four bridges (u1 , v1 ), (u2 , v2 ), (u3 , v3 ) and (u4 , v4 ). A graph is planar if it can be embedded in the plane so that no two edges intersect geometrically except at a vertex to which they are both incident. A plane graph is a planar graph with a fixed embedding. A plane graph divides the plane into connected regions called faces. We regard the contour of a face as a cycle formed by the edges on the boundary of the face. We denote the contour of the outer face of G by Co (G), or simply by Co if there is no confusion. For a simple cycle C in a plane graph G, we denote by G(C) the plane subgraph of G inside C (including C). We say that cycles C and C  in a plane graph G are independent if G(C) and G(C  ) have no common vertex. An edge of G which is incident to exactly one vertex of a cycle C and located outside C is called a leg of the cycle C. The vertex of C to which a leg is incident is called a leg-vertex of C. Every leg-vertex in a plane 3-graph has degree 3. A cycle C in G is called a k-legged cycle of G if C has exactly k legs in G and there is no edge which joins two vertices on C and is located outside C. In Figs. 1(a) and 1(d) a 4-legged cycle C1 is shaded, and a 9-legged cycle C2 is drawn by thick lines. Each cycle C in a plane graph G is drawn as a rectilinear polygon in any orthogonal drawing D of G. The polygon is denoted by D(C). A (polygonal) vertex of the rectilinear polygon is called a corner of the drawing D(C). Thus a corner is either a vertex of G or a bend of D, and has an interior angle 90◦ or 270◦ . A corner of an interior angle 90◦ is called a convex corner of D(C), while a corner of an interior angle 270◦ is called a concave corner. A vertex v on C is called a non-corner of D(C) if v is not a corner of D(C). Thus any vertex on C is a convex corner, a concave corner, or a non-corner of D(C). Let C be a cycle in G, and let v be a vertex on C which is a cut vertex in G. We call v an outcut vertex for C in G if v is a leg-vertex of C in G, otherwise we

370

Md. Saidur Rahman and Takao Nishizeki

call v an incut vertex for C in G. Any outcut vertex for C is not a concave corner of D(C) in any orthogonal drawing D of G; otherwise, the leg of C could not be drawn as a horizontal or vertical line segment. Similarly, any incut vertex for C is not a convex corner. Thus any orthogonal drawing D of G has the following property. (p1) If v is an outcut vertex for a cycle C then v is either a convex corner or a non-corner of D(C), and if v is an incut vertex for a cycle C then v is either a concave corner or a non-corner of D(C). Thus (p1) is a trivial necessary condition for an orthogonal drawing D(G) of G. For any subgraph H of G, the drawing D(H) of H in D(G) has Property (p1). In the plane graph G in Fig. 1(a), vertices u2 and u3 are outcut vertices for the outer cycle Co (H1 ) of a biconnected component H1 , and u1 is an incut vertex for Co (H1 ). Vertex u4 is an outcut vertex for the shaded cycle C1 , but is an incut vertex for the cycle C2 drawn by thick lines. The orthogonal drawing D(H1 ) of H1 in Fig. 1(c) has Property (p1), because outcut vertices u2 and u3 for a cycle are convex corners of the drawing of the cycle, incut vertex u1 for a cycle is a non-corner of the drawing of the cycle, and incut or outcut vertex u4 for a cycle is a non-corner of the drawing of the cycle. An orthogonal drawing D(H) of a biconnected subgraph H is called an optimal one if D(H) has Property (p1) and has the minimum number b(H) of bends among all orthogonal drawings of H with Property (p1).

3

Bend-Minimum Orthogonal Drawing

In this section we present our main result on the bend-minimum orthogonal drawing of a plane 3-graph. Our idea is to decompose the plane graph G into biconnected components and bridges as illustrated in Figs. 1(a) and (b), and then find an optimal orthogonal drawing D(H) of each biconnected component H as illustrated in Fig. 1(c). A bridge is drawn as either a horizontal or a vertical line segment. Finally we obtain a bend-minimum orthogonal drawing of G by combining the drawings of all biconnected components and bridges without introducing new bends, as illustrated in Fig. 1(d). The difficulty is that we cannot directly use the algorithm for biconnected cubic plane graphs in [NY01] to find an optimal drawing of a biconnected component, because a biconnected component is not always cubic and a drawing obtained by the algorithm in [NY01] does not always have Property (p1). We reduce the problem of finding an optimal drawing of a biconnected component to the problem of finding an orthogonal drawing of the component without bends by inserting “dummy” vertices of degree 2 to appropriate edges. Rahman et al. [RNN02] have obtained a necessary and sufficient condition for a biconnected plane subgraph H of a plane 3-graph G to have an orthogonal drawing which is optimal and has has no bend, i.e., b(H) = 0. We now present the condition. Let Co (H) contain four or more 2-vertices of H, and let x, y, z and w be any four of them which clockwise appear on Co (H) in this order. Then

Bend-Minimum Orthogonal Drawings of Plane 3-Graphs

371

an orthogonal drawing D(H) of H is called an optimal no-bend drawing for x, y, z and w if D(H) satisfies the following three conditions (i), (ii) and (iii). (i) D(H) has Property (p1); (ii) D(H) has no bend, and hence b(H) = 0; and (iii) D(H) intersects none of the four quadrants, the first quadrant with the origin at x, the fourth quadrant with the origin at y, the third quadrant with the origin at z, and the second quadrant with the origin at w, after rotating the drawing if necessary. Figure 2 illustrates an optimal no-bend drawing, where the four quadrants are shaded. Clearly x, y, z, and w must be convex corners of the drawing D(Co (H)) of the outer cycle Co (H) of H, and the drawing D(H) should intersect neither the horizontal open halfline with left end at x nor the vertical halfline with the lower end at x, and so on for y, z, and w. Vertices x, y, z and w may be legvertices in G, and then the leg will be drawn as a straight line-segment on an open halfline with an end on them. Let H be a biconnected plane subgraph of G, and let C be a cycle in H. We say that a vertex v on C is good for C if v is a 2-vertex of H and is not an incut vertex for C in G. Only a good vertex for C can be drawn as a convex corner of the rectilinear polygon D(C) in an optimal orthogonal drawing D(H). We are now ready to present the condition in [RNN02].

1st quad.

2nd quad.

x

2

111 000 000 111 000 111 3rd quad.

11111 00000 00000 11111 00000 11111 00000 11111

1111 0000 0000 1111 0000 1111 0000 1111 C

w

111 000 000 111 z

edges in H y 4th quad.

11 00 00 11 00 11

edges not in H subgraph of G not in H

C1

Fig. 2. An optimal no-bend drawing of H for x, y, z and w.

Lemma 1. Let G be a connected plane 3-graph, let H be a biconnected plane subgraph of G, and let x, y, z and w be 2-vertices of H which clockwise appear on Co (H) in this order. Then H has an optimal no-bend drawing for x, y, z and w if and only if the following (a), (b) and (c) hold: (a) all the vertices x, y, z and w are good for the cycle Co (H) in G; (b) there are at least two good vertices for every 2-legged cycle C in H; and (c) there are at least one good vertex for every 3-legged cycle C in H. Furthermore the drawing above can be found in linear time.

372

Md. Saidur Rahman and Takao Nishizeki

In this paper we call the linear algorithm in [RNN02] for finding an optimal no-bend drawing of a biconnected subgraph H of G No-Bend-Draw. We call a cycle C in H a bad cycle if C does not satisfy (b) or (c) in Lemma 1. Thus a bad cycle has one of the following three types depending on the numbers of legs and good vertices. (t1) A 2-legged cycle C for which there is no good vertex. (t2) A 2-legged cycle C for which there is exactly one good vertex. (t3) A 3-legged cycle C for which there is no good vertex. The two leg-vertices divide a bad cycle C of Type (t1) into two paths; we call them the contour paths of C, and call C a 2-path cycle. The two leg-vertices and the good vertex divide a cycle C of Type (t2) into three paths. Similarly the three leg-vertices divide a cycle C of Type (t3) into three paths. We call a cycle C of Type (t2) and (t3) a 3-path cycle, and call each of the three paths on C a contour path. For a bad cycle C in H, we now define a set Des(C) of bad cycles and the hierarchical structure of bad cycles in Des(C) as follows. We call a cycle C  a descendant bad cycle of C if C = C  , C  is a bad cycle, and C  is contained in the subgraph H(C) of H inside C. There are two cases to consider. Case 1: C is a 2-path cycle. In this case, we choose any of the two leg-vertices of C as a reference vertex r for C, and let Des(C) be the set of all descendant bad cycles of C not containing r. A cycle C  ∈ Des(C) is called a child-cycle of C (with respect to r) if C  is not located inside any other bad cycle in Des(C). Case 2: C is a 3-path cycle. In this case, let Des(C) be the set of all descendant bad cycles of C. A cycle C  ∈ Des(C) is called a child-cycle of C if C  is not located inside of any other bad cycle in Des(C). We now have the following lemma, a proof of which is omitted in this extended abstract. Lemma 2. If C is a bad cycle in H, then the child-cycles of C are independent of each other. A bad cycle C in H is defined to be a maximal bad cycle of H if C is not contained in H(C  ) for any other bad cycle C  in H. We can prove that all the maximal bad cycles of H are independent of each other; the proof is similar to that of Lemma 2 and is omitted in this extended abstract. We regard all the maximal bad cycles as the child-cycles of the outer cycle Co (H) of H. We find child-cycles of each maximal bad cycle and then find child-cycles of each childcycle recursively, and eventually we get a (hierarchical) tree structure of bad cycles in H. The structure is represented by a “genealogical tree” TH ; the root of TH is Co (H), the children of root Co (H) are the maximal bad cycles of H, and so on. Because of the choices of a reference vertex r, TH may have some variations. However, we choose an arbitrary (but) fixed one as TH . Figure 3(b) illustrates TH for H in Fig. 3(a). Based on the genealogical tree TH we will give

Bend-Minimum Orthogonal Drawings of Plane 3-Graphs

373

Co(H) Co(H) C2

C5

C1 C

C1

7

C4

C6

C3 C8

C5

C2 C

C3 C7

6

C9

C4 C9

C10

C8

C10 (b) (a)

Fig. 3. (a) A biconnected component H, and (b) a genealogical tree TH .

later in Section 4 Algorithm Bad-Cycle-Draw to find an optimal orthogonal drawings of H(C) for a bad cycle C in TH . Using No-Bend-Draw and Bad-Cycle-Draw, we now give Algorithm BiComp-Draw for finding an optimal orthogonal drawing D(H) of a biconnected component H of G, that is, an orthogonal drawing D(H) with Property (p1) and the minimum number b(H) of bends. We assume for simplicity that there are at least four good vertices for Co (H); otherwise we shall carefully insert dummy vertices of degree 2 into edges on Co (H) as good vertices for Co (H). (Note that these dummy vertices will appear as bends in an optimal orthogonal drawing of H.) Then H satisfies (a) in Lemma 1 if one regards, as x, y, z and w, any four good vertices for Co (H).

1 2 3 4 5 6 7 8 9 10 11

Algorithm Bi-Comp-Draw(H) begin Select any four good vertices for Co (H) as x, y, z and w. if H satisfies (b) and (c) in Lemma 1 then find an optimal no-bend drawing of H by No-Bend-Draw else begin Find the maximal bad cycles C1 , · · · , Cl of Co (H); For each i, 1 ≤ i ≤ l, contract cycle Ci to a single vertex vi ; Let H ∗ be the resulting graph; (H ∗ satisfies (a)–(c) in Lemma 2.1.) Find an optimal no-bend orthogonal drawing of H ∗ by No-Bend-Draw; Find an optimal orthogonal drawing of each H(C1 ), · · · , H(Cl ) by Bad-Cycle-Draw; Patch the drawings D(H(C1 )), · · · , D(H(Cl )) into D(H ∗ ); The resulting drawing D(H) is an optimal orthogonal drawing of H. end end.

Figure 4 illustrates Algorithm Bi-Comp-Draw. The biconnected component H in Fig. 4(a) has exactly one maximal bad cycle C drawn by thick line

374

Md. Saidur Rahman and Takao Nishizeki

x

x

w

x

w

x

w

w u4

u4

C

z

H (a)

C

z

y

H* (b)

y*

y* z

D(H(C))

z

D(H*)

(c)

y

D(H)

(d)

(e)

Fig. 4. Illustration for Algorithm Bi-Comp-Draw.

segments. The graph H ∗ in Fig. 4(b) is obtained from H by contracting H(C) to a single vertex y ∗ . Figure 4(c) illustrates an optimal no-bend drawing D(H ∗ ) of H ∗ obtained by No-Bend-Draw. The drawing in Fig. 4(d) is an optimal orthogonal drawing D(H(C)) of the subgraph H(C) obtained by Bad-CycleDraw. Figure 4(e) illustrates an orthogonal drawing D(H) of H obtained by patching D(H(C)) into D(H ∗ ). We now have following lemma on Bi-Comp-Draw. Lemma 3. Let G be a connected plane 3-graph, and let H be a biconnected component of G. Then Algorithm Bi-Com-Draw finds an optimal orthogonal drawing of H in linear time. We finally give Algorithm Bend-Min-Draw to find a bend-minimum orthogonal drawing of a connected plane 3-graph G, as follows. First, decompose G into biconnected components and bridges. Then find an optimal orthogonal drawing D(H) of each biconnected component H of G by Algorithm Bi-CompDraw. Each bridge is drawn as either a horizontal or vertical line segment. Then construct a “block-cut-vertex tree” of G, and combine the drawings of all components without introducing new bends to a bend-minimum orthogonal drawing of G. We now have the following theorem, which is the main result of this paper. Theorem 1. Algorithm Bend-Min-Draw finds a bend-minimum orthogonal drawing of a connected plane 3-graph G in linear time.

4

Optimal Orthogonal Drawings of Bad Cycles

In this section we give an algorithm Bad-Cycle-Draw to find an orthogonal drawing of H(C) for a bad cycle C in a biconnected component H of G. We have the following two facts for any orthogonal drawing of H with Property (p1). Fact 4 At least two bends must appear on a 2-path cycle in H. Fact 5 At least one bend must appear on a 3-path cycle in H. Using Facts 4 and 5, in Section 4.1 we determine the number of bends which are necessary for an optimal orthogonal drawing of a subgraph H(C) for a bad cycle C. In Section 4.2 we give an algorithm Bad-Cycle-Draw for finding an optimal orthogonal drawing of H(C).

Bend-Minimum Orthogonal Drawings of Plane 3-Graphs

4.1

375

Classification and Assignment

We classify the contour paths of each bad cycle C in a genealogical tree TH as a blue path or a green path or a red path in a recursive manner based on TH . In addition, we assign an integer bc(C), called the bend count of C, to each bad cycle C in TH . We will show later that H(C) has an optimal orthogonal drawing and that b(H(C)) = bc(C). Furthermore we will show that (i) for any blue path P of C, H(C) has an optimal orthogonal drawing with two or more bends on P , (ii) for any green path P of C, H(C) has an optimal orthogonal drawing with one or more bends on P , (iii) for any red path P of C, H(C) has an optimal orthogonal drawing with no bend on P , and (iv) C contains a blue path or a green path. Let C be a bad cycle in TH , and let C1 , C2 , · · · , Cl be the child-cycles of C. Assume that we have already defined the classification and the assignment for all child-cycles of C and are going to define them for C. We have the following four cases. Case 1: C has no child-cycle. If C is a 2-path cycle, then we classify the two contour paths of C as blue paths and set bc(C) = 2. If C is a 3-path cycle, then we classify the three contour paths of C as green paths and set bc(C) = 1. Case 2: C is a 2-path cycle, and all child-cycles of C are 2-legged cycles. Let x and y be the two leg-vertices of C, and let P1 and P2 be the clockwise contour paths from x to y and from y to x, respectively. We may assume that x is chosen as the reference vertex r. Subcase 2a: any child-cycle of C has neither a green path on C nor a blue path on C. In this case l we classify both the contour paths of C as blue paths and set bc(C) = 2 + i=1 bc(Ci ). Subcase 2b: C has a child-cycle has a blue path on C. which l In this case we set bc(C) = i=1 bc(Ci ). We classify the two contour paths P1 and P2 of C as follows. We classify Pi as a blue path if either Pi contains a blue path of a child cycle of C or Pi contains green paths of two or more child-cycles. We classify Pi as a green path if Pi contains a green path of exactly one child-cycle and does not contain a blue path of any child-cycle. We classify Pi as a red path if Pi contains none of the blue paths and the green paths of all child-cycles of C. Subcase 2c: C has no child-cycle which has a blue path on C, but has a childcycle which has a green path on C. If P1 contains green pathsof two or more child-cycles, then we classify P1 as l a blue path and set bc(C) = i=1 bc(Ci ). In such a case we classify P2 as a blue path if it contains green paths of two or more child-cycles, as a green path if it contains a green path of exactly one child-cycle, and as a red path if it contains neither a green path nor a blue path of a child-cycle.

376

Md. Saidur Rahman and Takao Nishizeki

If P2 contains green paths of two or more child cycles, then l we classify the contour paths P1 and P2 similarly as above and set bc(C) = i=1 bc(Ci ). If each of P1 and P2 contains a green path of exactly one child cycle, then l we classify both of P1 and P2 as green paths and set bc(C) = i=1 bc(Ci ). Otherwise, exactly one of the two contour paths P1 and P2 contains a green path of exactly one child-cycle. We classify it as a blue path andclassify the l other contour path as a green path. In this case we set bc(C) = 1 + i=1 bc(Ci ). Case 3: C is a 2-path cycle, and has a 3-legged child-cycle. Omitted in this extended abstract. Case 4: C is a 3-path cycle and has one or more child-cycles. Omitted in this extended abstract. Using a method similar to one in [RNN99], the classification and assignments above can be done in linear time. We can prove the following lemma by induction. Lemma 6. For any cycle C in TH , H(C) has a set S of vertex disjoint cycles consisting of l2 2-path cycles and l3 3-path cycles such that bc(C) = 2l2 + l3 . We have the following lemma immediately from Facts 4, 5 and Lemma 6. Lemma 7. Any cycle C in TH satisfies b(H(C)) ≥ bc(C). Conversely proving b(H(C)) ≤ bc(C), we have b(H(C)) = bc(C) for any cycle C in TH . Indeed we will prove a stronger claim later in Lemmas 8 and 9. 4.2

Bad-Cycle-Draw

Let C be a 2-path cycle in TH , and let x and y be the two leg vertices of C. Since C is in TH , C has a blue path or a green path. For a blue path P of C, an optimal orthogonal drawing of H(C) is defined to be 2-bend optimal for P if at least two bends appear on the blue path P and the drawing satisfies the condition (c1) given below. For a green path P of C, an optimal orthogonal drawing of H(C) is defined to be 1-bend optimal for P if at least one bend appears on the green path P and the drawing satisfies the condition (c2) given below. (c1) The drawing D(H(C)) intersects neither the second quadrant with the origin at x nor the third quadrant with the origin at y, after rotating the drawing and renaming the leg-vertices if necessary. See Fig. 5(a). Note that C is not always drawn by a rectangle. (c2) The drawing D(H(C)) intersects neither the first quadrant with the origin at x nor the third quadrant with the origin at y, after rotating the drawing and renaming the leg-vertices if necessary. See Fig. 5(b). Note that C is not always drawn by a rectangle. Let C be a 3-path cycle in TH , and let x, y and z be the three leg-vertices of C if C is a 3-legged cycle, otherwise let x and y be the two leg-vertices and let z be the non-incut vertex of degree 2. (We may change the name of vertices x, y, z if necessary.) One may assume that x, y and z appear clockwise on C.

Bend-Minimum Orthogonal Drawings of Plane 3-Graphs

377

x P

x

P

x

x

P P

y

y y

y (a)

(b)

Fig. 5. (a) A 2-bend optimal drawing of a 2-path cycle, and (b) a 1-bend optimal drawing of a 2-path cycle.

Since C is in TH , C has a blue or green path. For a blue path P on C with ends x and y, an optimal orthogonal drawing of H(C) is defined to be 2-bend optimal for P if at least two bends appear on the blue path P and the drawing satisfies the condition (c3) given below. For a green path P on C with ends x and y, an optimal orthogonal drawing of H(C) is defined to be 1-bend optimal for P if at least one bend appears on the green path P and the drawing satisfies the condition (c3) given below. (c3) The drawing D(H(C)) intersects none of the following three quadrants: the first quadrant with origin at x, the third quadrant with origin at y, and the second quadrant with origin at z, after rotating the drawing and renaming the leg-vertices if necessary. An orthogonal drawing of H(C) for a bad cycle C is simply called an optimal drawing if it is 1-bend optimal or 2-bend optimal for a green or blue path. We now have the following lemma. Lemma 8. Let G be a connected plane 3-graph, and let H be a biconnected component of G. If a cycle C in TH has a blue path P , then H(C) has an orthogonal drawing which is 2-bend optimal for P . Proof. We give a recursive algorithm to find an orthogonal drawing of H(C) which is 2-bend optimal for P . Our algorithm inserts dummy vertices on some edges of a subgraph of H and uses the algorithm No-Bend-Draw in each recursive step. The algorithm is similar to one in [RNN99, RNN02]. We omit the detail in this extended abstract. Q.E.D. Lemma 9. Let G be a connected plane 3-graph, and let H be a biconnected component of G. If a cycle C in TH has a green path P , then H(C) has an orthogonal drawing which is 1-bend optimal for P . Proof. We give a recursive algorithm to find a 1-bend optimal drawing of H(C) for the green path P . The algorithm is similar to that in the proof of Lemma 8. The details are omitted in this extended abstract. Q.E.D.

378

Md. Saidur Rahman and Takao Nishizeki

The algorithm for finding an optimal orthogonal drawing of H(C) described in the proofs of Lemmas 8 and 9 above is hereafter called Bad-Cycle-Draw. We now have the following lemma on Bad-Cycle-Draw. Lemma 10. Let G be a connected plane 3-graph and let H be a biconnected component of G. Then Algorithm Bad-Cycle-Draw finds an optimal orthogonal drawing of H(C) for any bad cycle C in TH in linear time. Proof. The proof is similar to the proof of Lemma 13 in [RNN99].

5

Q.E.D.

Conclusions

In this paper we have presented a linear-time algorithm to find an orthogonal drawing of any given plane 3-graph with the minimum number of bends. It is remaining as a future work to find a linear-time algorithm for a plane 4-graph. Our linear algorithm works for a plane 3-graph, that is, a planar 3-graph with a fixed planar embedding. Di Battista et al. [DLV98] gave an algorithm to find a bend-minimum orthogonal drawing of a planar 3-graph G in time O(n5 log n), where the planar embedding of G is not fixed. In their algorithm they used a “min-cost flow” algorithm of time complexity O(n2 log n) to find a bend-minimum drawing of a plane 3-graph. Using our linear algorithm, the time complexity of the algorithm in [DLV98] may be improved.

References DETT99. G. Di Battista, P. Eades, R. Tamassia and I. G. Tollis, Graph Drawing: Algorithms for the Visualization of Graphs, Prentice-Hall Inc., Upper Saddle River, New Jersey, 1999. DLV98. G. Di Battista, G. Liotta, and F. Vargiu, Spirality and optimal orthogonal drawings, SIAM J. Comput. 27(6), pp. 1764-1811, 1998. GT97. A. Garg and R. Tamassia, A new minimum cost flow algorithm with applications to graph drawing, Proc. of Graph Drawing’96, Lect. Notes in Computer Science, 1190, pp. 201-226, 1997. L90. T. Lengauer Combinatorial Algorithms for Integrated Circuit Layout, John Wiley & Sons, Chichester, 1990. NY01. S. Nakano and M. Yoshikawa, A linear-time algorithm for bend-optimal orthogonal drawings of biconnected cubic plane graphs, Proc. of Graph Drawing’00, Lect. Notes in Computer Science, 1984, pp. 296-307, 2001. RNN99. M. S. Rahman, S. Nakano and T. Nishizeki, A linear algorithm for bendoptimal orthogonal drawings of triconnected cubic plane graphs, Journal of Graph Alg. and Appl., http://www.cs.brown.edu/publications/jgaa/, 3(4), pp. 31-62, 1999. RNN02. M. S. Rahman, M. Naznin and T. Nishizeki, Orthogonal drawings of plane graphs without bends, Proc. of Graph Drawing’01, Lect. Notes in Computer Science, 2265, pp. 392-406, 2002. S84. J. Storer, On minimum node-cost planar embeddings, Networks, 14, pp. 181-212, 1984. T87. R. Tamassia, On embedding a graph in the grid with the minimum number of bends, SIAM J. Comput., 16, pp. 421-444, 1987.