Let be a plane graph with straight edges and vertices in general position; that is, a straight-line drawing of a planar graph with no edge crossings and no three vertices on a line in which the vertices are identified with their positions. We refer to the open line segment between a pair of non-adjacent graph vertices as a non-edge of . An obstacle representation of is a pair where is a set of polygons (not necessarily convex) called obstacles, such that:
does not meet any obstacle, and
every non-edge of meets at least one obstacle.
Equivalently, is the visibility graph on determined by the obstacles in . The size of an obstacle representation is the cardinality of . Denote by ORPG the problem of computing a minimum-size obstacle representation of (the optimum of which is called the obstacle number of ). Alpert, Koch, and Laison introduced the notions obstacle representation and obstacle number for abstract graphs  and noted that in any minimal obstacle representation, each obstacle can be identified with the face it lies in. Hence, we will use the terms face and obstacle interchangeably. If the faces have weights then we can seek a minimum-weight obstacle representation.
Finding a minimum-size obstacle representation of a straight-line graph drawing was treated as a computational problem in the setting in which and need not be planar . This problem was reduced to hypergraph transversal (hitting set), with faces available to pierce non-edges ( faces and non-edges in the ORPG special case). A randomized -approximation algorithm based on bounding the Vapnik-Chervonenkis dimension of the corresponding hypergraph family was given in . Left open was the question of whether better approximations or perhaps optimal algorithms were feasible.
In this note we give partial answers to that question. We show that computing the obstacle number is NP-hard already in the special case of plane graphs; nonetheless, we show that ORPG admits a polynomial-time approximation scheme (PTAS) and is fixed-parameter tractable (FPT). We show hardness by a reduction from planar vertex cover; the positive results are consequences of a solution value-preserving reduction to maximum degree 3 planar vertex cover.
2 Reduction from planar vertex cover
ORPG is NP-hard.
We reduce from planar vertex cover. Recall that in the decision version of planar vertex cover, we are given an abstract planar graph having (without loss of generality) no isolated vertex, and a number . Let , , and denote by the number of faces in any crossing-free planar drawing of . We will transform in polynomial time into a plane graph in such a way that has a vertex cover of size if and only if has an obstacle representation of size (for defined below).
First, we construct from the planar vertex cover instance a planar vertex cover problem instance with maximum degree 3, adapting and extending the construction of . The graph admits a vertex cover of size if and only if admits a vertex cover of size . Second, we construct an ORPG instance in such a way that an obstacle representation of will correspond to a vertex cover of of the same size, and vice versa.
Constructing the maximum degree 3 planar vertex cover instance . The planar graph is constructed as follows. We transform each vertex of into a cycle of length , with (with the exact value decided below). We color the vertices of alternating between blue and red. We then create a single leaf vertex adjacent to some arbitrary red vertex of . We transform each edge of into a path with three edges whose endpoints are distinct blue vertices of and . We finally create copies of the 3-vertex path graph , each constituting a component of .
We claim that has a vertex cover of size at most if and only if has one of size at most .
(): For each vertex in a given vertex cover for of size , we select and all the blue vertices of , thus including an endpoint of each path ; and for each not in the cover, we select all the red vertices of (a total so far of vertices). Since for every path at least one of the cycles and will have all its blue vertices chosen, thus including at least one endpoint of , choosing one internal vertex from each ( more), and the central vertex of each ( more) suffices to complete a size vertex cover for .
(): Given a vertex cover for of size , we obtain a canonical vertex cover for of size in the following way. Each copy of contributes at least one vertex to a cover, so have it contribute exactly its central vertex, for a total of vertices. Each path contributes at least one of its internal vertices to cover its central edge. If both internal vertices of a path are in the given cover, take one internal vertex out and ensure that its blue neighbor is in, which makes for internal vertices from these paths. Note that every cycle contributes at least vertices, lest some edge of the cycle be uncovered. This holds with equality only if contributes (including ‘its’ ) exactly its red vertices. Otherwise, ensure that contributes exactly vertices: ‘its’ and its blue vertices. Denote by the size of this resulting canonical vertex cover. The cycles in contributing blue vertices therefore correspond to a vertex cover for of size .
Constructing the ORPG instance . In the remainder of the proof, we show how to “implement” the graph as an equivalent ORPG problem instance. The basic building blocks of the construction are empty triangles and diamonds. An empty triangle is a face of a plane graph that is surrounded by three edges and has no vertex inside. A diamond consists of two empty triangles sharing an edge and having their four vertices in convex position. Observe that a diamond contains a non-edge between two of its vertices. Hence at least one empty triangle of every diamond must be chosen in an obstacle representation. The copies of in will match the faces of besides empty triangles, all of which must be chosen. The remaining vertices of will match the empty triangles of , such that the edges among them match the diamonds of . Hence there will be a natural bijection between vertex covers of and obstacle representations of .
To begin the construction, we use the linear-time algorithm of de Fraysseix, Pach, and Pollack  to obtain a planar imbedding of on a portion of the integer lattice and then perturb the coordinates to obtain general position. (We do not distinguish between and this imbedding.) We first visualize as a bold drawing  of , whose vertices are represented by small disks and edges by solid rectangles: we draw each vertex of as a disk about (with boundary ), and every edge as a solid rectangle . See Fig. 1(a). Each has two vertices , on and two vertices on such that the line is a midline of , and is a counterclockwise ordering of the vertices of a convex hexagon.
We draw the disks small enough to ensure that they are well-separated from one another. We set the radius of every disk to the smaller of 1/4 and half of the minimum distance between a vertex and an edge () of . To fix a single width for all rectangles (i.e., ), we set a global angle measure to the smaller of and half of the smallest angle between two edges of incident on the same vertex of .
is modeled on the bold drawing, by implementing each edge of (path of ) with an edge gadget and each vertex of (cycle of ) with a vertex gadget. The edge gadget, consisting of four triangles forming three diamonds, is shown in Fig. 1(b). (Note that each pair defines a non-edge.)
The vertex gadget is a modified wheel graph whose triangles correspond to the vertices of cycles in (see Fig. 2). On every circle , for every edge in , we color blue the arc of measure centered about the intersection of circle with (a non-edge in ). We place and at the endpoints of this arc so that is a counterclockwise triple. By the choice of , all blue arcs are well-separated, and hence the rectangles are well-separated from one another and from other disks, by the choice of . We color the remaining arcs red to obtain a red-blue striped pattern on each circle , corresponding in color to the vertices of the corresponding in .
On every circle , we will add the remaining edges between consecutive vertices of to complete the union of the triangles , forming a wheel graph on hub , such that every pair of triangles sharing a spoke form a diamond. If a red arc has measure at least , however, we must add additional spokes. By the general position assumption, at most one red arc per wheel can have such great measure. If such a red arc has measure less than , we divide it evenly into three parts and color the middle part blue (see Fig. 2); otherwise, we divide it evenly into five parts and color the second and fourth parts blue (see Fig. 3), maintaining the striped pattern in both cases. We place dummy and vertices111Dummy vertices have no adjacencies with any vertices outside of . at the newly created (zero, two or four) arc endpoints. Finally, we add the requisite edges to complete the wheel graph.
We place a vertex on an arbitrary red arc of and connect it in to the end vertices (say and ) of that arc. Thus an empty triangle is formed in as part of a diamond with , corresponding to and its incident edge in .
In the unbounded face of we place two isolated vertices inducing a non-edge inside the unbounded face, thus requiring this face to be chosen in any solution. Every non-triangular face of must be selected as an obstacle, since every simple polygon with at least 4 vertices has an internal diagonal (i.e., a non-edge). The selection of these faces are forced moves and correspond to the selection, in a vertex cover for , of the central vertex of each .
This completes the construction of . Since each pair of neighboring triangles in indeed form a diamond and every non-triangular face is indeed a forced move, the result follows. ∎
To represent coordinates exactly as described would require a very permissive unit-cost RAM model of computation in which it is possible to represent real numbers and perform arithmetic and trigonometric functions in unit time. The reduction above can be modified in such a way that each vertex position of is represented using bits.
In an alternate proof strategy, we can begin with a special touching polygons representation of instead of a bold drawing. This strategy would involve topologically “collapsing” each rectangle to a single edge shared by the wheel graphs on hubs and , which is the unique edge crossing segment . There is a linear-time algorithm for computing a touching polygons representation where the number of sides in a polygon is at most six , this algorithm can be modified to ensure that every side of a polygon is an edge of . The linear-time algorithm for computing a touching polygons representation given in  can easily be modified to ensure that every edge of corresponds to a distinct side between two polygons, but using this method there is no guaranteed way to place hubs inside their corresponding polygons such that every pair of adjacent polygons have hubs that define non-edges that meet the shared polygon side. Nonetheless, a polynomial-time algorithm by Mohar  does ensure this.
3 Reduction to vertex cover
Weighted ORPG is reducible to weighted maximum degree 3 planar vertex cover by an optimal solution value-preserving reduction.
Given a plane graph on vertices in general position, we construct a graph that admits a vertex cover of cost if and only if admits an obstacle representation of cost .
Every bounded non-triangular face of must be selected as an obstacle; moreover, the unbounded face must be chosen if and only if its convex hull boundary contains a non-edge. Since these are forced moves, we henceforth assume without loss of generality that every non-edge we must block meets at least two faces.
Recall that an empty triangle is a bounded face on three vertices not containing any other vertices, and that a diamond consists of two empty triangles that share an edge and have their four vertices in convex position.
We claim that every non-edge must meet the two triangles forming some diamond, and hence must meet those triangles’ shared edge. Assume for contradiction that some remaining non-edge never crosses the diagonal edge of a diamond. Denote by and the endpoints of , and orient the plane such that is directly below . Obtain a sequence of empty triangles by tracing from (a vertex on ) to (a vertex on ). Denote by (for ) the unique vertex in face that is not a vertex of (so that ). Without loss of generality, the reflex angle of and is to the right of , which implies that is to the right of . In order for to be the next face in this sequence, must be to the left of . In general, in order for to be the next face in this sequence, must be on the other side of from . This pattern must continue indefinitely, lest two consecutive triangles form a diamond. The indefinite continuation of this pattern implies an infinite sequence of faces defined by , and hence a contradiction.
We now define , which is a subgraph of the dual of : each edge of corresponds to diamond of . The graph is induced by these edges (with vertex weights set to the correspond face weights). For each diamond, at least one its two triangles must be chosen in any obstacle representation. Thus every obstacle representation of corresponds to a vertex cover of of the same cost, and vice versa. ∎
We may wish to adopt the more realistic bit model, since a plane graph drawing may have been expressed using a number of bits super-polynomial in for vertex coordinates. In this model, the reduction would require time super-polynomial in but nonetheless polynomial in the number of input bits used for representing .
From Theorem 3.1 we immediately obtain the following.
Weighted ORPG admits a polynomial-time approximation scheme (PTAS) .
Moreover, this also follows.
ORPG is fixed parameter tractable (FPT).
Perform the reduction of Theorem 3.1, producing a planar maximum degree 3 vertex cover instance with
Using the FPT algorithm by Xiao  for maximum degree 3 vertex cover on , we can compute an obstacle representation for with obstacles in additional time at most .
Alternatively, using the FPT algorithm by Alber et al.  for planar vertex cover on , we can to compute an obstacle representation for with obstacles in additional time at most . ∎
-  Jochen Alber, Henning Fernau, and Rolf Niedermeier. Parameterized complexity: Exponential speed-up for planar graph problems. In in Electronic Colloquium on Computational Complexity (ECCC), pages 261–272. Springer, 2001.
-  Hannah Alpert, Christina Koch, and Joshua Laison. Obstacle numbers of graphs. Discrete & Computational Geometry, 44:223–244, July 2010. www.springerlink.com/content/45038g67t22463g5.
-  Brenda S. Baker. Approximation algorithms for np-complete problems on planar graphs. J. ACM, 41:153–180, January 1994.
-  Hubert de Fraysseix, János Pach, and Richard Pollack. How to draw a planar graph on a grid. Combinatorica, 10(1):41–51, 1990.
-  Christian A. Duncan, Emden R. Gansner, Yifan Hu, Michael Kaufmann, and Stephen G. Kobourov. Optimal polygonal representation of planar graphs. CoRR, abs/1104.1482, 2011.
-  Michael R. Garey and David S. Johnson. The rectilinear Steiner tree problem is NP-complete. SIAM Journal of Applied Mathematics, 32:826–834, 1977.
-  Bojan Mohar. Circle packings of maps in polynomial time. European Journal of Combinatorics, 18(7):785–805, 1997.
-  Deniz Sarıöz. Approximating the obstacle number for a graph drawing efficiently. In Proc. 23rd Canadian Conference on Computational Geometry (CCCG ’11), pages 297–302, 2011.
-  Marc J. van Kreveld. Bold graph drawings. In Proc. 21st Canadian Conference on Computational Geometry (CCCG ’09), pages 119–122, 2010.
-  Mingyu Xiao. A note on vertex cover in graphs with maximum degree 3. In My Thai and Sartaj Sahni, editors, Computing and Combinatorics, volume 6196 of Lecture Notes in Computer Science, pages 150–159. Springer Berlin / Heidelberg, 2010.