Constrained floorplans in 2D and 3D

Constrained floorplans in 2D and 3D

JID:TCS AID:10382 /FLA Doctopic: Algorithms, automata, complexity and games [m3G; v1.159; Prn:10/08/2015; 13:09] P.1 (1-17) Theoretical Computer Sc...

2MB Sizes 4 Downloads 94 Views

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.1 (1-17)

Theoretical Computer Science ••• (••••) •••–•••

Contents lists available at ScienceDirect

Theoretical Computer Science www.elsevier.com/locate/tcs

Constrained floorplans in 2D and 3D ✩ Yi-Jun Chang, Hsu-Chun Yen ∗ Dept. of Electrical Engineering, National Taiwan University, Taipei, 106, Taiwan, ROC

a r t i c l e

i n f o

Article history: Received 1 April 2015 Received in revised form 20 July 2015 Accepted 31 July 2015 Available online xxxx Keywords: Floorplanning Plane graph Rectilinear dual Rectilinear polygon

a b s t r a c t A rectilinear dual of a plane graph refers to a partition of a rectangular area into nonoverlapping rectilinear polygonal modules, where each module corresponds to a vertex such that two modules have a side-contact iff their corresponding vertices are adjacent. An interesting observation is that most algorithms yielding low polygonal complexity rectilinear duals require the use of -shape modules or their extensions. To justify the intuition that -shape modules are more powerful than other 8-sided modules, we show the optimum polygonal complexity of -free rectilinear duals to be exactly 12. Our construction uses only monotone staircase modules. We continue this line of research by studying polygonal complexity and area-universality of rectilinear duals using modules of constrained shapes. Motivated by the design challenges in 3D IC technology, we also study the generalization of rectilinear duals in three dimensions by allowing each module to be an orthogonal polyhedron. Such a generalization to three dimensions opens the door for non-planar graphs to be accommodated in floorplan design. In particular, we prove that all chordal graphs admit 3D floorplans, which parallels the well-known result that all maximal plane graphs admit rectilinear duals. © 2015 Elsevier B.V. All rights reserved.

1. Introduction Given a graph with nodes and edges representing circuit components and interconnections, respectively, a floorplan in VLSI chip design refers to the partition of a rectangular chip area into nonoverlapping rectilinear polygonal modules in such a way that modules of adjacent nodes share a common boundary. If we further require that each rectilinear polygon be a rectangle, such a floorplan is called a rectangular dual. As they play key roles in VLSI physical design, rectangular duals of planar graphs have been studied extensively over the years from both theoretical and practical viewpoints. A necessary and sufficient condition for the existence of a rectangular dual for a planar graph was established by Kozminski and Kinnen [12]. For other aspects about rectangular duals, the interested reader is referred to [7,9]. The study of rectilinear duals is also of interest in the community of graph drawing. The so-called polygonal complexity of a rectilinear dual refers to the maximum number of sides among all rectilinear polygons found in the rectilinear dual. Yeap and Sarrafzadeh [16] showed that every maximal plane graph admits a rectilinear dual using polygons of at most eight sides, which matches the lower bound. Liao et al. [13] later improved the above result by showing that it suffices to use

✩ A preliminary version of this paper (entitled Rectilinear Duals Using Monotone Staircase Polygons) was presented at the 8th International Conference on Combinatorial Optimization and Applications (COCOA’14) during December 19–21, 2014, in Maui, Hawaii, USA. Corresponding author. E-mail address: [email protected] (H.-C. Yen).

*

http://dx.doi.org/10.1016/j.tcs.2015.07.063 0304-3975/© 2015 Elsevier B.V. All rights reserved.

JID:TCS AID:10382 /FLA

2

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.2 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 1. I-shape, L-shape, -shape and Z-shape modules.

Fig. 2. A floorplan constructed by monotone staircase cuts.

only I-shape, L-shape, and -shape modules, whereas in [16], Z-shape modules are also required. See Fig. 1 for these four types of modules. In fact, I-shape and L-shape modules are degenerated cases of -shape modules, as an I (resp., L) can be obtained from a  by chopping off two ends (resp., one end) of the horizontal segment of the . As a result, [13] suggests that -shape modules are sufficient in constructing rectilinear duals of maximal plane graphs. We observe that most algorithms in recent years leading to low polygonal complexity rectilinear duals require the use of -shape modules or their extensions [1,2,4]. Therefore, a natural question to ask is whether other 8-sided modules other than -shape (such as Z-shape) and their degenerated cases are sufficient in constructing rectilinear duals of any maximal plane graphs. As it turns out, we are able to answer the question in the negative by showing that the polygonal complexity of -free rectilinear dual of maximal plane graph is 12, suggesting that -shape is, in a sense, the most powerful 8-sided module in constructing rectilinear duals. Our work on -free rectilinear duals fits into the line of research on constrained floorplans, where the usable modules or their relations are constrained. In [6], rectangular duals under some constraints about relative positions between modules were studied. In [5], plane graphs that admit floorplans using only orthogonally convex modules were characterized. In this paper, we continue this line of research by studying floorplans using staircase polygons, which belongs to the class of -free polygons. A monotone staircase polygon is a polygon formed by two monotonically rising staircases, each of which is a sequence of alternating horizontal and vertical line segments from the bottom-left corner to the top-right corner of the polygon. A staircase polygon is a rectilinear polygon resulting from rotating a monotone staircase polygon 90◦ , 180◦ , or 270◦ . Fig. 2(2) is a rectilinear dual of the plane graph given in Fig. 2(1) using monotone staircase polygons. A floorplan is said to be sliceable if it can be obtained by recursively cutting a rectangle into two parts by a horizontal or a vertical line. Sliceable floorplans enjoy certain nice properties, facilitating global routing by taking advantage of the hierarchical structure of partitioning by the cut lines, for instance. Also see [11] for an application of sliceable floorplans in graph drawing. As a generalization of sliceability in floor-planning, monotone staircase cuts have been proposed (see, e.g., [10,14]), which are able to yield a richer set of floorplan structures while retaining certain attractive properties enjoyed by sliceable floorplans. In fact, floorplans using monotone staircase polygons are exactly those that can be obtained using monotone staircase cuts. See Fig. 2(2)–(3), for instance. Motivated by cartographic applications, there is also an increasing interest in the design of rectilinear/rectangular duals subject to a given area assignment, in the sense that the area of each of the polygonal regions equals the associated weight. Given an area assignment to each vertex, a cartogram is a rectilinear dual that realizes such an assignment. A rectilinear dual of a plane graph is area-universal iff every possible area assignment can be realized by a combinatorially equivalent rectilinear dual. For rectangular duals, it is known that area-universality can be characterized by one-sidedness [6]; however, no simple characterization is known for rectilinear duals. Regarding the polygonal complexity of area-universal rectilinear duals for maximal plane graphs, it is known that eight is sufficient, which is also optimal [1]. In this paper, we also investigate the issue of area-universality of rectilinear duals using monotone staircase polygons. The advantages and challenges of three-dimensional integrated circuits (3D ICs) provide an exciting new research direction on 3D floorplans and 3D contact graph representations. In this paper, we generalize rectilinear duals to 3D by allowing each module to be an orthogonal polyhedron, enabling certain non-planar graphs to be accommodated in a floorplan design. For recent related research in the literature, [3] is concerned with proportional contact graph representations using orthogonal polyhedra in low complexity. The main difference between our work and [3] is that in our 3D floorplans, modules associated with vertices of a graph must fill the entire bounding box, whereas in [3], holes and/or empty spaces are allowed as long as the contact of modules respects the adjacency of vertices. From a combinatorial viewpoint, the work of [8] focuses on a bound on the number of a specific type (including general and two-layer mosaic) of 3D floorplans using boxes.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.3 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

3

Fig. 3. Regular edge labelings of rectilinear duals.

Our contributions in this paper include the following: 1. We define a partial order on the structure of rectilinear polygons that captures the intuitive idea of degeneracies of polygons naturally. Such a partial order, which might be of interest in its own right, provides a foundation for our subsequent discussions. 2. The polygonal complexity of -free rectilinear duals is shown to be 12, and an algorithm is devised for constructing rectilinear duals of maximal plane graphs using 12-sided monotone staircase polygons. 3. Regarding area-universality, we prove that there exists a maximal plane graph that does not admit any monotone staircase area-universal rectilinear dual; however, for Hamiltonian maximal plane graphs, eight sides suffice. 4. For analogies of rectilinear duals in 3D, we show that all chordal graphs admit 3D floorplans that use only two layers. Furthermore, such 3D floorplans are volume-universal. To the best of our knowledge, our work is the first to extend the concept of rectilinear duals in 2D to that of orthogonal polyhedra in 3D in floorplan design. 2. Preliminaries A graph G = ( V , E ) is planar iff it can be drawn on the plane without edge crossings. In a planar drawing of a graph, the outer face is the unbounded one; a face is called inner iff it is not outer. A plane graph is a planar graph with a fixed combinatorial embedding and a prescribed outer face. A cycle C divides a plane graph G into two regions. The one that is inside (resp., outside) cycle C is called the interior region (resp., outer region) of C . We write G (C ) to denote the subgraph of G containing exactly C and vertices and edges residing in its interior region. When H is a connected subgraph of G with C being its boundary cycle, G ( H ) is defined to be G (C ). A rectilinear dual of a plane graph is defined as follows: Definition 1. A rectilinear dual is a representation of a plane graph meeting the following conditions: 1. each vertex corresponds to a rectilinear region, 2. adjacency in the graph corresponds to a side-contact in the drawing, and 3. all rectilinear regions together form a partition of a rectangle. A rectangular dual is a rectilinear dual in which each rectilinear region is a rectangle. We define the regular edge labeling and a combinatorial equivalence of rectilinear duals by generalizing the corresponding notions for rectangular duals defined in [6,9]. The regular edge labeling of a rectilinear dual R of a plane graph G is a 2-edge-colored directed plane multi-graph G constructed as follows: 1. Initially, V (G ) = V (G ) ∪ { N , E , S , W }, and E (G ) = ∅; 2. For each vertical (resp., horizontal) line segment s in R bordering two rectilinear regions u and v, add a blue (resp., red) edge {u , v } to E (G ), and direct it from the west to the east (resp., from the south to the north). 3. Let S N , S E , S S , and S W be the sets of the regions touching the north, east, south, and west boundaries of R, respectively. • For each u ∈ S N , add a directed red edge (u , N ). • For each u ∈ S E , add a directed blue edge (u , E ). • For each u ∈ S S , add a directed red edge ( S , u ). • For each u ∈ S W , add a directed blue edge ( W , u ). Two rectilinear duals are combinatorially equivalent iff they have the same regular edge labeling. See Fig. 3 for an example. Fig. 3(2)–(4) are three rectilinear duals of the plane graph shown in Fig. 3(1). Their regular edge labelings are also displayed, in which red and blue edges are drawn as dashed and solid edges, respectively. It is easy to see that Fig. 3(2) is combinatorially equivalent to Fig. 3(3) but is not combinatorially equivalent to Fig. 3(4).

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.4 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

4

Fig. 4. An example of a separation-tree.

Fig. 5. Illustration of inserting a sub-drawing.

Let  be a triangle (a cycle of length 3) in a plane graph G. We call  a separating triangle (also known as a complex triangle) iff G () =  in any planar embedding of G. G  is defined to be the induced subgraph of the set of vertices { v ∈ V (G ())| for any triangle  =  in G (), v does not reside in the interior region of  }. For the plane graph G depicted in Fig. 4, G {a,b,c } is the subgraph induced by {a, b, c , d}. The separation-tree of a maximal plane graph G is defined as the unique rooted tree whose vertices are separating triangles and the boundary triangle in G, with  being a descendant of  iff  is contained in G ( ). See Fig. 4. The reader is referred to [15] for more about the above notations and definitions. The contraction of a triangle  is an operation that replaces G () with ; the un-contraction of a (previously contracted) triangle  is an operation that replaces  with G  . The descendants of  remain contracted when we un-contract . For convenience purpose, we write region(S), S ⊆ V , to denote the union of region of x, x ∈ S, in the rectilinear dual of G. An internally triangulated plane graph G admits a rectangular dual iff we can augment G with four vertices { N , E , S , W } satisfying: 1. The new outer face is the quadrangle { N , E , S , W }; 2. The resulting plane graph is internally triangulated and contains no separating triangle [12]. The tight connection between separating triangles and rectangular duals makes separation-trees particularly useful in constructing rectilinear duals. Here we sketch a general framework of building rectilinear duals based on separation-trees: 1. Let 1 , 2 , . . . , k be a level-order traversal of the separation-tree. We let G = 1 (the boundary triangle). 2. Construct a rectangular dual of G as the initial drawing. 3. For i = 1 to k, we un-contract i , and plug-in the rectangular drawing of G i \ i to the current drawing. See Fig. 5 for a conceptual illustration of inserting rectangular dual of G i \ i when i = {s, t , r } is un-contracted. Note that the exact location at which the rectangular dual is inserted will be explained in detail in our subsequent discussion. Note that such an insertion inevitably add some concave corners to nearby polygons. The reader is referred to [15,16] for more. 3. Rectilinear polygons Throughout the paper, all the rectilinear polygons are simple. Two rectilinear polygons are considered the same iff they admit the same circular order of angles. Therefore, it is without loss of information to use circular order of angles to represent a rectilinear polygon. For example, rectangle (or called I-shape), L-shape, -shape, W-shape, -shape can be represented by ( V , V , V , V ), ( V , V , V , C , V , V ), ( V , V , C , V , V , C , V , V ), ( V , V , V , C , V , C , V , V ), ( V , V , V , C , C , V , V , V ),

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.5 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

5

Fig. 6. Examples of rectilinear polygons.

Fig. 7. A non-rotated -shape rectilinear dual.

respectively, where the letters V and C represent convex and concave corners, respectively. Given a sequence P of C s and V s, we let C ( P ) and  V ( P ) denote the numbers of concave and convex corners, respectively. Here we define a partial order “ ” on rectilinear polygons as follows: Definition 2. Let P and Q be two rectilinear polygons. P Q iff Q can be obtained by iteratively inserting (C , V ) or ( V , C ) into P . Let R be a rectilinear dual, we call it Q -free iff for each module of shape P used in R, we have Q  P . The partial order “ ” actually reflects the intuitive idea of degeneracy in the way that P Q indicates that Q can degenerate to P . Therefore, the notion of “ Q -freeness” captures the idea of “ Q is not a degenerated form of any rectilinear region in the drawing”. We define a class of rectilinear polygons called staircase as follows: Definition 3. Let P be a rectilinear polygon. P is monotone staircase iff P = (a, S 1 , b, S 2 ) clockwise, where a = b = V and both S 1 and S 2 consist of C s and V s appearing alternatively and both start and end with V , where the two points a, b are exactly at the most south-western (i.e., lower left-hand) and the most north-eastern (i.e., upper right-hand) corners. In words, a monotone staircase polygon is a polygon formed by two monotonically rising staircases, each of which is a sequence of alternating horizontal and vertical line segments from the bottom-left corner to the top-right corner of the polygon. A staircase polygon is a rectilinear polygon resulting from rotating a monotone staircase polygon 90◦ , 180◦ , or 270◦ . The following facts are easy to observe, and may be explicitly or implicitly applied in the discussion throughout the paper. Fact 4.  V ( P ) − C ( P ) = 4 in any rectilinear polygon P . Fact 5. A rectilinear polygon is orthogonally convex iff it does not contain consecutive concave corners. Fact 6. A rectilinear polygon P is staircase iff   P and P is orthogonally convex. Fact 7. A rectilinear polygon P satisfies  P iff P = ( S 1 , a, S 2 , b, S 3 , S 4 ) such that a = b = V and C ( S 2 ) =  V ( S 2 ), C ( S 1 ) −

 V ( S 1 ) = C ( S 3 ) −  V ( S 3 ) = 1.

Fig. 6(1) is an example of a staircase module. The polygon in Fig. 6(2) is degeneratable to -shape by removing the two pairs of corners (circled in the picture); the reader can verify Fact 7 by considering its representation (C , V , V , V , C , C , V , V , V , V , C , V ) = ( S 1 = (C ), a = V , S 2 = (), b = V , S 3 = ( V , C , C ), S 4 = ( V , V , V , V , C , V )). A monotone staircase can be regarded as a non-rotated staircase since rotating it makes it not monotone. This notation can be extended to other types of modules as well. For example, Fig. 7 (1) is a -shape rectilinear dual since all the modules are the same as (possibly degenerate of) exactly one of the four possible -shape modules depicted Fig. 7(2).

JID:TCS AID:10382 /FLA

6

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.6 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 8. Definition of H 0 and illustration of the proof of Lemma 8.

4. Lower bound of polygonal complexity In this section, we prove that -free rectilinear duals of maximal plane graphs must have polygonal complexity of at least 12, which is higher than the 8 in the general case when -shape modules are allowed. We define the plane graph H 0 in Fig. 8, which is a key structure that is behind the higher polygonal complexity of -free rectilinear duals. The following lemma shows that a presence of the structure H 0 in a graph inevitably requires two concave corners in any of its -free rectilinear duals. Lemma 8. Let H be a subgraph of a maximal plane graph G such that H is isomorphic to H 0 (with x, y and z being the three vertices on the outer cycle) and G ( H ) = H . For any -free rectilinear dual of G, there must be at least two concave corners in polygonal regions associated with x, y, and z which are located along the border between region({x, y , z}) and region({u , v , w , c }). Proof. Clearly there must be at least one concave corner. If there is only one such concave corner, without loss of generality, we let x be the one containing the concave corner. Now, the boundary of the region({u , v , w , c }) must be a rectangle, as illustrated in the upper drawings of Fig. 8. Since the module c in Fig. 8 must touch x and since x borders the (rectangular) region {u , v , w , c } along its west and north sides, by symmetry, we can assume that c touches the west boundary without loss of generality. We identify four points p 1 , p 2 , p 3 and p 4 on the boundary of c as illustrated in Fig. 8. By setting a = p 2 , b = p 3 , S 1 = the sequence of points between p 1 and p 2 , S 2 = (), and S 3 = the sequence of points between p 3 and p 4 , it is easy to see that if all the regions are drawn rectilinearly, such assignments satisfy the statement of Fact 7, and hence  c, a contradiction. 2 With the help of the above lemma, we are in a position to prove the following main theorem of this section by a simple counting method. Theorem 9. There exists a maximal plane graph G such that every -free rectilinear dual of G must have polygonal complexity of at least 12. Proof. Let G 0 = ( V , E ) be an n-node maximal plane graph with n > 10. We replace each inner face of G 0 with a copy of H 0 by adding new vertices and edges. Let the resulting graph be G 1 , and we let R be any -free rectilinear dual of G 1 . According to Lemma 8, since the number of inner faces in G 0 is 2n − 5, the number of concave corners in regions associated with vertices of V must be at least 2 × (2n − 5) = 4n − 10 > 3n = 3| V |. Therefore, there must be a region in R containing at least 4 concave corners. By Fact 4, such a region has at least 4 + (4 + 4) = 12 corners. 2 In the lower part of Fig. 8, we give three examples of rectilinear duals of H 0 . The left two drawings are both -free and contain two concave corners in regions associated with x, y, and z; the rightmost one contains only one concave corner but the region associated with c is a -shape. These two -free drawings serve as prototypical concepts of the algorithm presented in the next section.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.7 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

7

Fig. 9. The left part shows the two cases explained in Section 5.1. The right part shows how the rectangular regions associated with u , v, and w are located in the rectangular space for the separating triangle {x, y , z}.

5. Construction of 12-sided -free rectilinear duals In this section, we present an algorithm to construct 12-sided -free rectilinear duals for maximal plane graphs. Our construction uses only monotone staircase modules, which are orthogonally convex ones that cannot degenerate to -shape modules (Fact 6). Our algorithm is an inductive approach based on the separation-trees described in Section 2. All we need to do is to devise a method inserting the rectangular dual of G  \  to the current rectilinear dual during the course of the construction meeting the following: 1. Every region preserves the shape of a monotone staircase; 2. The total number of concave corners on the boundary of each region is at most 4. 5.1. Un-contracting a separating triangle When we un-contract a triangle  = {x, y , z}, a rectangular space is allocated to accommodate a rectangular dual of G  \ , which in turn imposes (at least) a concave corner to one of the border of region({x, y , z}). Without loss of generality, we assume such a concave corner to be on the boundary of region x. As observed in Section 4, one concave corner in region({x, y , z}) may not be enough in some cases. In order to enforce the staircase constraint, we further annotate one of its four sides as “allowed to add a concave corner”, which is indicated by an arrow in our illustrations. See Fig. 9. Since region x is monotone staircase, x borders either the entire west and north boundary or the entire east and south boundary of the rectangular space. Therefore, there are eight cases in total since the arrow can point to any one of the four sides of the rectangular boundary. It is sufficient to consider the following two cases: 1. Region x borders the west and north sides, and the arrow points to the north side; 2. Region x borders the west and north sides, and the arrow points to the east side. The remaining cases are symmetric to one of the above (by flipping the entire drawing around the north-west to southeast line or the north-east to south-west line). We also fix region y to be the one that borders the east side of the rectangular space. A key in our un-contracting process is to identify three special vertices associated with each separating triangle. Consider Fig. 9. Let u , v, and w be the three vertices in G  \ {x, y , z} such that u , v, and w are adjacent to {x, y }, { y , z}, {x, z}, respectively. It is easy to see that u , v, and w are uniquely determined; otherwise, there must be a separating triangle in G  , which contradicts its definition. Unless | V (G  )| = 4 (in this case, u = v = w), u , v and w must be different from each other (otherwise, a separating triangle can be found in G  ). When the rectangular dual of G  \ {x, y , z} is constructed to fill the rectangular space, we may further assume the rectangular dual to have region w adjacent to the entire west side. Such a drawing must exist since there is no separating triangle inside the quadrangle {x, y , z, w }. If we consider the children of the node associated with  = {x, y , z} in the separation tree, there are two types of separating triangles:

JID:TCS AID:10382 /FLA

8

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.8 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 10. Illustration of un-contracting Type 1 triangles. (For interpretation of the references to color in this figure, the reader is referred to the web version of this article.)

Fig. 11. Illustration of un-contracting Type 2 triangles.

1. Separating triangles associated with triangles {x, y , u }, { y , z, v }, and {x, z, w } possibly. (Note that some of these three triangles may not be separating triangles.) 2. Separating triangles in the subgraph surrounded by vertices {x, u , y , v , z, w }. See Fig. 9. We first consider Type 1 separating triangles, i.e., those associated with triangles {x, y , u }, { y , z, v }, and {x, z, w } possibly. Depending on whether the arrow points to the north side or the east side of the rectangular space for G {x, y ,z} , the solutions are depicted as those regions surrounded by dashed boundaries in the rightmost figures in the upper and lower parts of Fig. 10, respectively. Note that in each of the cases, these three regions correspond to the regions allocated for Type 1 separating triangles, with some of which possibly be void if they are not separating triangles. Special attention should be given to the directions of the arrows in those regions. The checkered regions represent those allocated for the special vertices u , v, and w. The white spaces in Fig. 10 are parts of rectangular duals of the subgraph surrounded by vertices {x, u , y , v , z, w }, and the white dots indicate points at which there may be separating triangles when Type 2 separating triangles are included. Now we consider Type 2 separating triangles. Recall from Fig. 5 that when a separating triangle is un-contracted, a rectangular region is inserted at the juncture of the three regions associated with the three vertices of the separating triangle.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.9 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

9

Depending on the orientation of the three regions, there are four cases as illustrated in the upper part of Fig. 11. Attention should be given to the arrows in those regions, which indicate the sides where additional concave corners are possible during the course of future un-contraction. Although Fig. 11 shows the general rule for allocating spaces to accommodate Type 2 separating triangles, there is an exception. Consider the white point incident to both u and x in the upper illustration of Fig. 10 (see also the lower illustration of Fig. 11). One can see from Fig. 10 that the u module stretches upwards in order to make room for the separating triangle {x, u , y } (i.e., the top-most red region in the upper illustration of Fig. 10). As a result, we apply rule (3) in Fig. 11, as opposed to rule (4), as illustrated in the lower illustration of Fig. 11. Such special care prevents the creation of an additional (undesired) concave corner to region({x, y , z}). A similar situation occurs at the juncture of regions u and y in the lower illustration of Fig. 10. It is clear from the above that all operations preserve monotone staircase shape. What remains to do is to count the number of concave corners for each region. In Fig. 11, when we make a rectangular space at point p, if p is a non-corner of region s, no concave corner is imposed on s. Therefore, for any vertex s not belonging to {u , v , w }, the number of concave corners imposed on s is at most four since a rectangle has four corners. For the special vertices u , v , w, if s = u = v = w, it is easy to see that we also impose at most four concave corners on s. In Fig. 10, we make one concave corner and three arrows (which may potentially become concave corners) to s. For the case that u , v , w are distinct vertices, the results are summarized in the following: u: 0 concave corner, 1 arrow, and 3 white dots; the total amount is 4. v: 1 concave corner, 1 arrow, and 3 white dots; the total amount is 5. w: 0 concave corner, 1 arrow, and 2 white dots; the total amount is 3. So far, our algorithm can compute a monotone staircase rectilinear dual that uses modules of at most 14 (= 2 × 5 + 4) sides, as the number of sides = 2 × (the number of concave corners) + 4. To lower the polygonal complexity from 14 to 12, our approach is to transfer one concave corner from v to w. Our solution is presented in the following sub-section. 5.2. Transferring concave corners Let S = V (G  ) \ {x, y , z}, and given a rectangular dual R 0 of G  \ {x, y , z} that satisfies the conditions described in Section 5.1, i.e., (1) the west and north boundaries of R 0 are adjacent to x, the east and south boundaries of R 0 are adjacent to y and z, respectively, and (2) w (the unique vertex adjacent to x and z) borders the entire west boundary of R 0 , we define a relation “←” on S: Definition 10. Given S and R 0 , “←” is a relation on S such that: s ← s iff (1) the west side of s is more west than (i.e., on the left-hand side of) the west side of s , and (2) there is a point p in R 0 such that p is a 180◦ corner in s and a 90◦ corner in s . Regarding the separating triangle {x, y , z} discussed in Section 5, the following lemmas are easy to observe. Lemma 11 directly follows from the fact that w is the unique vertex adjacent to x and z. Lemma 11. w is the only vertex that touches both the north boundary and the south boundary of R 0 . Lemma 12. There exists a path v = s1 , s2 , . . . , sk = w in S such that si +1 ← si for 1 ≤ i ≤ k − 1. Proof. If such a path does not exist, there must exist a vertex t = w such that s  t for all s ∈ S. It means that the north-west corner of t touches the north boundary of R 0 and the south-west corner of t touches the south boundary of R 0 , which contradicts Lemma 11. 2 Let s1 , s2 , . . . , sk be the path that satisfies Lemma 12. Our concave corner transfer algorithm works as follows: For i = 1 to k, if there is a separating triangle  = {si , si +1 , t } for some t ∈ S, we re-build the rectangular space for  as depicted in Fig. 12, which is capable of “shifting” 1 concave corner from si to si +1 . Note that in the first two illustrations in Fig. 12, the concave corner in si is explicit, whereas in the last two illustrations, the concave corner in si is implicitly indicated by the arrow. The procedure terminates if there is no such triangle; in this case, the number of concave corners in si must be smaller than four before the execution of this algorithm. Therefore, all the regions must have at most four concave corners after the concave corner transfer algorithm ends. It is easy to see that the algorithm presented in this section for constructing monotone staircase rectilinear duals can be implemented in linear time. Theorem 13. -free rectilinear duals for maximal plane graphs have polygonal complexity of at most 12. Moreover, there is a linear time algorithm that constructs a monotone staircase rectilinear dual for any maximal plane graph.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

10

[m3G; v1.159; Prn:10/08/2015; 13:09] P.10 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 12. Illustration of transferring concave corners.

Fig. 13. Illustration of concepts in Section 6.

6. Area-universal drawing Motivated by the applications to cartogram design and floor-planning, for instance, there has been an increasing interest in the study of area-universality of rectilinear duals. A rectilinear dual is area-universal iff every possible area assignment can be realized by a combinatorially equivalent one [1,6]. In view of our earlier discussion, it is natural to investigate how or whether area-universal rectilinear duals can be constructed in the absence of -shape modules. In this section we show that restricting usable modules to monotone staircases is insufficient to construct area-universal rectilinear duals for maximal plane graphs in general. To proceed further, we require some definitions. We denote the most south-western point and the most north-eastern point of a monotone staircase module as SW and NE, respectively. Separated by these 2 points, the boundary of the module is divided into the upper part and lower part naturally, which we denote as Up and Low, respectively. See Fig. 13(1) for an illustration. We define relations −−−→ for X ∈ {SW , NE}, Y ∈ {Up, Low}, and give a condition for rectilinear duals being not X ,Y area-universal. Definition 14. For X ∈ {SW , NE}, Y ∈ {Up, Low}, and any two regions s, t of monotone staircase shape, s −−−→ t iff X (s) is X ,Y

located in Y (t ), where X (s) and Y (t ) denote the X point of region s and the Y boundary of region t, respectively.

−−→ r, Lemma 15. For any monotone staircase rectilinear dual R, if there exist three regions r , s, t and Y ∈ {Up, Low} such that s − NE,Y t −−−→ r, and NE(s) is more south-west than SW (t ), then R is not area-universal. SW ,Y

Proof. For any drawing of R, consider a Cartesian system formed by setting x-axis to be the east-west line passing through NE(s) and setting y-axis to be the north-south line passing through SW (t ), then s, t must be confined in quadrant I, III, respectively (see Fig. 13(2) for an illustration). It is easy to see that any area-assignment where both the area of s and the area of t surpass 25% of the area of the rectilinear dual is not realizable. 2 Similar to what we have done in Section 4, let G be a maximal plane graph and H be a sub-graph of G such that H is isomorphic to H 0 and G ( H ) = H . We consider a monotone staircase rectilinear dual R of G. It is easy to observe that

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.11 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

11

the border between 2 monotone staircase regions cannot intersect with both Up and Low of one of them (otherwise, the other cannot be monotone staircase). Therefore, by the pigeonhole principle, in H we have that two of {u , v , w } border c in one of {Up(s), Low(s)}. We denote these two vertices as s1 , s2 , and the border between s1 , c is more south-west than that of s2 , c. Let r ∈ {x, y , z} be the unique vertex adjacent to both s1 and s2 , the next lemma reveals a relationship between s1 , s2 , c, and r. Lemma 16. If we require R to be area-universal, exactly one of the following must be satisfied for H : 1. SW (r ) is located in Up(c ), s1 −−−→ r, and s2 −−−−→ r. NE,Up

NE,Low

−−−→ r. 2. NE(r ) is located in Up(c ), s1 −−−−→ r, and s2 − SW ,Low

SW ,Up

3. SW (r ) is located in Low(c ), s1 −−−−→ r, and s2 −−−→ r. NE,Low

NE,Up

4. NE(r ) is located in Low(c ), s1 − −−−→ r, and s2 −−−−→ r. SW ,Up

SW ,Low

Proof. If both SW (r ) and NE(r ) are not located in one of Up(c ) and Low(c ), it is easy to see that setting (s, t , r ) = (s1 , s2 , c ) satisfies the condition in Lemma 15, and hence R is not area-universal. Therefore, the first part (which is concerned with the location of SW (r ) or NE(r )) of one of the four statements is satisfied. It remains to prove that for each statement, the first part implies the remaining parts; By symmetry, all four statements are inherently the same, therefore it suffices to consider statement (1) only, that is, showing that SW (r ) is located in Up(c ) implies s1 −−−−→ r and s2 − −−−−→ r. NE,Up

NE,Low

Let s3 be the only vertex in {u , v , w } \ {s1 , s2 }, and we, without loss of generality, let x = r. Since SW (r ) is located in Up(c ), x cannot touch the most south-western point of c ∪ s3 , and we denote this point as p. It forces both y and z touch p since if it is touched by only one of { y , z}, that one cannot remain monotone staircase. It is not hard to see in Fig. 13(3) that if s1 −−−−→ r is not satisfied, then NE(s1 ) is a locally most north-eastern point in Low( z), which makes z not monotone NE,Up

staircase. Similar contradiction can be made for y when s2 − −−−−→ r is not satisfied. Hence the lemma follows. NE,Low

2

Theorem 17. There exists a maximal plane graph G such that every monotone staircase rectilinear dual of G is not area-universal. Proof. The idea behind this proof is similar to that of Theorem 9. Let G 0 , G 1 , S, and n be the same as what they are in the proof of Theorem 9. Let R be a monotone staircase rectilinear dual of G 1 . According to Lemma 16, for each separating triangle  in G 1 such that G () is isomorphic to H 0 , we define a function f that chooses a vertex f () = r ∈  such that there are two vertices a, b ∈ V (G ()) \  satisfying either a −−−−→ r and b − −−−−→ r or a −−−−→ r and b −−−−−→ r. NE,Up

NE,Low

SW ,Up

SW ,Low

Since the number of  in G 1 such that G () is isomorphic to H 0 is 2n − 5 > n, we can find two such triangles , and  such that f () = f ( ). As illustrated in Fig. 13(4), the condition stated in Lemma 15 must be satisfied, and hence, the drawing of G 1 must not be area-universal. 2 7. More about staircase modules Following the impossibility result in the previous section, we study monotone staircase modules in a more restricted setting. It is easy to observe that Theorem 17 still holds even restricting to plane 3-trees since replacing a triangle with H 0 preserves the property of being a plane 3-tree. Beside plane 3-trees, Hamiltonian maximal plane graphs,1 which subsume maximal outer plane graphs and 4-connected plane graphs, are another important sub-class of maximal plane graphs. Contrasting the above results, the following theorem can be shown easily by a slight modification to the -shape cartogram drawing algorithm described in [1] (by reversing the construction order of the right part, we can get a non-rotated Z-shape drawing). Theorem 18. All Hamiltonian maximal plane graphs admit 8-sided area-universal monotone staircase rectilinear duals. Combining the result in [1], we conclude that all Hamiltonian maximal plane graphs admit rectilinear duals meeting the following requirements:

• The drawing consists of non-rotated -shape (non-rotated -shape, or non-rotated Z-shape) modules only. • The drawing is area-universal. The above gives rise to the problem of whether every Hamiltonian maximal plane graph admits a non-rotated W-shape rectilinear dual (as W-shape is the only 8-sided rectilinear polygon other than -, -, Z- shapes). See Fig. 14(1) for the picture of a W-shape module. We denote a monotone staircase module whose Low contains exactly one convex corner and

1

A Hamiltonian maximal plane graph is a maximal plane graph which has a Hamiltonian cycle.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.12 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

12

Fig. 14. Illustration of the proof of Theorem 19.

no concave corner as a monotone strict staircase. It is easy to see that a non-rotated W-shape is exactly the 8-sided monotone strict staircase. We prove the following result: Theorem 19. For any k, there is a Hamiltonian maximal plane graph that does not admit any k-sided monotone strict staircase rectilinear dual. Proof. Let G be a Hamiltonian maximal plane graph, and let {x, y , z} be its outer cycle. Given any monotone strict staircase rectilinear dual R for G, without loss of generality, we let the module associated with z be the one touching the south-east corner of the rectangular boundary of R. The region surrounded by modules of x, y , z must be an upside-down monotone strict staircase, as depicted in Fig. 14(2). Let  = {a, b, z} be any separating triangle such that {a, b} ∩ {x, y } = ∅. Since modules of a, b are both monotone strict staircases, there must be at least one concave corner of module of z residing in the border between module of z and the region interior of  (otherwise, the region interior of  cannot be enclosed by region({a, b, z})). See Fig. 14(3). As a result, a necessary condition for R to be a k-sided monotone strict staircase rectilinear dual is that the number of interior-disjoint separating triangles  = {a, b, z} such that {a, b} ∩ {x, y } = ∅ is at most (k − 4)/2 (recall that the number of convex corners of a rectilinear polygon is four plus the number of concave corners, and that the number of sides equal the number of corners). Next, we show that for any number t, there is always a Hamiltonian maximal plane graph G in which each boundary vertex is contained in at least t such triangles. Fig. 14(4) showcases such an example. In this scheme, we can have as many interior-disjoint triangles containing a boundary vertex as we want by adding more dotted-lines linking a boundary vertex to the center vertex c. Also, the graph remains to be Hamiltonian if we add a new vertex v inside each triangle  in the shaded region and add an edge between each vertex in  and v (making  a separating triangle). As a result, we conclude the proof. 2 However, if unbounded polygonal complexity is allowed (i.e., k → ∞), we have the following theorem: Theorem 20. Every maximal plane graph admits a monotone strict staircase rectilinear dual, having possibly unbounded polygonal complexity. Proof. For any maximal plane graph G, we construct a desired drawing using the framework of building rectilinear duals based on separation-trees described in Section 2. To meet the requirement of using only monotone strict staircase modules, it suffices to make sure that during the construction, each addition of a concave corner to a module s preserves the property that s is a monotone strict staircase. We only add concave corners when a separating triangle i is un-contracted, since we need to make a rectangular space to plug-in the rectangular drawing of G i \ i to the current drawing (see Fig. 5 for a conceptual illustration). It is easy to see that if we make rectangular space according to the rule described in Fig. 15, the property that all modules are monotone strict staircase can be preserved. 2 We remark that for the special case of k = 6, a 6-sided monotone strict staircase is exactly non-rotated L-shape, and the maximal plane graphs admitting rectilinear duals using such modules have been characterized based on Schnyder wood (Theorem 2.1.7 of [15]). 8. 3D floorplans In this section we turn our focus to the three dimensional case. Instead of studying floorplans using restricted modules, the goal of this section is to investigate how much benefit we can obtain by relaxing each module from an orthogonal

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.13 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

13

Fig. 15. Illustration of the proof of Theorem 20.

polygon to an orthogonal polyhedron. First of all, we give the definition of 3D floorplans, which is a natural generalization of rectilinear duals to 3D: Definition 21. A 3D floorplan R of a graph G is a contact representation in which each vertex v ∈ V (G ) corresponds to an axis-aligned genus 0 simple orthogonal polyhedron such that two polyhedra have a surface contact (of non-zero area) iff their corresponding vertices are adjacent in G. Furthermore, polyhedra in R form a partition of a box, and hence the representation has no hole. In the two dimensional case, the graph class receiving the most attention in the study of contact graph representations is undoubtedly the class of maximal planar graphs, in which each of its internal faces is a triangle corresponding to a T-junction in the rectilinear dual of the graph. As 3D allows us to capture a richer graph class in terms of contact representations, it is natural to begin with a class of non-planar graphs with some sort of a flavor of a “triangulation”. Chordal graphs (also named as triangulated graphs in some literature) is a good candidate for this purpose. / E (C ) such A chordal graph is a graph where each cycle C of length more than 3 has a chord, which is an edge e = {u , v } ∈ that u , v ∈ V (C ). As a result, each induced cycle in a chordal graph is necessarily a triangle. Chordal graphs can be characterized as intersection graphs of subtrees of a tree. The following result is well-known. Theorem 22. For a (connected) chordal graph G, we can construct a tree T 1 where each X ∈ V ( T 1 ) is a subset of V (G ) such that the following are met: 1. ∀ v ∈ V (G ), the set { X ∈ V ( T 1 )| v ∈ X } forms a subtree of T 1 . 2. ∀ v 1 , v 2 ∈ V (G ), { v 1 , v 2 } ∈ E (G ) iff ∃ X ∈ V ( T 1 ) such that { v 1 , v 2 } ⊆ X . It is noted that the tree T 1 in the above theorem is also known as a clique tree of G, as each node of T 1 corresponds to a maximal clique of G. See graph G and tree T 1 in Fig. 16. To facilitate the construction of a 3D floorplan of a chordal graph, we slightly modify the clique tree in the above theorem to yield a new tree satisfying four additional properties, as shown in the following theorem. Theorem 23. For a (connected) chordal graph G, we can construct a tree T 2 where each X ∈ V ( T 2 ) is a subset of V (G ) such that the following are met: 1. 2. 3. 4. 5. 6.

∀ v ∈ V (G ), the set { X ∈ V ( T 2 )| v ∈ X } forms a subtree of T 2 . ∀ v 1 , v 2 ∈ V (G ), { v 1 , v 2 } ∈ E (G ) iff ∃ X ∈ V ( T 2 ) such that { v 1 , v 2 } ⊆ X . T 2 is of maximum degree 3. If X ∈ V ( T 2 ) is of degree 3, then ∀ v ∈ V (G ), ∀{ X , X } ∈ E ( T 2 ), v ∈ X iff v ∈ X . If X ∈ V ( T 2 ) is of degree 1, | X | = 1. ∀{ X , X } ∈ E ( T 2 ), | X \ X | ≤ 1.

To understand the difference between T 1 and T 2 , first recall that a chordal graph can be captured as the intersection graph of subtrees of a tree. See Fig. 16 for illustrations of T 1 and T 2 satisfying the conditions in Theorem 22 and Theorem 23, respectively. The vertical line segments in the lower left of Fig. 16 shows a portion of the subtrees corresponding to vertices 1, 2, 3, 4, 5 within the paths P 1 , P 2 . For instance, considering the intersection graph of subtrees of T 1 , {2, 5} is an edge in G since line segments associated with 2 and 5 overlap at some node, as our drawing of P 1 indicates. To meet the four additional conditions in Theorem 23, P 2 is obtained from P 1 by stretching some of the line segments of P 1 (while introducing additional nodes in the tree) so that the difference between two adjacent nodes in P 2 is exactly one, and

JID:TCS AID:10382 /FLA

14

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.14 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 16. A chordal graph G and trees T 1 and T 2 .

Fig. 17. Illustration of a 3D floorplan.

P 2 exhibits exactly the same intersection relation as P 1 . Adapting a similar approach for other portion of T 1 , a tree (T 2 ) satisfying Theorem 23 can be constructed easily. It is not difficult to see that T 2 in Fig. 16 satisfies all the conditions in Theorem 23. In view of the above, Theorem 23 should be obvious. In what follows, we show that any chordal graph G admits a 3D floorplan R using only two layers. Intuitively, a 2-layer floorplan is referred to one that can be obtained by gluing two 2D floorplans together. We write N, E, S, W, U , and L to denote the northern, eastern, southern, western, upper, and lower faces of the boundary box of R, respectively. Each of them can be seen as a 2D floorplan of some rectilinear polygons corresponding to some vertices in G, where several rectilinear polygons may correspond to the same vertex. We write R ( X ), X ∈ {N, E, S, W, U, L}, to denote such a 2D drawing. We note that a 3D floorplan R using only two layers is completely describable by the two overlapping 2D floorplans R (U) and R (L). See Fig. 17 for an illustration of a 3D floorplan consisting of a box labeled 2 lying on two L-shape polyhedra labeled 1 and 3. R ( X ), X ∈ {N, E, S, W, U, L}, are also depicted in the figure. One can easily observe that the information provided by R (U) and R (L) are sufficient to describe the floorplan completely as it uses only two layers. Hence, to simplify the illustration of our algorithm, instead of giving a 3D drawing of the floorplan, we only draw R (U) and R (L) in our subsequent discussion. Given a chordal graph G, our approach is an inductive construction based on a tree T guaranteed by Theorem 23. We make T a rooted tree by designating one of its vertices of degree 1 as the root. For any subtree T whose root is X , we write G X to denote the subgraph of G induced by { v ∈ V (G )|∃ X ∈ V ( T ), v ∈ X }. The invariant (i.e., inductive hypothesis) of our construction is described as follows: Given any designated vertex v ∈ X , there is a 2-layer 3D floorplan R X , v of G X satisfying the following requirements: 1. Each of R X , v (E) and R X , v (W) contains exactly one rectangle corresponding to v. 2. If | X | = 1, R X , v (S) contains exactly one rectangle corresponding to v. 3. If | X | > 1, R X , v (S) contains exactly | X | + 1 rectangles, each of which touches the upper and the lower sides of the outer boundary. The west-most and the east-most rectangles correspond to v. The remaining | X | − 1 ones correspond to the | X | − 1 vertices in X \ { v }, respectively. (Base case) X is a leaf in T . According to Theorem 23, | X | = 1, it is immediate that a 3D floorplan containing exactly one box for vertex v ∈ X works. (Induction step) Now, suppose X is not a leaf. Since the maximum degree of T is at most 3, and since the root of T is of degree 1, every non-leaf vertex in T contains either one or two children. We first deal with the situation when X has exactly one child X 1 . By induction hypothesis, for any designated vertex v ∈ X 1 , there is a drawing R X 1 , v of G X 1 satisfying the above requirements. If X = X 1 , taking the drawing R X , v = R X 1 , v

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.15 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

15

Fig. 18. Illustration of the removal operation.

Fig. 19. Illustration of the insertion operation.

Fig. 20. Illustration of the operation that changes the outer module.

suffices. Therefore, we assume that X = X . In view of Theorem 23, we must have either X 1 = X ∪ { v } for some v ∈ X 1 \ X (Case A) or X = X 1 ∪ { v } for some v ∈ X \ X 1 (Case B). Case A: For any v ∈ X , we must have v ∈ X 1 . A desired R X , v can be constructed by extending the southern part of R X 1 , v with an operation which eliminates v from R X , v (S). Adding a bend to a module near the module corresponding to v

suffices to prevent the presence of v in R X , v (S). See Fig. 18 for an illustration of such a removal operation. Case B: For any v ∈ X , we must have either v ∈ X 1 or v = v . Similarly, if v ∈ X 1 , a desired R X , v can be constructed by extending the southern part of R X 1 , v with an operation which introduces the new orthogonal polyhedron corresponding to v and makes it appears in R X , v (S). Such an insertion operation is illustrated in Fig. 19. If v = v , we start with R X 1 , v

for any v

∈ X 1 . After introducing the new orthogonal polyhedron corresponding to v using the insertion operation in Fig. 19, we still need to make the module of v = v to be the outer one (i.e., occupying the entire R X , v (E) and the entire R X , v (W)). The operation to fulfill this task is described in Fig. 20. It is easy to verify that the resulting drawing meets all the requirements and that the drawing is a 3D floorplan of G X (the module corresponding to v is guaranteed to contact all other modules of vertices in X in the upper layer). Next, we deal with the remaining situation where X has two children X 1 and X 2 (Case C). In view of Theorem 23, we always have v ∈ X 1 and v ∈ X 2 , ∀ v ∈ X . Case C: For any v ∈ X , a desired R X , v can be constructed by the following procedure. First, we combine R X 1 , v and R X 2 , v together by gluing R X 1 , v (E) with R X 2 , v (W). Then, we extend the southern boundary to link the polyhedra in R X 1 , v and in R X 2 , v corresponding to the same vertex. The detail of the merging operation is described in Fig. 21. By carrying out the inductive construction in a bottom up fashion, the following main theorem of the section is obtained: Theorem 24. Every (connected) chordal graph G admits a 2-layer 3D floorplan. Before ending this section, more is said about our 3D floorplanning algorithm in the following. First of all, one can easily see that the drawing produced by our algorithm is “volume-universal” (i.e., can realize any volume assignment to modules) by the following reasoning. First, we make the lower layer to be negligibly thin enough. The added volume introduced by any operations other than the insertion described in Fig. 19 is also set to be negligibly small. Whenever a new polyhedron corresponding to a vertex is added to the drawing, the lengths ε1 and ε2 (see Fig. 19) are made negligibly small. As a result, the insertion of v is now “equivalent” to adding a box corresponding to v gluing to the

JID:TCS AID:10382 /FLA

16

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.16 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

Fig. 21. Illustration of the merging operation.

Fig. 22. Illustration of the simplified operations for interval graphs.

southern face of the current 3D floorplan. These boxes are only parts of the entire drawing that contributes non-negligible volume of modules. It is easy to see that the volume of such a box can be set arbitrarily during the insertion operation. Hence, we have the following: Corollary 25. Given a (connected) chordal graph G, there is a 2-layer 3D volume-universal floorplan that respects any weight assignment to vertices in G, in the sense that the volume of an orthogonal polyhedron in the floorplan equals the assigned weight of the associated vertex in G. Second, if we restrict the graph class to the interval graphs (the intersection graph of subpaths in a path), the drawing resulting from our algorithm has width O (k) (i.e., the number of layers needed in the west-east direction), where k is the size of the maximum clique in G. Since, for an interval graph G, its corresponding T is a path, Case C never occurs, and hence the requirement that a designated module occupying the entire east and west sides is redundant. Therefore, the only operations needed are the insertion (Fig. 19) and the removal (Fig. 18). In fact, these operations can be simplified since a requirement is relaxed. See Fig. 22 for an illustration of the relaxed version of these operations. Since the maximum size of X ∈ V ( T ) equals the maximum size of cliques in G, it is easy to see the following result by properly adjusting and assigning coordinates. Corollary 26. Every interval graph G admits a 2-layer 3D floorplan which fits in a O (1) × O (k) × O (| V (G )|) grid, where k is the size of the maximum clique in G. 9. Conclusion To understand the power and limitation of different shapes of modules in constructing floorplans, we have studied various aspects of floorplans in 2D and 3D. First of all, we formalized the concept of “freedom from certain module type” in the study of rectilinear duals, and presented a linear-time algorithm to construct -free rectilinear duals for maximal plane graphs with optimal polygonal complexity 12. Our construction uses only monotone staircase modules. A further study of rectilinear duals using monotone staircase modules in Section 7 is related to the work reported in [1,15]. Towards a more comprehensive understanding of modules in rectilinear duals, a natural direction for future research is to investigate other kinds of previously unstudied restrictions to modules.

JID:TCS AID:10382 /FLA

Doctopic: Algorithms, automata, complexity and games

[m3G; v1.159; Prn:10/08/2015; 13:09] P.17 (1-17)

Y.-J. Chang, H.-C. Yen / Theoretical Computer Science ••• (••••) •••–•••

17

Regarding area-universality, we showed that monotone staircase modules are insufficient for constructing area-universal rectilinear duals of maximal plane graphs. However, for Hamiltonian plane graphs, eight sides were shown to be sufficient. As all existing constructions for area-universal rectilinear duals of maximal plane graphs are not -free, whether -free modules are sufficient to construct such drawings remains an interesting open problem. To the best of our knowledge, our work is the first to generalize the concept of rectilinear duals to 3D, and we gave a simple constructive proof showing that all chordal graphs admit 3D floorplans, which parallels the well-known result stating that all maximal plane graphs admit rectilinear duals. Future work along the line of research in 3D floorplanning includes minimizing the complexity of the drawing (measured, for instance, in terms of the size of the bounding box, or the number of faces/sides/corners in each of the constituent orthogonal polyhedra). Finding a broader class of graphs admitting 3D floorplans is also of interest. Acknowledgements The authors thank the anonymous referee for comments that improved the presentation of this paper. The second author’s research was supported in part by National Science Council of Taiwan under Grants NSC-100-2221-E002-132-MY3 and MOST-103-2221-E-002-154-MY3. References [1] Md.J. Alam, T. Biedl, S. Felsner, M. Kaufmann, S.G. Kobourov, T. Ueckert, Computing cartograms with optimal complexity, Discrete Comput. Geom. 50 (3) (2013) 784–810. [2] Md.J. Alam, T. Biedl, S. Felsner, A. Gerasch, M. Kaufmann, S.G. Kobourov, Linear-time algorithms for hole-free rectilinear proportional contact graph representations, Algorithmica 67 (1) (2013) 3–22. [3] Md. Alam, S.G. Kobourov, G. Liotta, S. Pupyrev, S. Veeramoni, 3D proportional contact representations of graphs, in: Proc. 5th International Conference on Information, Intelligence, Systems and Applications, 2014, pp. 27–32. [4] T. Biedl, L.E.R. Velazquez, Orthogonal cartograms with few corners per face, in: Proc. 2011 Algorithms and Data Structures Symposium, in: LNCS, vol. 6844, 2011, pp. 98–109. [5] Y. Chang, H. Yen, On orthogonally convex drawings of plane graphs, in: Proc. 21st International Symposium on Graph Drawing, in: LNCS, vol. 8242, 2013, pp. 400–411. [6] D. Eppstein, E. Mumford, B. Speckmann, K. Verbeek, Area-universal and constrained rectangular layouts, SIAM J. Comput. 41 (3) (2012) 537–564. [7] B.D. He, A simple optimal binary representation of mosaic floorplans and baxter permutations, Theoret. Comput. Sci. 532 (1) (2014) 40–50. [8] P. Horn, G. Lippner, Two layer 3D floor planning, Electron. J. Combin. 20 (4) (2013), Paper # P16. [9] G. Kant, X. He, Regular edge labeling of 4-connected plane graphs and its applications in graph drawing problems, Theoret. Comput. Sci. 172 (1–2) (1997) 175–193. [10] B. Kar, S. Sur-Kolay, S. Rangarajan, C. Mandal, A faster hierarchical balanced bipartitioner for VLSI floorplans using monotone staircase cuts, in: Proc. 16th VLSI Design and Test Symposium, in: LNCS, vol. 7373, 2012, pp. 327–336. [11] A. Kawaguchi, H. Nagamochi, Drawing slicing graphs with face areas, Theoret. Comput. Sci. 410 (11) (2009) 1061–1072. [12] K. Kozminski, E. Kinnen, Rectangular dual of planar graphs, Networks 15 (1985) 145–157. [13] C. Liao, H. Lu, H. Yen, Compact floor-planning via orderly spanning trees, J. Algorithms 48 (2) (2003) 441–451. [14] S. Majumder, S. Sur-Kolay, B. Bhattacharya, S. Das, Hierarchical partitioning of VLSI floorplans by staircases, ACM Transact. Des. Automat. Electron. Syst. 12 (1) (2007) 141–159. [15] T. Ueckerdt, Geometric representations of graphs with low polygonal complexity, PhD thesis, Technische Universitat Berlin, 2011. [16] K. Yeap, M. Sarrafzadeh, Floor-planning by graph dualization: 2-concave rectilinear modules, SIAM J. Comput. 22 (1993) 500–526.