Planar Embeddings with Small and Uniform Faces^{†}^{†}thanks: Work by Giordano Da Lozzo was supported in part by the Italian Ministry of Education, University, and Research (MIUR) under PRIN 2012C4E3KT national research project “AMANDA – Algorithmics for MAssive and Networked DAta”. Work by Jan Kratochvíl and Vít Jelínek was supported by the grant no. 1414179S of the Czech Science Foundation GAČR. Ignaz Rutter was supported by a fellowship within the PostdocProgram of the German Academic Exchange Service (DAAD).
Abstract
Motivated by finding planar embeddings that lead to drawings with favorable aesthetics, we study the problems MinMaxFace and UniformFaces of embedding a given biconnected multigraph such that the largest face is as small as possible and such that all faces have the same size, respectively.
We prove a complexity dichotomy for MinMaxFace and show that deciding whether the maximum is at most is polynomialtime solvable for and NPcomplete for . Further, we give a 6approximation for minimizing the maximum face in a planar embedding. For UniformFaces, we show that the problem is NPcomplete for odd and even . Moreover, we characterize the biconnected planar multigraphs admitting 3 and 4uniform embeddings (in a uniform embedding all faces have size ) and give an efficient algorithm for testing the existence of a 6uniform embedding.
1 Introduction
While there are infinitely many ways to embed a connected planar graph into the plane without edge crossings, these embeddings can be grouped into a finite number of equivalence classes, socalled combinatorial embeddings, where two embeddings are equivalent if the clockwise order around each vertex is the same. Many algorithms for drawing planar graphs require that the input graph is provided together with a combinatorial embedding, which the algorithm preserves. Since the aesthetic properties of the drawing often depend critically on the chosen embedding, e.g. the number of bends in orthogonal drawings, it is natural to ask for a planar embedding that will lead to the best results.
In many cases the problem of optimizing some cost function over all combinatorial embeddings is NPcomplete. For example, it is known that it is NPcomplete to test the existence of an embedding that admits an orthogonal drawing without bends or an upward planar embedding [9]. On the other hand, there are efficient algorithms for minimizing various measures such as the radius of the dual [1, 2] and attempts to minimize the number of bends in orthogonal drawings subject to some restrictions [3, 4, 5].
Usually, choosing a planar embedding is considered as deciding the circular ordering of edges around vertices. It can, however, also be equivalently viewed as choosing the set of facial cycles, i.e., which cycles become face boundaries. In this sense it is natural to seek an embedding whose facial cycles have favorable properties. For example, Gutwenger and Mutzel [11] give algorithms for computing an embedding that maximizes the size of the outer face. The most general form of this problem is as follows. The input consists of a graph and a cost function on the cycles of the graph, and we seek a planar embedding where the sum of the costs of the facial cycles is minimum. This general version of the problem has been introduced and studied by Mutzel and Weiskircher [13]. Woeginger [14] shows that it is NPcomplete even when assigning cost 0 to all cycles of size up to and cost 1 for longer cycles. Mutzel and Weiskircher [13] propose an ILP formulation for this problem based on SPQRtrees.
In this paper, we focus on two specific problems of this type, aimed at reducing the visual complexity and eliminating certain artifacts related to face sizes from drawings. Namely, large faces in the interior of a drawing may be perceived as holes and consequently interpreted as an artifact of the graph. Similarly, if the graph has faces of vastly different sizes, this may leave the impression that the drawn graph is highly irregular. However, rather than being a structural property of the graph, it is quite possible that the artifacts in the drawing rather stem from a poor embedding choice and can be avoided by choosing a more suitable planar embedding.
We thus propose two problems. First, to avoid large faces in the drawing, we seek to minimize the size of the largest face; we call this problem MinMaxFace. Second, we study the problem of recognizing those graphs that admit perfectly uniform face sizes; we call this problem UniformFaces. Both problems can be solved by the ILP approach of Mutzel and Weiskircher [13] but were not known to be NPhard.
Our Contributions.
First, in Section 3, we study the computational complexity of MinMaxFace and its decision version MinMaxFace, which asks whether the input graph can be embedded such that the maximum face size is at most . We prove a complexity dichotomy for this problem and show that MinMaxFace is polynomialtime solvable for and NPcomplete for . Our hardness result for strengthens Woeginger’s result [14], which states that it is NPcomplete to minimize the number of faces of size greater than for , whereas our reduction shows that it is in fact NPcomplete to decide whether such faces can be completely avoided. Furthermore, we give an efficient 6approximation for MinMaxFace.
Second, in Section 4, we study the problem of recognizing graphs that admit perfectly uniform face sizes (UniformFaces), which is a special case of MinMaxFace. An embedding is uniform if all faces have size . We characterize the biconnected multigraphs admitting a uniform embedding for and give an efficient recognition algorithm for . Finally, we show that for odd and even , it is NPcomplete to decide whether a planar graph admits a uniform embedding.
2 Preliminaries
A graph is connected if there is a path between any two vertices. A cutvertex is a vertex whose removal disconnects the graph. A separating pair is a pair of vertices whose removal disconnects the graph. A connected graph is biconnected if it does not have a cutvertex and a biconnected graph is 3connected if it does not have a separating pair. Unless specified otherwise, throughout the rest of the paper we will consider graphs without loops, but with possible multiple edges.
We consider graphs with two special pole vertices and . The family of graphs can be constructed in a fashion very similar to seriesparallel graphs. Namely, an edge is an graph with poles and . Now let be an graph with poles for and let be a planar graph with two designated adjacent vertices and and edges . We call the skeleton of the composition and its edges are called virtual edges; the edge is the parent edge and and are the poles of the skeleton . To compose the ’s into an graph with poles and , we remove the edge from and replace each by for by removing and identifying the poles of with the endpoints of . In fact, we only allow three types of compositions: in a series composition the skeleton is a cycle of length , in a parallel composition consists of two vertices connected by parallel edges, and in a rigid composition is 3connected.
For every biconnected planar graph with an edge , the graph is an graph with poles and [6]. Much in the same way as seriesparallel graphs, the graph gives rise to a (de)composition tree describing how it can be obtained from single edges. The nodes of corresponding to edges, series, parallel, and rigid compositions of the graph are Q, S, P, and Rnodes, respectively. To obtain a composition tree for , we add an additional root Qnode representing the edge . We associate with each node the skeleton of the composition and denote it by . For a Qnode , the skeleton consists of the two endpoints of the edge represented by and one real and one virtual edge between them representing the rest of the graph. For a node of , the pertinent graph is the subgraph represented by the subtree with root . For a virtual edge of a skeleton , the expansion graph of is the pertinent graph of the neighbor corresponding to when considering rooted at .
The SPQRtree of with respect to the edge , originally introduced by Di Battista and Tamassia [6], is the (unique) smallest decomposition tree for . Using a different edge of and a composition of corresponds to rerooting at the node representing . It thus makes sense to say that is the SPQRtree of . The SPQRtree of has size linear in and can be computed in linear time [10]. Planar embeddings of correspond bijectively to planar embeddings of all skeletons of ; the choices are the orderings of the parallel edges in Pnodes and the embeddings of the Rnode skeletons, which are unique up to a flip. When considering rooted SPQRtrees, we assume that the embedding of is such that the root edge is incident to the outer face, which is equivalent to the parent edge being incident to the outer face in each skeleton. We remark that in a planar embedding of , the poles of any node of are incident to the outer face of . Hence, in the following we only consider embeddings of the pertinent graphs with their poles lying on the same face.
3 Minimizing the Maximum Face
In this section we present our results on MinMaxFace. We first strengthen the result of Woeginger [14] and show that MinMaxFace is NPcomplete for and then present efficient algorithms for . In particular, the hardness result also implies that the problem MinMaxFace is NPhard. Finally, we give an efficient approximation for MinMaxFace on biconnected graphs. Recall that we allow graphs to have multiple edges.
Theorem 3.1
MinMaxFace is NPcomplete for any .
Proof
Clearly, the problem is in NP, since we can simply guess a planar embedding and verify in polynomial time that all faces have size at most .
We show hardness for and in the end briefly sketch how to adapt the proof for . We give a reduction from Planar Sat with the additional assumption that each variable occurs three times and each clause has size two or three. Further, we can assume that if a variable occurs three times, then it appears twice as a positive literal and once as a negative literal. This variant is NPcomplete [7, Lemma 2.1].
We construct gadgets where some of the edges are in fact two parallel paths, one consisting of a single edge and one of length 2 or 3. The ordering of these paths then decides which of the faces incident to the gadget edge is incident to a path of length 1 and which is incident to a path of length 2 or 3; see Fig. 1a. Due to this use, we also call these gadgets  and edges, respectively.
Now consider a variable whose positive literals occur times. Note that the negative literal hence occurs times. We represent by a variable gadget consisting of two cycles and of lengths and , respectively, sharing one edge. The shared edge is actually a edge, called variable edge, and in (in ), we replace of its edges ( of its edges) by edges, called positive (negative) literal edges, respectively; see Fig. 1b. We denote the faces bounded solely by and by and , respectively. Without loss of generality, we assume that the gadget is embedded so that and are inner faces, and we denote the outer face by . The gadget represents truth values as follows. A literal edge represents the truth value true if and only if its path of length 1 is incident to the outer face. A variable edge represents value true if and only if its path of length 1 is incident to . If the variable edge represents value true, then is incident to a path of length 3 of the variable edge. Hence, all negative literal edges must transmit value false. A symmetric argument shows that if the variable edge encodes value false, then all positive literal edges must transmit value false. On the other hand, given a truth value for variable , choosing the flips of the variable edge and all literal edges accordingly yields an embedding where each inner face has size at most .
A clause gadget for a clause of size 3 consists of a cycle of three edges that correspond bijectively to the literals occurring in it; see Fig. 1c. Similarly, a clause of size 2 consists of a cycle on four edges, two of which are edges corresponding to the literals. The encoding is such that a literal edge has its path of length 2 incident to the inner face of the clause gadget if and only if such a literal has value false. Clearly, the inner face has size at most 5 if and only if at most two literals transmit value false, otherwise the size is 6. Thus, the inner face of the clause gadget has size at most 5 if and only if at least one the literals transmit value true.
We now construct a graph as follows. We create for each variable a corresponding variable gadget and for each clause a corresponding clause gadget. We then identify literal edges of variables and clauses that correspond to the same literal. By adhering to the planar embedding of the variable–clause graph of , the resulting graph is planar and can be embedded such that all inner faces of the gadgets are faces of the graph. Denote this plane graph by . To obtain , we arbitrarily triangulate all faces of that are not internal faces of a gadget. Then, the only embedding choices of are the flips of the  and edges. We claim that admits an embedding where every face has size at most 5 if and only if is satisfiable.
If is satisfiable, pick a satisfying truth assignment. We flip each variable edge and each literal edge to encode its truth value in the assignment. As argued above, every inner face of a variable now has size at most 5, and, since each clause contains at least one satisfied literal, also the inner faces of the clause gadgets have size at most 5. Conversely, given a planar embedding of where each face has size at most 5, we construct a satisfying truth assignment for by assigning a variable the truth value encoded by the variable edge in the corresponding gadget. Due to the above properties, it follows that all edges corresponding to a negative literal must contribute a path of length 2 to each clause gadget containing such a literal. However, each inner face of a clause gadget has only size 5, and hence at least one of the literal edges must contribute a path of only length 1, i.e., the clause contains a satisfied literal. Since the construction of can clearly be done in polynomial time, this finishes the proof for .
For , it suffices to lengthen all cycles of the construction by edges. All arguments naturally carry over.
3.1 PolynomialTime Algorithm for Small Faces
Next, we show that MinMaxFace is polynomialtime solvable for . Note that, if the input graph is simple, the problem for is solvable if and only if the input graph is maximal planar. A bit more work is necessary if we allow parallel edges.
Let be a biconnected planar graph. We devise a dynamic program on the SPQRtree of . Let be rooted at an arbitrary Qnode and let be a node of . We call the clockwise and counterclockwise paths connecting the poles of along the outer face the boundary paths of . We say that an embedding of has type if and only if all its inner faces have size at most and its boundary paths have length and , respectively. Such an embedding is also called an embedding. We assume that .
Clearly, each of the two boundary paths of in an embedding of type will be a proper subpath of the boundary of a face in any embedding of where the embedding of is . Hence, when seeking an embedding where all faces have size at most , we are only interested in the embedding if . We define a partial order on the embedding types by if and only if and . Replacing an embedding of by (a reflection of) an embedding with does not create faces of size more than ; all inner faces of have size at most by assumption, and the only other faces affected are the two faces incident to the two boundary paths of , whose length does not increase. We thus seek to compute for each node the minimal pairs for which it admits an embedding. We remark that can admit an embedding of type for any value of only if is either a Pnode or a Qnode.
We now present the algorithm for , which works even if we allow parallel edges.
Theorem 3.2
3MinMaxFace can be solved in linear time for biconnected graphs.
Proof
Clearly, the only interesting types of embeddings are and and defines a total ordering on them. We thus seek to determine for each pertinent graph bottomup in the SPQRtree the smallest type (with respect to ) of a valid planar embedding. For Qnodes this is . Now consider an Rnode or Snode . By the above remark its only possible type of embedding can be . Since every face is bounded by at least three edges, it is not hard to see that admits a embedding if and only if every face of has size 3 and all children admit embeddings.
For a Pnode, we observe that none of its children can have a embedding, as no two Pnode can be adjacent. Thus, all children admit either a embedding, then they are Qnodes, or they admit a embedding. We denote the virtual edges in by edges and edges, respectively, according to the type of embedding the corresponding graph admits. To obtain an embedding where all faces have size at most 3, we have to choose the embedding of in such a way that every edge is adjacent to either two edges or to a edge and the parent edge. Let and denote the number of edges and edges in , respectively. Clearly, an ordering satisfying these requirements exists if and only if ; otherwise we necessarily have two adjacent edges. To find a good sequence, we proceed as follows. If , the sequence must alernatingly consist of edges and edges, starting with a edge. The type of the resulting embedding is and one cannot do better. If , we do the same, but the type of the resulting embedding is ; again one cannot do better. Finally, if , we again do the same, and finally append the remaining edges. Then the resulting embedding has type .
Clearly, we can process each node in time proportional to the size of its skeleton. The graph admits an embedding if and only if the pertinent graph of the child of the root admits some valid embedding.
We now deal with the case , which is similar but more complicated. The relevant types are , and . We note that precisely the two elements and are incomparable with respect to . Thus, it seems that, rather than computing only the single smallest type for which each pertinent graph admits an embedding, we are now forced to find all minimum pairs for which the pertinent graph admits a corresponding embedding. However, by the above observation, if a pertinent graph admits a embedding, then must be a Pnode. However, if the parent of is an Snode or an Rnode, then using a embedding results in a face of size at least 5. Thus, such an embedding can only be used if the parent is the root Qnode. If there is the choice of a embedding in this case, it can of course also be used at the root. Therefore, we can mostly ignore the case and consider the linearly ordered embedding types and . The type is only relevant for Pnodes whose pertinent graph admits an embedding of type embedding but no embedding of type .
Theorem 3.3
4MinMaxFace can be solved in time for biconnected graphs.
Proof
We process the SPQRtree of the input graph in a bottomup fashion. The pertinent graphs of Qnodes admit embeddings of type .
Now consider an S or an Rnode . All faces of must have size at most 4. Moreover, since all faces have length at least 3, a valid embedding of does not exist if some child only allows embeddings of type , or . Thus, the only freedom is to choose the flips of the pertinent graphs admitting only embeddings. A face can receive only a single path of length 2 from one of its incident edges, and this is possible only if the face is a triangle and none of its incident edges is a edge. We thus seek a matching between the edges and their incident faces that can receive a path of length 2. Depending on the size of the faces incident to the parent edge and whether they need to receive a path of length 2 in order to find a valid embedding, the type is either (if both faces are triangles and they do not need to receive a path of length 2), (if one is a triangle that does not need to receive a path of length 2) or (remaining cases).
Now consider a Pnode. Each child must have an embedding of type , , or . Again, we denote the edges whose corresponding pertinent graph admits an embedding of type as edges.
First observe that removing in any embedding all edges except for one and placing them next to the single edge we did not remove results in a valid embedding whose boundary paths do not increase. Thus, we can assume without loss of generality that there is at most one edge. Moreover, if there is a edge, we can actually move the edge next to it without increasing the size of any face. Thus, if there are any edges we can even assume that there is no edge.
Let us first assume that there is no edge. We then have to choose the embedding such that edges alternate with edges and the single edge. We append any excess of edges at the end. Let denote the number of edges and let denote the total number of and edges. A valid embedding exists only if . In this case a suitable sequence always exists. If possible, we start and end with a edge, resulting in a embedding. If this is not the case, we try to start with a and put the in the end if it exists. Then we obtain a embedding if there is a edge and a embedding otherwise. If this is also not possible since , we start with the edge if it exists. This results in either a or a embedding.
The bottleneck concerning the running time is finding the matching for treating the Rnode, which can be solved in time [8].
3.2 Approximation Algorithm
In this section, we present a constantfactor approximation algorithm for the problem of minimizing the largest face in an embedding of a biconnected graph . We again solve the problem by dynamic programming on the SPQRtree of .
Let be a biconnected planar graph, and let be its SPQRtree, rooted at an arbitrary Qnode. Let be a node of . We shall consider the embeddings of where the two poles are embedded on the outer face. We also include the parent edge in the embedding, by drawing it in the outer face. In such an embedding of , the two faces incident to the parent edge are called the outer faces, while the remaining faces are inner faces.
Recall that an embedding of is an embedding whose boundary paths have lengths and , where we always assume that . We say that an embedding of is outminimal if for any embedding of , we have and . Note that an outminimal embedding need not exist; e.g., may admit a embedding and a embedding, but no embedding with and . We will later show, however, that such a situation can only occur when is an Snode.
Let denote the smallest integer such that has an embedding whose every face has size at most . For a node of , we say that an embedding of is approximate, if each inner face of the embedding has size at most .
Call an embedding of neat if it is outminimal and 6approximate. The main result of this section is the next proposition.
Proposition 1
Let be a biconnected planar graph with SPQR tree , rooted at an arbitrary node. Then the pertinent graph of every Qnode, Pnode or Rnode of has a neat embedding, and this embedding may be computed in polynomial time.
Since the pertinent graph of the root of is the whole graph , the proposition implies a polynomial 6approximation algorithm for minimization of largest face.
Our proof of Proposition 1 is constructive. Fix a node of which is not an Snode. We now describe an algorithm that computes a neat embedding of , assuming that neat embeddings are available for the pertinent graphs of all the descendant nodes of that are not nodes. We distinguish cases based on the type of the node .
Nonroot Qnodes.
As a base case, suppose that is a nonroot Qnode of . Then is a single edge, and its unique embedding is clearly neat.
Pnodes.
Next, suppose that is a Pnode with child nodes , represented by skeleton edges . Let be the expansion graph of . We construct the expanded skeleton as follows: if for some the child node is an Snode whose skeleton is a path of length , replace the edge by a path of length , whose edges correspond in a natural way to the edges of .
Every edge of the expanded skeleton corresponds to a node of which is a child or a grandchild of . Moreover, is not an Snode, and we may thus assume that we have already computed a neat embedding for . Note that is the expansion graph of .
For each define to be the smallest value such that has an embedding with boundary path of length . We compute as follows: if is not and Snode, then we already know a neat embedding of , and we may put . If, on the other hand, is an Snode, then let be the number of edges in the path , and let be the expansion graphs of the edges of the path. For each , we have already computed a neat embedding, so we may now put . Clearly, this value of corresponds to the definition given above.
We now fix two distinct indices , so that the values and are as small as possible; formally, and .
Let us fix an embedding of in which and are adjacent to the outer faces. We extend this embedding of into an embedding of by replacing each edge of by a neat embedding of its expansion graph, in such a way that the two boundary paths have lengths and . Let be the resulting embedding of .
We now show that is neat. From the definitions of and , we easily see that is outminimal. It remains to show that it is 6approximate. Let be any inner face of . If is an inner face of the expansion graph of some , then is an inner face of some previously constructed neat embedding, hence .
Suppose then that is not the inner face of any . Then the boundary of intersects two distinct expansion graphs and . Hence the boundary of is the union of two paths and , with and . Let and be the lengths of and , respectively, and assume that . It follows that . We claim that every embedding of has a face of size at least . If is not an Snode, this follows from the fact that is a boundary path in an outminimal embedding of , hence any other embedding of must have a boundary path of length at least . If, on the other hand, is an Snode, then in every embedding of , the two boundary paths have total length at least , so every embedding of has a boundary path of length at least and thus has a face of size at least . We conclude that , showing that is indeed neat.
Rnodes.
Suppose now that is an Rnode. As with Pnodes, we define the expanded skeleton by replacing each edge of corresponding to an Snode by a path of appropriate length. The graph together with the parent edge forms a subdivision of a 3connected graph. In particular, its embedding is determined uniquely up to a flip and a choice of outer face. Fix an embedding of and the parent edge, so that the parent edge is on the outer face. Let and be the two faces incident to the parent edge of .
Let be an edge of , let be its expansion graph, and let be a neat embedding of , for some . The boundary path of of length will be called the short side of , while the boundary path of length will be the long side. If , we choose the long side and short side arbitrarily.
Our goal is to extend the embedding of into an embedding of by replacing each edge of with a copy of . In doing so, we have to choose which of the two faces incident to will be adjacent to the short side of .
First of all, if is an edge of incident to one of the outer faces or , we embed in such a way that its short side is adjacent to the outer face. Since and do not share an edge in , such an embedding is always possible, and guarantees that the resulting embedding of will be outminimal.
It remains to determine the orientation of for the edges that are not incident to the outer faces, in such a way that the largest face of the resulting embedding will be as small as possible. Rather than solving this task optimally, we formulate a linear programming relaxation, and then apply a rounding step which will guarantee a constant factor approximation.
Intuitively, the linear program works as follows: given an edge incident to a pair of faces and , and a corresponding graph with a short side of length and a long side of length , rather than assigning the short side to one face and the long side to the other, we assign to each of the two faces a fractional value in the interval , so that the two values assigned by to and have sum , and the maximum total amount assigned to a single face of from its incident edges is as small as possible.
More precisely, we consider the linear program with the set of variables
where the goal is to minimize subject to the following constraints:

For every edge adjacent to a pair of faces and , we have the constraints , and , where are the lengths of the two boundary paths of .

Moreover, if an edge is adjacent to an outer face as well as an inner face , then we set and , with and as above.

For every inner face of , we have the constraint , where the sum is over all edges incident to .
Given an optimal solution of the above linear program, we determine the embedding of as follows: for an edge of incident to two inner faces and , if , embed with its short side incident to and long side incident to . Let be the resulting embedding.
We claim that is neat. We have already seen that is outminimal, so it remains to show that every inner face of has size at most . Let us say that an inner face of is deep if it is also an inner face of some , and it is shallow if it corresponds to a face of . Note that the deep faces have size at most , since all the are neat embeddings, so we only need to estimate the size of the shallow faces.
Let denote the minimum such that has an outminimal embedding whose every shallow face has size at most . We claim that . To see this, consider an embedding of in which each face has size at most . In this embedding, replace each subembedding of by a copy of , without increasing the size of any shallow face. This can be done, because each is outminimal. Call the resulting embedding . Next, for every edge of adjacent to or , flip so that its short side is incident to or . Let be the resulting embedding of . Clearly, is outminimal.
In , some inner shallow face adjacent to or may have larger size than the corresponding face of ; however, for such an , its size in is at most equal to the sum of the sizes of , and in . In particular, each inner shallow face has size at most in , and hence , as claimed.
We will now show that each shallow face of has size at most . Let be the value of optimum solution to the linear program defined above. Clearly, , since from an outminimal embedding with shallow faces of size at most , we may directly construct a feasible solution of the linear program with value . Let be a shallow face of . Let be an edge of incident to , and let be the other face incident to . Let and be the lengths of the short side and long side of , respectively. If , then contributes to the boundary of by its short side, which has length . Otherwise, has the long side of on its boundary, but that may only happen when , and hence . From this, we see that has size at most , with the previous sum ranging over all edges of incident to .
Thus, for every shallow face of , we have , showing that is neat.
The root Qnode.
Finally, suppose that is the root of the SPQRtree . That means that is a Qnode, and its skeleton is formed by two parallel edges and , where the expansion graph of is a single edge and the expansion graph of is the pertinent graph of the unique child node of . If is not an Snode, we already have a neat embedding of , and by inserting the edge to this embedding in such a way that the outer face has size , we clearly obtain a neat embedding of . If is an Snode, then is a chain of biconnected graphs , and for each we have a neat embedding. Combining these embedding in an obvious way, and adding the edge , we get an embedding of whose outer face has size , and whose unique inner shallow face has size . Since in each embedding of , the two faces incident to have total size at least , we conclude that our embedding of is neat.
This completes the proof of Proposition 1, and yields a 6approximation algorithm for the minimization of largest face in biconnected graphs.
Theorem 3.4
A approximation for MinMaxFace in biconnected graphs can be computed in polynomial time.
4 Perfectly Uniform Face Sizes
In this section we study the problem of deciding whether a biconnected planar graph admits a uniform embedding. Note that, due to Euler’s formula, a connected planar graph with vertices and edges has faces. In order to admit an embedding where every face has size , it is necessary that . Hence there is at most one value of for which the graph may admit a uniform embedding.
In the following, we characterize the graphs admitting 3uniform and 4uniform embeddings, and we give an efficient algorithm for testing whether a graph admits a 6uniform embedding. Finally, we show that testing whether a graph admits a uniform embedding is NPcomplete for odd and even . We leave open the cases and .
Our characterizations and our testing algorithm use the recursive structure of the SPQRtree. To this end, it is necessary to consider embeddings of pertinent graphs, where we only require that the interior faces have size , whereas the outer face may have different size, although it must not be too large. We call such an embedding almost uniform. The following lemma states that the size of the outer face in such an embedding depends only on the number of vertices and edges in the pertinent graph.
Lemma 1
Let be a graph with vertices and edges with an almost uniform embedding. Then the outer face has length .
Proof
Let denote the number of faces of in a planar embedding, which us uniquely determined by Euler’s formula . By double counting, we find that . Euler’s formula implies that , and plugging this into the second formula, we obtain that or, equivalently, .
Thus, for small values of , where the two boundary paths of the pertinent graph may have only few different lengths, the type of an almost uniform embedding is essentially fixed.
4.1 Characterization for
For 3uniform embeddings first observe that every facial cycle must be a triangle. If the input graph is simple, then this implies that it must be a triangulation. Then the graph is 3connected and the planar embedding is uniquely determined. We characterize the multigraphs that have such an embedding.
Theorem 4.1
A biconnected planar graph admits uniform embedding if and only if its SPQRtree satisfies all of the following conditions.

S and Rnodes are only adjacent to Q and Pnodes.

Every Rnode skeleton is a planar triangulation.

Every Snode skeleton has size 3.

Every Pnode with neighbors has even and precisely of the neighbors are Qnodes.
Proof
It is not hard to see that all conditions are necessary. We prove sufficiency. To this end, we choose the embeddings of the Rnode skeletons arbitrarily, and we embed the Pnode skeletons such that virtual edges corresponding to Qnode and nonQnode neighbors alternate. We claim that in the resulting planar embedding of all faces have size 3.
To this end, root the SPQRtree of at an arbitrary edge and consider the embedding incident to the outer face.
Claim

If is a Qnode or a Pnode whose parent is not a Qnode, then it has an almost 3uniform embedding of type .

If is an Snode, an Rnode, or a Pnode whose parent is a Qnode, then it has an almost 3uniform embedding of type .
We prove this by induction on the height of the node in the SPQRtree. Clearly, the statement holds for Qnodes. Now consider an internal node and assume that the claim holds for all children.
If is an Snode, then the clockwise (counterclockwise) path of between the poles along the outer face is the concatenation of the clockwise path (counterclockwise) paths of the pertinent graphs of its children. By property (iii) there are only two children and by property (i) they are either Q or Pnodes. By the inductive hypothesis, their embeddings are almost 3uniform and have type , and hence the type of the embedding of is .
If is an Rnode, then its clockwise (counterclockwise) path between the poles is the concatenation of the clockwise (counterclockwise) paths of the pertinent graphs corresponding to the edges on the clockwise (counterclockwise) path between the poles. By property (ii) each of these paths has length 2 in and the children are either Q or Pnodes. Thus, by the inductive hypothesis, their embeddings have type .
If is a Pnode whose parent is not a Qnode, then, by our choice of the planar embedding, the two outer paths in are edges corresponding to Qnodes, and the claim follows from the inductive hypothesis. If the parent of is a Qnode, then, again by the embedding choice, the two edges outer paths in are edges corresponding to S or Rnodes, and again the inductive hypothesis implies the claim. This finishes the proof of the claim.
Let now denote the Qnode corresponding to the root edge and consider the two faces incident to , which show up as faces in . Let be the neighbor of in the SPQRtree. Then is either an Snode, an Rnode, or a Pnode whose parent is a Qnode. In all cases the embedding of has type , and hence the two faces incident to have size 3. Since was chosen arbitrarily, it follows that each face has size 3.
Corollary 1
It can be tested in linear time whether a biconnected planar graph admits a 3regular dual.
For 4uniform embeddings observe that every facial cycle must be a simple cycle of length 4. Since every planar graph containing a cycle of odd length also has a face of odd length in any planar embedding, it follows that the graph must be bipartite.
Now, if the graph is simple, the graph must be planar, bipartite and each face must have size 4. It is well known (and follows from Euler’s formula) that this is the case if and only if the graph has edges; the maximum number of edges for a simple bipartite planar graph. Again, if the graph is not simple more work is necessary. For a virtual edge in a skeleton , we denote by and the number of edges in its expansion graph.
Theorem 4.2
A biconnected planar graph admits a 4regular dual if and only if it is bipartite and satisfies the following conditions.

For each Pnode either all expansion graphs satisfy , or half of them satisfy and the other half are Qnodes.

For each S or Rnode all faces have size 3 or 4; the expansion graphs of all edges incident to faces of size 4 satisfy and for each triangular face, there is precisely one edge whose expansion graph satisfies , the others satisfy .
Proof
We choose the planar embedding as follows. For each Pnode, if half of the neighbors are Qnodes, then we choose the embedding such that Qnodes and nonQnodes alternate. All remaining embedding choices can be done arbitrarily. We claim that in the resulting embedding all faces have size 4.
As in the proof of Theorem 4.1, root the SPQRtree of at an arbitrary edge and consider the embedding as having incident to the outer face.
Claim
For each node of in the embedding of without the parent edge denote by and the length of the clockwise and counterclockwise path on the outer face connecting the poles of .

Each internal face of has size 4.

If is a Qnode or a Pnode with Qnode neighbors whose parent is not a Qnode, then has an almost 4uniform embedding of type .

If is a Pnode whose neighbors all satisfy , or is an S or an Rnode whose parent satisfies , then has an almost 4uniform embedding of type .

If is a Pnode with Qnode neighbors whose parent is a Qnode, or if is an S or an Rnode whose parent is a Qnode or satisfies , then has an almost 4uniform embedding of type .
The proof of the claim is by structural induction on the SPQRtree. Clearly, it holds for the leaves, which are Qnodes. Now consider an internal node .
If is a Pnode, with Qnode neighbors whose parent is not a Qnode then, by property (i) all children have almost 4uniform embeddings. Further, the children that are not Qnodes satisfy , and hence, their outer face has size 6 by Lemma 1. It must hence be an S or an Rnode and, by the inductive hypothesis, their embeddings have type . Thus, the alternation of Qnodes and these children ensures that inner faces have size 4. Moreover, since the parent is not a Qnode, the linear ordering of the children (excluding the parent) starts and ends with a Qnode. Hence the embedding of has type .
If is a Pnode whose neighbors all satisfy , then all children have almost 4uniform embeddings whose outer faces have size 4 by Lemma 1. Since a nonPnode cannot have an embedding of type for any value of , their embeddings have type . This implies the inductive hypothesis.
If is a Pnode with Qnode neighbors whose parent is a Qnode, then one more than half of its children satisfy and hence have almost 4uniform embeddings of type . The alternation of Qnodes and these children implies the statement.
If is an S or an Rnode whose parent satisfies (or it is a Qnode), the internal faces have size 4 according to the inductive hypothesis and property (ii). A similar argument shows that the embedding has type .
If is an S or an Rnode whose parent satisfies , then the two faces incident to the parent edge are triangles, and the children all satisfy , and hence have almost 4uniform embeddings of type . Thus the embedding of has type . This finishes the proof of the claim, and as it immediately implies that every face has size 4, also the proof of the theorem.
Corollary 2
It can be tested in linear time whether a biconnected planar graph admits a 4regular dual.
4.2 Testing Algorithm for 6Uniform Embeddings
To test the existence of a 6uniform embedding, we again use bottomup traversal of the SPQRtree and are therefore interested in the types of almost 6uniform embeddings of pertinent graphs. Clearly, each of the two boundary paths of a pertinent graph, may have length at most 5. Thus, only embedding of type with are relevant. Although, by Lemma 1 the value of is fixed, this does usually not uniquely determine the values and in this case. For example, at first sight it may seem that if the outer face of a pertinent graph has length 6, then uniform embeddings of type , and may all be possible. However, as we will argue in the following, only one of these choices is relevant in any situation.
In order to admit a uniform embedding with even, it is necessary that the graph is bipartite. In particular, this implies that also the outer face of any pertinent graph must have even length. For a 6uniform embedding the length of the face must be in . Let us now investigate for each such length the possible types of almost 6uniform embeddings.
For length 2 and length 10, the types must be and , respectively. For length 4, the type must be or . However, the poles of are either in the same color class of the bipartite graph of , then only is possible, or they belong to different color classes, then only is possible. For length 6, the possible types are and . However, type implies that one of the paths consists of a single edge, i.e., is a Pnode. However, due to the path of length 5 on the other boundary, we need another parallel edge to achieve faces of size 6. However, such an edge must be a Qnode child of , showing that cannot occur. Thus only and are actually possible. Again, the color class of the poles determines the pair uniquely. Finally, for length 8, the possible types are and and again the color classes uniquely determine the type.
Thus, we know for each internal node precisely what must be the type of an almost 6uniform embedding of if one exists. It remains to check whether for each node , assuming that all children admit an almost 6uniform embedding of the correct type, it is possible to put them together to an almost 6uniform embedding of of the correct type. For this, we need to decide (i) an embedding of and (ii) for each child whether to use the to mirror its almost uniform embedding. We refer to the latter decision as choosing the flip of the child.
For Snodes, which must necessarily have length at most 6, we can simply try all ways to choose the flips of the children and see whether one of them gives the correct values.
For a Pnode, observe that, in order to obtain an almost 6uniform embedding, the boundary paths of the children must be either all odd or all even. If they are all even, then all pertinent graphs of children must have types , or . Clearly, the children with types and have to alternate in the sequence, the children of type can be inserted at an arbitrary place. Let and denote the number of children of type and , respectively. It is necessary that , otherwise they cannot alternate. If , then the type of must be , if , it must be and if , then it must be .
The case that all paths are odd is similar but slightly more complicated as there are more possible embedding types for the children. The possible types are , , , and (recall that and cannot occur in a Pnode). Again, we call the corresponding virtual edges , ,  and edges, respectively.
We now perform some simple groupings of such virtual edges that can be assumed to be placed consecutively in any valid embedding. We view these consecutive edges as a single child whose outer boundary paths determine its type of embedding. First, observe that if there is no edge but a edge, then all children must necessarily be of type . In this case any embedding of works and yields an embedding of type for . Otherwise, we group the edges together with all edges into one big chunk, which then represents a child of type . Thus, we can assume that no edge exists. Next, observe that the edges must occur in pairs whose interior face is bounded by two paths of length 3. Viewed as one graph, the type of their embedding is . Note that, due to the pairing, one might be left over. In this case, we start the ordering for the embedding of with the edge. We then alternatingly insert edges and edges. If we manage to use up all virtual edges, we have found a valid embedding. Otherwise, since we only followed necessary conditions, a valid embedding does not exist.
For an Rnode , observe that each face of the skeleton has size at least 3. Thus children whose almost 6uniform embedding has type for some value of immediately exclude the existence of a 6uniform embedding for . It now remains to choose the flips of the almost 6uniform embeddings of the children. Note that for children whose type is such that , this choice does not matter. Thus, only the flips of children of types and matter. We initially consider each face as having a demand of 6. However, for each edge of type incident to a face , we remove from the demand of face the amount , and rather conceptually replace the edge by a edge. Due to the above observation, the only types of edges remaining are and . Clearly, we can ignore the edges. The remaining edges can pass two units of boundary length into one of their incident faces. We now consider the demand of each face. Clearly, it is necessary that these demands are even. We then model this as a matching problem, where each edge has capacity 1, and each face has capacity half its demand. We then seek a generalized perfect matching in the incidence graph of faces and vertices with positive capacity such that each vertex is matched to exactly as many edges as its capacity. This can be solved in time by an algorithm due to Gabow [8]. Clearly an embedding exists if and only the corresponding matching exists. We thus have proved the following theorem.
Theorem 4.3
It can be tested in time whether a biconnected planar graph admits a 6uniform embedding.
4.3 Uniform Embeddings with Large Faces
We prove NPhardness for testing the existence of a uniform embedding for and by giving a reduction from the NPcomplete problem Planar Positive 1in3SAT where each variable occurs at least twice and at most three times and each clause has size two or three. The NPcompleteness of this version of satisfiability follows from the results of Moore and Robson [12], as shown by the following Theorem.
Theorem 4.4
Planar Positive 1in3SAT is NPcomplete even if each variable occurs two or three times and each clause has size two or three.
Proof
Clearly the problem is in NP. For the hardness proof, we reduce from the NPcomplete problem Cubic Planar Monotone 1in3SAT, a variant of planar 3SAT where each variable occurs three times and each clause consists of three literals that are either all positive or all negative [12]. We denote 1in3 clauses as (or for clauses of size two) where are literals.
Consider a planar embedding of the variable–clause graph and a clause where a variable occurs negated. We now replace by two clauses and , where is a new variable. Observe that, in the variable–clause graph this corresponds to subdividing the edge twice. Thus, the resulting variable–clause graph remains planar. Further, the clause ensures that, in any satisfying 1in3 truth assignment, the variables and have complementary truth values, i.e., is the negation of . Thus the resulting instance of Planar Positive 1in3SAT is equivalent to the original one. Moreover, the new instance has one fewer negated literal. After such operations, we obtain an equivalent instance where all literals are positive. Obviously the resulting formula satisfies the claimed properties and the reduction can be performed in polynomial time.
Theorem 4.5
UniformFaces is NPcomplete for all odd .
Proof
We reduce from Planar Positive 1in3SAT where each variable occurs two or three times and each clause has size two or three, which is NPcomplete by Theorem 4.4. Let be such a formula with variables, clauses and literals (total number of literals in all clauses), and let be its variable–clause graph embedded in the plane. We add an additional vertex , which we call sink into the outer face and connect each variable to the sink in such a way that no two edges incident to cross. Call this augmented graph . Note that, due to the crossings, edges may be subdivided into several pieces, which we call arcs.
In the following we will construct gadgets modeling a flowlike problem on . Each variable has units of flow, where is the degree in . It sends one unit of flow into each incident edge. For the remaining units of flow, it takes a decision. Either it sends the remaining flow to the sink (value false), or it evenly distributes it to all incident edges leading to a clause (value true). We then construct gadgets for the arcs, which simply pass on the information from one end to the other and crossing gadgets, which pass the information over crossings. Here it is crucial that the crossover happens between information flows of different sizes. The only crossings happen between variable–clause connections, which carry either one or two units of flow and variable–sink connections, which carry either one or three/four units of flow (depending on the degree of the variable). Since our construction is such that flows cannot be split, this allows to cross over these information flows. The clauses gadgets are constructed such that there is a face that has size if and only if it receives as incoming flow the number of incident variables plus one, which models the fact that precisely one of them must be assigned the truth value true.
Next, we observe that for a satisfying truth assignment, there are precisely satisfied literals and unsatisfied literals in the formula. Each satisfied literal ensures that only one unit is sent towards the sink, whereas each unsatisfied literal ensures that two units are sent towards the sink. Thus, there are precisely units of flow sent to via edges. We design a gadget that admits an embedding where every face has size no matter how the incoming flow is distributed to the edges incident to , we call this the sink gadget. Let now denote the graph obtained from by replacing each variable, arc, crossing, clause, and the sink by a corresponding gadget. To ensure that the embedding of follows the embedding of , we triangulate each face of that corresponds to a face of and then insert into each triangle a construction that ensures that each of the internal faces has size . This fixes the planar embedding of except for the decisions that are modeled by the gadgets. It is then clear that admits a planar embedding if an only if is satisfiable.
We now give a more detailed overview of the construction. The basic tool for passing information are wheels whose outer cycle has vertices for , and whose inner edges are subdivided times such that all inner faces have size ; see Fig. 1(a). Note that this is possible since is odd. We then designate two adjacent vertices of the outer cycle as poles and , where it attaches to the rest of the graph. The flip of this gadget then decides with of the two face incident to its outside is incident to a path of length 1 and which is incident to a path of length . We call these two paths the boundary paths. In this respect, and since there internal faces always have size , and hence are not relevant, these constructions behave like a single edge where one side has length 1 and the other one has length . We therefore call them ,  and edges, respectively. We use them to model the flows from the above description.
We are now ready to describe our gadgets. A variable of degree in (recall that or ), the gadget is a cycle of length such that edges are edges (the output edges) and one is an edge (the sink edge); see Fig. 1(b) for variable gadgets for . Clearly, for the inner face to have size , either all edges must be embedded such that their boundary paths of length 2 are incident to it and the edge must be embedded such that its boundary path of length 1 is incident to , or all edges and the edge must be flipped. This precisely models the flows emanated by a variable as described above.
We use pipe gadgets to transport flow along an arc. By construction, each arc transports flows from exactly one of the three sets , and . We give separate pipes for them. Let the set of flow values be . The gadget is a cycle of length where two nonadjacent edges are edges, one input and one output edge. Clearly, there are edges contributing length 1 to the inner face of the gadgets. Thus, the two edges must together contribute paths of length , which occurs if and only if the information encoded by the input edge is transferred to the output edge.
For a clause of degree in (recall that or ), the gadget is a cycle of length where edges are edges. Obviously, the inner face has size if and only if precisely one of the edges has its boundary path of length 2 incident to . Thus, the gadget correctly models a 1in3SAT clause.
For a crossing, one of the two edges transports values in and the other values in or in . If it is , we simply use a cycle of length , where two opposite edges are edges and the other two opposite edges are edges; see Fig. 2(a). From each pair of opposite edges, we designate one as the input edge and one as the output edge. It is not hard to see that the inner face has size if and only if the state from each input edge is correctly transferred to the output edge. Of course, the same approach could be used for the case , however, this would require . Instead, we use a different approach; see Fig. 2(b) for an illustration. First, we split the information into two separate pieces, one that transmits a value in and one that transmits a value in (note that the sum of the differences between the upper and the lower values remains constant). Then we cross over the part of the sink edge carrying the flow in as before. To cross the part of the sink edge carrying flow in with the variable–clause arc, we use a gadget we call flow switch. It consists of a cycle of length where four edges are edges, and for each pair of opposite edges one is declared the input and one is the output. Note that, unlike the above crossing gadget, this does not necessarily transfer the input information to the correct output edge. It only requires that half of the edges have a boundary path of length 2 in the inner face. However, the fact that, afterwards, we use a symmetric construction as for splitting the flow in to merge the two flows on the sink edges after the crossing back into a flow in enforces this behavior.
We can now construct a graph by replacing each variable by a variable gadget, each clause by a clause gadget, each crossing by a crossing gadget and each arc by a corresponding pipe gadget. The gadgets are joined to each other by identifying corresponding input and output edges of the gadgets (i.e., we identify the corresponding construction), taking into account the embedding of . For the sink, we first attach to each of the output edges of the pipe gadgets leading there, a corresponding variable gadget via its sink edge to split the flow arriving there into edges. We identify the endpoints of these edges such that they form a simple cycle whose interior faces represents the sink.
We now arbitrarily triangulate, possibly by inserting vertices, all faces corresponding to a face of that are not internal faces of a gadget and insert into each of the resulting triangles a vertex connected to each triangle vertex by a path of length . This ensures that all resulting subfaces of the triangles have size and at the same time the embedding of is fixed except for the flips of the edges. Using the above arguments, it is not hard to see that admits a satisfying 1in3 truth assignment if and only if admits a planar embedding where each face has size except for the face representing the sink vertex, which is bounded by edges and has size . To complete the proof, we present a construction for the interior of the sink that always allows an embedding where all inner faces have size as long as the outer face has size , i.e., edges have a boundary path of length 1 at the inner face, and the remaining have a boundary path of length 2 at the inner face.
This works in two steps. First, we build a shift ring, which allows to shift the information encoded in a subset of the edges by one unit to the left or the right. The shift ring consists of a ring of pairs of flow switches as shown in Fig. 4. Its inner and outer face is bounded by edges. There is a natural bijection between the edges on the inner and on the outer ring, but the shift ring allows to exchange the state of two adjacent edges. We then nest sufficiently many shift rings ( certainly suffice), which allows us to assume that, in the innermost face, the edges whose boundary paths have length 2 are consecutive, and the first one (in clockwise direction) is at a specific position. Second, assuming that the innermost face has the configuration of its edges as described above, we simply triangulate it arbitrarily and insert into each triangle the construction that makes every face have size . This concludes the construction of the sink gadget, and thus the proof.
Theorem 4.6
UniformFaces is NPcomplete for all even .
Proof
The proof runs along the lines of the proof of Theorem 4.5. For this proof, however, we need the additional assumption that number of literals is even. If it is not the case, we take a variable that occurs only twice (subdivide an edge to introduce such a variable as in the proof of Theorem 4.4 if none exists). We then create new variables and add the clause and twice the clause . If has the value true, then setting and satisfies the new clauses, and if , then , satisfies them. Thus the resulting formula is equivalent to the original one, has an even number of literals, and satisfies all the conditions of Theorem 4.4.
Now the proof essentially reuses the construction from Theorem 4.5 for such a formula. However, since all faces have to have even size, it is not possible to construct a edge (or edges with even for that matter); its outer face would have to have odd length while all interior faces have even length, which is not possible. We thus use edges to transmit information for all the gadgets. The sink edges can then use  and edges. A crossing gadget for a edge and a edge requires a face of size 10. A edge can be split into a and a edge for the corresponding crossing gadget. By choosing suitably long pipes, we can ensure that all faces that are not internal to a gadget have even length. Such a face can then be subdivided into faces of size by adding a new vertex incident to all vertices of the face and subdividing every second of these edges times; see Fig 5. For the sink, we first distribute the information to edges using variable gadgets and then use corresponding shift rings made of flow switches for edges. Now, in the innermost face of the shift ring, there are edges of which have length 1 in the inner face and have length 3, and they can be assumed to be en bloc, starting at a specific edge. The total length of the innermost face then is , which is even due to our assumption on . Thus, the construction making every face have size can be done as described above.
Open Problems.
What is the complexity of UniformFaces for and ? Are UniformFaces and MinMaxFace polynomialtime solvable for biconnected seriesparallel graphs? Are they FPT with respect to treewidth?
Acknowledgments.
We thank Bartosz Walczak for discussions.
References
 [1] P. Angelini, G. Di Battista, and M. Patrignani. Finding a minimumdepth embedding of a planar graph in time. Algorithmica, 60:890–937, 2011.
 [2] D. Bienstock and C. L. Monma. On the complexity of covering vertices by faces in a planar graph. SIAM J. Comput., 17(1):53–76, 1988.
 [3] T. Bläsius, M. Krug, I. Rutter, and D. Wagner. Orthogonal graph drawing with flexibility constraints. Algorithmica, 68:859–885, 2014.
 [4] T. Bläsius, I. Rutter, and D. Wagner. Optimal orthogonal graph drawing with convex bend costs. In F. V. Fomin, R. Freivalds, M. Kwiatkowsak, and D. Peleg, editors, Automata, Languages, and Programming (ICALP’13), volume 7965 of LNCS, pages 184–195. Springer, 2013.
 [5] G. Di Battista, G. Liotta, and F. Vargiu. Spirality and optimal orthogonal drawings. SIAM Journal on Computing, 27(6):1764–1811, 1998.
 [6] G. Di Battista and R. Tamassia. Online graph algorithms with SPQRtrees. In M. S. Paterson, editor, Automata, Languages and Programming (ICALP’90), volume 443 of LNCS, pages 598–611. Springer, 1990.
 [7] M. R. Fellows, J. Kratochvíl, M. Middendorf, and F. Pfeiffer. The complexity of induced minors and related problems. Algorithmica, 13:266–282, 1995.
 [8] H. N. Gabow. An efficient reduction technique for degreeconstrained subgraph and bidirected network flow problems. In Theory of Computing (STOC’83), pages 448–456. ACM, 1983.
 [9] A. Garg and R. Tamassia. On the computational complexity of upward and rectilinear planarity testing. SIAM J. on Comput., 31(2):601–625, 2001.
 [10] C. Gutwenger and P. Mutzel. A linear time implementation of SPQRtrees. In J. Marks, editor, Graph Drawing (GD’00), volume 1984 of LNCS, pages 77–90. Springer, 2001.
 [11] C. Gutwenger and P. Mutzel. Graph embedding with minimum depth and maximum external face (extended abstract). In G. Liotta, editor, Graph Drawing (GD’03), volume 2912 of LNCS, pages 259–272. Springer, 2004.
 [12] C. Moore and J. M. Robson. Hard tiling problems with simple tiles. Discrete Comput. Geom., 26(4):573–590, 2001.
 [13] P. Mutzel and R. Weiskircher. Optimizing over all combinatorial embeddings of a planar graph (extended abstract). In G. Cornuéjols, R. E. Burkard, and G. J. Woeginger, editors, Integer Programming and Combinatorial Optimization (IPCO’99), volume 1610 of LNCS, pages 361–376. Springer, 1999.
 [14] G. J. Woeginger. Embeddings of planar graphs that minimize the number of longface cycles. Oper. Res. Lett., pages 167–168, 2002.