Angle Covers: Algorithms and Complexity

Consider a graph with a rotation system, namely, for every vertex, a circular ordering of the incident edges. Given such a graph, an angle cover maps every vertex to a pair of consecutive edges in the ordering -- an angle -- such that each edge participates in at least one such pair. We show that any graph of maximum degree 4 admits an angle cover, give a poly-time algorithm for deciding if a graph with no degree-3 vertices has an angle-cover, and prove that, given a graph of maximum degree 5, it is NP-hard to decide whether it admits an angle cover. We also consider extensions of the angle cover problem where every vertex selects a fixed number $a>1$ of angles or where an angle consists of more than two consecutive edges. We show an application of angle covers to the problem of deciding if the 2-blowup of a planar graph has isomorphic thickness 2.


Introduction
A well-known problem in combinatorial optimization is vertex cover : given an undirected graph, select a subset of the vertices such that every edge is incident to at least one of the selected vertices. The aim is to select as few vertices as possible. The problem is one of Karp's 21 NP-complete problems [7] and remains NP-hard even for graphs of maximum degree 3 [1]. Moreover, vertex cover is APX-hard [2] and while it is straightforward to compute a 2-approximation (take all endpoints of a maximal matching), the existence of a (2 − ε)-approximation for any ε > 0 would contradict the so-called Unique Games Conjecture [8]. Vertex cover is the "book example" of a fixed-parameter tractable problem.
Note that in vertex cover, a vertex covers all its incident edges. In this paper we alter the problem by restricting the covering abilities of the vertices. We assume that the input graph has a given rotation system, that is, for every vertex, a circular ordering of its incident edges. In the basic version of our problem, the angle cover problem, at each vertex we can cover one pair of its incident edges that are consecutive in the ordering (i.e., form an angle at the vertex), and every edge must be covered. An example of a planar graph with a vertex cover and an angle cover is shown in Fig. 1. In this paper, we mainly treat the decision version of angle cover, but various optimization versions are interesting as well; see Sections 6 and 7. Clearly, a graph that admits an angle cover cannot have too many edges, both locally and globally. We say that a graph G has low edge density if, for all k, every k-vertex subgraph has at most 2k edges. Observe that only graphs of low edge density can have an angle cover. Whether G has low edge density can be easily checked by testing whether the following bipartite auxiliary graph G mat has a matching of size at least |E|. The graph G mat has one vertex for each edge of G, two vertices for each vertex of G, and an edge for every pair (v, e) where v is a vertex of G and e is an edge of G incident to v.
Example classes of graphs with low edge density are outerplanar graphs and maximum-degree-4 graphs (both of which always admit angle covers; see below), Laman graphs (graphs such that for all k, every k-vertex subgraph has at most 2k − 3 edges), and pointed pseudo-triangulations. Given a set P of points in the plane, a pseudo-triangulation is a plane graph with vertex set P and straightline edges that partitions the convex hull of P into pseudo-triangles, that is, simple polygons with exactly three convex angles. A pseudo-triangulation is pointed if the edges incident to a vertex span an angle less than π. Thus every vertex has one large angle (greater than π) but these angles do not necessarily form an angle cover. It is known that every pointed pseudo-triangulation is a planar Laman graph [10] and that every planar Laman graph can be realized as a pointed pseudo-triangulation [4]. We show that not all Laman graphs admit an angle cover; see Section 5. Our interest in angle covers arose from the study of graphs that have isomorphic thickness 2. The thickness, θ(G), of a graph G is the minimum number of planar graphs whose union is G. By allowing each edge to be a polygonal line with bends, we can draw G on θ(G) parallel planes where each vertex appears in the same position on each plane and within each plane the edges do not cross [6]. The isomorphic thickness, ι(G), of a graph G is the minimum number of isomorphic planar graphs whose union is G.
As we will show, it is NPhard to determine if a graph has isomorphic thickness 2, but all graphs that are the 2-blowup of a plane graph with an angle cover have isomorphic thickness 2.
Given a graph G = (V, E) and a rotation system, the existence of an angle cover can be expressed by the following integer linear program (ILP) without objective function. We use a 0-1 variable x u,v for every vertex u and for every vertex v adjacent to u. The intended meaning of x u,v = 1 is that vertex u selects edge uv as one of the two edges of its angle. We denote the set of vertices adjacent to a vertex u by N (u).
If G mat has a perfect matching, we can require equality in the edge constraints.
The ILP formulation has 2 · |E| variables and O( v∈V deg 2 (v)) constraints. As a warm-up, we observe that every outerplane graph has an angle cover. (Recall that an outerplane graph is an outerplanar graph with a given embedding and, hence, fixed rotation system.) The statement can be seen as follows. Any n-vertex outerplane graph has at most 2n − 4 edges, and outerplanarity is hereditary, so outerplane graphs have low edge density. Additionally, every such graph has an ear decomposition, that is, an ordering Due to outerplanarity, the ear decomposition can be chosen such that for each vertex the at most two "ear edges" are consecutive in the ordering around the vertex. This shows the existence of an angle cover for any outerplane graph.
Our contribution. We first consider a few concrete examples that show that not every planar graph of low edge density admits an angle cover. We then show that any graph of maximum degree 4 does admit an angle cover and give a polytime algorithm to decide if a graph with no degree 3 vertex admits an angle cover (Section 3). Then we prove that, given a graph of maximum degree 5, it is NP-hard to decide whether it admits an angle cover (Section 4). In Section 5, we show that not all Laman graphs admit an angle cover even though they all satisfy the low edge density requirement. We also consider two extensions of the angle cover problem where (i) every vertex is associated with a fixed number a > 1 of angles or (Section 6) (ii) an angle consists of more than two consecutive edges (Section 7). Finally, we show that the 2-blowup of any plane graph with an angle cover has isomorphic thickness 2 (Section 8).

Preliminaries and Examples
In this section we show that even graphs with several seemingly nice properties do not always admit an angle cover. All our examples are plane graphs, that is, they are planar and their rotation system corresponds to a planar drawing.
Observation 1 There is a plane graph (Fig. 2a) of maximum degree 5 and with low edge density that does not admit an angle cover.   Figure 3: A plane graph of low edge density that has a strongly connected orientation of its edges but does not admit an angle cover.
Proof. Consider the graph in Fig. 2a. We have oriented its edges so that each vertex has outdegree 2. Hence, the graph has low edge density. The graph has n = 21 vertices and 2n edges. Due to the way the two degree-2 vertices (filled black) are arranged around the central vertex (square) of degree 4, one of the horizontal edges incident to the central vertex is covered twice. This implies that the n vertices cover at most 2n − 1 edges. Thus, there is no angle cover.
Note that the counterexample critically exploits the use of degree-2 vertices. Next we show that there are also counterexamples without such vertices.
Observation 2 There is a plane graph (Fig. 2b) of low edge density with vertex degrees in {3, 4, 5} that does not admit an angle cover.
Proof. Consider the graph in Fig. 2b. Again, we oriented the edges such that every vertex has outdegree 2, which shows that the graph has low edge density. The graph is the same as the one in Fig. 2a except we replaced the two degree-2 vertices by copies of K 4 (light blue). Since the number of edges is 2n and K 4 has four vertices and six edges, the two edges that connect each copy of K 4 to the rest of the graph, must necessarily be directed away from K 4 . As a result, the two copies of K 4 behave like the degree-2 vertices in Fig. 2a: they cover one of the horizontal edges incident to the central vertex twice. Thus, there is no angle cover.
Note that the counterexamples so far were not strongly connected (w.r.t. the chosen edge orientation). But strongly connected counterexamples exist, too.
Observation 3 There is a plane graph (Fig. 3) of low edge density with vertex degrees in {3, 4, 5} and a strongly connected edge orientation that does not admit an angle cover.
Proof. Consider the graph depicted in Fig. 3. We assume that it has an angle cover and show that this yields a contradiction. Clearly, one of the horizontal edges incident to s must be covered by s. Due to symmetry, we can assume that it is the edge to vertex a on the left. Since a has degree 3, it must cover its other two edges, to vertices b up and to c down. Let d be the vertex adjacent to both b and c and let b, f, g, c be the neighbors of d in counterclockwise order. We have the following four cases, each of which leads to a contradiction.
1. d covers db and dc: Then b covers bf , f covers f g (since f must cover f d), and g covers gc (since g must cover gd). But then c has only one edge to cover. 2. d covers db and df : Again, b covers bf and (since only two edges remain uncovered at f ) f covers f g and (as before) g covers gc. But then c has two non-consecutive edges to cover. 3. d covers df and dg: Then b must cover bd and bf , f must cover f g, g must cover gc. But then c has two non-consecutive edges to cover. 4. d covers dg and dc: Then c must cover cg, g must cover gf , f must cover f b. But then b has two non-consecutive edges to cover.
Observation 4 There is a planar maximum-degree-5 graph ( Fig. 4) with two embeddings such that one admits an angle cover, but the other does not.
Thus, when determining whether a graph (of maximum degree greater than 4) has an angle cover, we must consider a particular embedding, which determines a rotation system. This applies to non-planar graphs as well. However, if we have a topological embedding of a non-planar graph, we can decide whether it has an angle cover by considering its planarization. By a topological graph we mean a graph together with a drawing of that graph where any pair of edges (including their endpoints) has at most one (crossing not touching) point in common and any point of the plane is contained in at most two edges. By the planarization of a topological graph we mean the plane graph that we get if we replace, one by one, in arbitrary order, each crossing by a new vertex that is incident exactly to the four pieces of the two edges that defined the crossing. We define the order of the four new edges around the new vertex to be the same as the order of the four endpoints of the old edges around the crossing.
Proposition 1 Any topological graph admits an angle cover if and only if its planarization admits an angle cover.
Proof. We show the equivalence for the first step of the planarization procedure defined above. Then, induction proves our claim. Let G be a topological graph, and let G be the graph that we obtain from G by replacing an arbitrary crossing of two edges e = uv and f = xy by a new vertex w that is incident to u, v, x, and y; see Suppose that G has an angle cover α. Edges e and f , say, must be covered by angles incident to vertices u and x. Then it is simple to extend α to G by mapping w to the angle {wv, wy} incident to w. Now suppose that G has an angle cover α with, say, α (w) = {vw, yw}. Since w does not cover uw and xw, u must cover uw and x must cover xw. Now we restrict α to G: we replace uw by uv and xw by xy. Hence, both uv and xy are covered. Finally, we remove w (with vw and yw). Clearly, the resulting map is an angle cover for G.

Algorithms for Graphs with Restricted Degrees
Theorem 1 Any graph of maximum degree 4 with any rotation system admits an angle cover, and such a cover can be found in linear time.
Proof. We can assume that the given graph is connected since we can treat each connected component independently. If the given graph is not 4-regular, we arbitrarily add dummy edges between vertices of degree less than 4 until the resulting (multi)graph is 4-regular or there is a single vertex, say v, of degree less than 4. If one vertex remains with degree less than 4, we add self-loops to that vertex until it has degree 4. This is always possible since all other vertices have degree 4, which is even, hence the last vertex must also have even degree. An angle cover in the new graph implies an angle cover in the original, where the assigned angle at a vertex in the original graph is the angle that contains the assigned angle at the same vertex in the new graph. We find a collection of directed cycles in the now 4-regular graph, similarly to the algorithm for finding an Eulerian cycle. We follow the rule to exit a degree-4 vertex always on the opposite edge from where we enter it. Whenever we close a cycle and there are still edges that we have not traversed yet, we start a new cycle from one of these edges. In this way we never visit an edge of the input graph twice, which establishes the linear running time.
The algorithm yields a partition of the edge set into (directed) cycles with the additional property that pairs of cycles may cross each other (or themselves), but they never touch without crossing. Hence, in every vertex the two outgoing edges are always consecutive in the circular ordering around the vertex. We assign to each vertex the angle formed by this pair of edges.

Theorem 2
The angle cover problem for n-vertex graphs with no vertices of degree 3 and any rotation system can be solved in O(n 2 ) time.
Proof. Given a graph G = (V, E) with no vertices of degree 3, at most 2n edges, and a corresponding rotation system, we create a 2-SAT instance in conjunctive normal form. For each vertex v and edge e adjacent to v, create a variable x ve . In our potential assignments, the variable x ve is true if and only if in a corresponding angle cover, the edge e is covered by the angle at the vertex v. For each edge e = (u, v), add a clause (x ve ∨ x ue ), where the clause is true if and only if the edge is covered. For each vertex v with incident edges e 1 , e 2 , . . . , e d (d > 3), create clauses (¬x vei ∨ ¬x vej ) for any pair e i , e j that are not adjacent in the circular ordering around v. This guarantees that there can be at most 2 true variables for v, and that they must be adjacent in the circular ordering. Furthermore, given any satisfying assignment, we can force v to have exactly 2 such variables, which then specify an angle for v in an angle cover. A vertex v with degree ≤ 2 can always cover all of its edges. Thus, G with its rotation system has an angle cover if and only if the constructed 2-SAT instance is satisfiable. The number of clauses is bounded above by |E| + |E| 2 where |E| ∈ O(n). Since 2-SAT can be solved in linear time [3], the algorithm takes O(n 2 ) time.

NP-Hardness for Graphs of Maximum Degree 5
Theorem 3 The angle cover problem is NP-hard even for graphs of maximum degree 5.
Proof. We reduce from 3-colouring. Given a graph G = (V, E), we construct a graph H = (U, F ) with a rotation system f : U → F * such that (H, f ) admits an angle cover if and only if G has a 3-colouring. Note that f is a function that, given a vertex u, will provide a circular order of the edges around u.
For each vertex v ∈ V , let E 1 (v), . . . , E deg(v) (v) be its adjacent edges in some arbitrary order. We create a graph, called a gadget, for vertex v that contains 1 + 9 deg(v) vertices. The centre of the gadget is a vertex c(v) that is adjacent to the first vertex in three paths, e k 1 (v), e k 2 (v), . . . , e k deg(v) (v), one for each of the three colours k ∈ {0, 1, 2}. Each vertex e k j (v), for j = 1, . . . , deg(v), is adjacent to two degree-1 vertices a k j (v) and b k j (v) (as well as its neighbours in the path) that are part of the gadget (see Fig. 6). In addition, if that is, (u, v) is an edge in G and is the ith edge adjacent to u and the jth edge adjacent to v, then the vertex e k j (v) is adjacent to e k i (u) (see Fig. 7). The circular order of edges around e k . The separator edges (e k j (v), a k j (v)) and (e k j (v), b k j (v)) prevent an angle cover at e k j (v) from (i) covering both (e k j (v), e k j−1 (v)) and (e k j (v), e k j+1 (v)) or (ii) covering both (e k j (v), e k j−1 (v)) and (e k j (v), e k i (u)). The graph containing all of the gadgets and the edges between them along with the specified rotation system is then (H = (U, F ), f ). Observe that the maximum degree of H is 5 and that the construction takes polynomial time.
It remains to show that G is 3-colourable if and only if (H = H(G), f ) has an angle cover. We start with the "only if" direction.
"⇒": G is 3-colourable implies that (H, f ) has an angle cover: Let t : V → {0, 1, 2} be a 3-colouring of G. We construct an angle cover α : (v))), where all superscripts are taken modulo 3. Also, for j = 1, . . . , Since any vertex of degree at most 2 covers all its adjacent edges, all edges in the construction, except for possibly (e k j (v), e k i (u)) where E i (u) = E j (v), are covered. Since t is a 3-colouring, we know that t(u) = t(v) = k. Therefore, the edge (e k j (v), e k i (u)) is covered by e k i (u) by the construction above, so all edges are covered by the constructed angle cover. (v)) in the angle cover then set t(v) = k (i.e., the colour given by the edge not covered by c(v)). Suppose for the sake of contradiction that an edge (u, v) in G is not properly coloured and t(u) = t(v) = k. The edge (c(u), e k 1 (u)) is not covered by c(u) and the edge (c(v), e k 1 (v)) is not covered by c(v). Then, those edges must be covered by e k 1 (u) and e k 1 (v), respectively, so e k 1 (u) and e k 1 (v) cannot cover the edges (e k 1 (u), e k 2 (u)) and (e k 1 (v), e k 2 (v)), respectively, nor the edges (e k Repeating this argument, we see that the edge (e k i * (u), e k j * (v)) is neither covered by e k i * (u) nor by e k j * (v). This is a contradiction since we assumed that (H, f ) has an angle cover. Now we apply Proposition 1 to a drawing of the graph in the above reduction.

Corollary 1
The angle cover problem is NP-hard even for planar graphs of maximum degree 5.

Laman Graphs
Laman graphs are a natural class of graphs to consider for the angle cover problem because their size characterization insures low edge density: for all k, every k-vertex subgraph has at most 2k − 3 edges. Another characterization due to Henneberg [5] is that Laman graphs (with at least two vertices) are those graphs that can be constructed by starting with an edge and repeatedly either (S1) adding a new vertex to the graph and connecting it to two existing vertices, or (S2) subdividing an edge of the graph and adding an edge connecting the newly created vertex to a third vertex The size characterization suggests that all Laman graphs admit an angle cover. However, this is not the case.
Observation 5 There is a Laman graph that does not admit an angle cover.
Proof. Consider the graph with embedding in Fig. 8. Suppose that this graph has an angle cover. The edges adjacent to the black vertices in the induced rotation system alternate between red and black, and so each black vertex can only cover at most one black edge. However, there are five black edges, but only four black vertices, and all vertices adjacent to a black edge are black vertices, so no angle cover exists. The graph is indeed a Laman graph since it admits a Henneberg construction using step (S1) to first create all black vertices, and then all red vertices.

Multi-Angle Cover
In this and the following section, we consider two natural generalizations of the basic angle cover problem. First we consider the a-angle cover problem where every vertex v covers a angles, where an angle is (as before) a pair of edges incident to v that are consecutive in the circular ordering around v. We start with a positive result.
Theorem 4 For even ∆ > 0, any graph of maximum degree ∆ with any rotation system admits an a-angle cover for a ≥ ∆/2 − ∆/6 , and such an angle cover can be found in linear time.
Proof. The proof is similar to that of Theorem 1. As in that proof, we can assume that the given graph is connected and ∆-regular.
We again direct the edges of the graph to form a directed Eulerian cycle. To this end, we number the edges incident to each vertex from 0 to ∆ − 1 in circular order. For i = 0, . . . , ∆/6 − 1, we call the group of edges 6i, . . . , 6i + 5 a sextet. In creating the directed cycle, when entering a vertex v, our goal is to exit (directing an outgoing edge) in such a way that we obtain two consecutive outgoing edges in each sextet at v. This proves the theorem since every vertex is then able to cover all of its ∆/2 outgoing edges (and thus all edges in the graph are covered) using at most ∆/2 − ∆/6 angles -in each of the ∆/6 sextetts, two outgoing edges are covered by a single angle.
The rule we follow to ensure that every sextet contains two consecutive outgoing edges is when an incoming edge to v enters a sextet for the first time, we exit v on an edge e in the same sextet that lies between two undirected edges (edges that are not part of the cycle yet). Since the sextet contains six edges, either three consecutive edges of the sextet precede or follow the first incoming edge to the sextet and such an edge e exists. When the cycle next enters v on an edge in this sextet, we exit on one of the remaining undirected edges immediately before of after e. Theorem 4 shows that as long as the number of angles each vertex can cover is large enough, we can find an angle cover efficiently for any graph with maximum degree ∆, but the bound is not always tight.
Theorem 5 For any a ≥ 1 the a-angle cover problem is NP-hard even for graphs of maximum degree 4a + 1.
Proof. If every vertex can select a > 1 angles, we can use the same NP-hardness reduction described in the proof of Theorem 3 but attach 2(a − 1) adjacent edges, each connected to its own copy of K 4a+1 , to every vertex e k j (v) to force the vertex to "waste" a − 1 of its angles on these edges. These edges precede the edge (e k j (v), a k j (v)) in the circular order at vertex e k j (v). Now, deg(e k j (v)) = 2a + 3 < 4a + 1. For the centre vertex c(v), we similarly attach 2(a − 1) edges, each connected to its own copy of K 4a+1 , to c(v) so that these edges lie between (c(v), e 0 1 (v)) and (c(v), e 1 1 (v)). Now, deg(c(v)) = 2a + 1 < 4a + 1. Finally, since the maximum degree in each of these attached K 4a+1 copies is 4a + 1, the maximum degree of the graph is 4a + 1.
Theorem 6 The 2-angle cover problem is NP-hard even for graphs of maximum degree 8.
Proof. The maximum degree given by the construction described in the proof of Theorem 5 comes from the use of K 9 . To decrease the maximum degree to 8, instead of attaching two copies of K 9 to a vertex, we attach one copy of the following graph, T , using two edges. The graph T contains a copy of K 7 and two vertices b 1 and b 2 that are connected to all seven vertices of the copy of K 7 . The graph T is attached to an external vertex v (not in T ) by edges (b 1 , v) and (b 2 , v). Thus every vertex in T has degree 8. Including these edges, T contains 37 edges and nine vertices. Since each vertex can cover at most four edges, at least one edge must be covered by v in any valid angle cover. Furthermore, all edges except for one of the external outgoing edges can be covered; see Fig. 9.
For each vertex e k j (v) in the original NP-hardness reduction, we attach three new edges, using a copy of T , and another isolated vertex x. Similarly to the high-degree construction, these edges, in the order (e k j (v), x), (e k j (v), b 1 ), (e k j (v), b 2 ), directly precede the edge to the degree-1 vertex (e k j (v), a k j (v)) in the circular order at vertex e k j (v). The circular order of just these four edges is then (e k j (v), x), (e k j (v), b 1 ), (e k j (v), b 2 ), (e k j (v), a k j (v)), so we observe that the two edges connecting to b 1 and b 2 are between edges connected to degree-1 vertices. As a result, e k j (v) must "waste" one of its angles on either (e k j (v), b 1 ) or (e k j (v), b 2 ), and hence, it cannot use this angle on any other edge connected to a non-isolated vertex. Now deg(e k j (v)) = 8. For the centre vertex c(v), we similarly attach four edges using two copies of T , to c(v) so that their edges lie between (c(v), e 0 1 (v)) and (c(v), e 1 1 (v)). Now, deg(c(v)) = 7. If c(v) covers two of these new edges, then c(v) cannot cover all three of its original edges, since it can only cover a total of four. Furthermore, assuming that the edges to each copy of T are consecutive in the edge-ordering of c(v), we can cover any two of the original edges alongside one edge from each copy of T . All three cases are depicted in Fig. 10.
A key part of the proof of the hardness results of Theorems 5 and 6 is the use of a subgraph (such as K 9 or the graph T in Fig. 9) that requires one of its adjacent edges, to a vertex v outside the subgraph, to be covered by v. In fact, we can use any graph without an a-angle cover for some rotation system to serve this purpose.
Theorem 7 For all a ≥ 1, if there exists a graph with a rotation system that has no a-angle cover and maximum degree ≤ 2a + 3, then the a-angle cover problem for graphs with maximum degree ≤ 2a + 3 is NP-hard.
Proof. Fix a ∈ N. Suppose a graph H has a rotation system with no a-angle cover and has maximum degree at most 2a + 3. Let D be the set of edges left uncovered by an a-angle assignment covering the maximum number of edges.
We reduce from the 1-angle cover problem for graphs of maximum degree 5, whose hardness was shown in Theorem 3. Let G be an input to the 1-angle cover problem with maximum degree at most 5.
For any fixed i, the induced subgraph of G H given by the set of vertices Similarly, for any fixed j and fixed v ∈ V (G), the induced subgraph of G H given by the set of vertices y u,j,v for u ∈ V (H) is isomorphic to the graph (V (H), E(H) \ D) (with the isomorphism y u,j,v → u). In both cases, the relative orders of the subgraph edges around each vertex in the subgraphs are the same as in G and H, respectively.
Finally, each vertex x v,i also has 2(a − 1) incident edges, contiguous in the circular ordering around x v,i (it is unimportant where they are relative to the other edges). The jth pair of these edges is incident to the vertices y w,j,v and y w ,j,v where ww is the ith edge in D (each edge in the pair is incident to exactly one of these, in addition to x v,i ). The circular ordering of these edges around y w,j,v and y w ,j,v corresponds to the ordering of the original edge ww around, respectively, w and w in H. The set B of all such edges has size 2(a − 1)|V (G)||D|. This completes the construction.
We claim that in any a-angle cover of G H , the edges of B must be covered only by their incident vertices labelled with x. Suppose this is not the case, i.e. there exists an angle cover of G H and a vertex y u ,j ,v that covers some edge e ∈ B. Recall that the induced subgraph with vertices y u,j,v for fixed j and v is isomorphic to the graph (V (H), E(H) \ D). Additionally, observe that since the addition of the edges in B prevents any possible angles around a vertex from existing in the induced subgraph that do not also exist in H, the maximum number of edges covered by vertices y u,j,v for fixed j, v is equal to |E(H) \ D|. However, since y u ,j ,v covers some edge e ∈ B (i.e. e is not in the induced subgraph), the vertices y u,j,v for fixed j, v must then cover all |E(H) \ D| edges between each other, and one more, a contradiction to our choice of D.
Therefore, each vertex x v,i must cover all of its 2(a − 1) incident edges in the set B, which leaves one more angle to use for each of these vertices. In order to complete the reduction, we wish for the sets of angles that can be covered by x v,i in G H in any valid a-angle cover to correspond to the single angle covered by v in G in any valid angle cover. Assume that the 2(a − 1) incident edges to x v,i in the set B are b 1 , . . . , b 2(a−1) and occur in the order e 1 , b 1 , b 2 , . . . , b 2(a−1) , e 2 around x v,i , where edges e 1 and e 2 correspond to edges e 1 and e 2 from G. For any angle at v covering edges adjacent in the circular ordering corresponding to t 1 , t 2 ∈ E(G H ) such that {t 1 , t 2 } = {e 1 , e 2 }, the corresponding a angles at x v,i are simple to create: The first angle covers t 1 and t 2 , the second covers b 1 , b 2 , the third covers b 3 , b 4 , until the last covers b 2(a−1)−1 , b 2(a−1) . For an angle at v covering edges corresponding to e 1 and e 2 , the corresponding a angles at x v,i are slightly different: The first angle covers e 1 and b 1 , the second covers b 2 , b 3 , the third covers b 4 , b 5 , until the last covers b 2(a−1) and e 2 .
As a result of the equivalence between angle choices, we conclude that such an a-angle cover exists if and only if the input graph G has an angle cover.
For a = 1, the problem is NP-hard by Theorem 3. Also, due to Theorem 4, when ∆ ≤ 2a + 3 and ∆ ≥ 18 (implying a ≥ 8), all graphs have an a-angle cover. For values a ∈ (1, 8), the complexity of the a-angle cover problem for maximum degree ∆ ≤ 2a + 3 is not known. However, Theorem 7 implies that the complexity comes in exactly two forms: Either the problem is NP-hard, or the problem is easy and all such graphs have an a-angle cover.

Wide-Angle Cover
Another obvious generalization of angle covers is to consider "wider" angles. In the m-wide angle cover problem every vertex v can cover m consecutive edges in their circular order around v. contains, for every (u, v) ∈ E, the edge (u 2 , v 2 ) and the edge (u 1 , v 2 ) or (u 2 , v 1 ) that is not in H. Thus the union of H and H equals the 2-blowup of G.
As one would expect, not every planar graph whose 2-blowup has isomorphic thickness 2 has a plane embedding that admits an angle cover.
Observation 6 There is a graph G whose 2-blowup has isomorphic thickness 2 but none of the planar embeddings of G admits an angle cover. Figure 12: A graph G whose 2-blowup has isomorphic thickness 2. The graph has no planar embedding admitting an angle cover.
Proof. We show that the graph G presented in Fig. 12 has all the desired properties. G contains two disjoint induced copies of the graph H presented in Fig. 1. H has an angle cover and, since it has 8 vertices and 16 edges, any angle cover will cover exactly the edges in H. Indeed, if H 1 and H 2 represent the distinct subgraphs in G isomorphic to H, a planar embedding of G has an angle cover if and only if the embedded H 1 and H 2 have angle covers and after contracting both H 1 and H 2 to single vertices the resulting graph G (see Fig. 13(a)) has a partial angle cover, where the contracted vertices do not cover an angle. This is equivalent to finding a planar embedding for G in which the green edges are adjacent around the vertex c, since the covered edges of all other vertices are forced (and include all edges except the green edges). We observe that such an embedding exists only if the result of contracting (c, b 1 ) and (c, b 2 ) has an embedding with the same adjacency property.
If we suppose that such an embedding exists, and then draw the local structure at c, then by symmetry we could swap the labels of a 1 , a 2 and d 1 , d 2 to match Fig. 13(c). However, any edge from d 1 to a 1 must take the path of one of the blue edges, and in either case we must place d 2 and a 2 in different faces. Therefore, this graph is not planar, and therefore G has no planar embedding with an angle cover. Finally, by Fig. 14, we see that the union of graphs B 1 , given by Fig. 13(a), and B 2 , given by swapping the vertices in B 1 with their corresponding primed labeled vertices, is exactly the 2-blowup of G. Therefore, the isomorphic thickness of the 2-blowup of G is 2.
It may be useful to observe that the graph B 1 in the figure was generated by the process given in the proof of Theorem 9 on all vertices except c, assuming the necessary angle covers for all other vertices.

Angle Allocation
We now turn to a relaxation of angle cover where each vertex can select a different number of (2-wide) angles, and still, all edges must be covered. We call this an angle allocation and it is optimal if it uses the minimum number of angles among all allocations.
Theorem 10 Given a graph G = (V, E) with a rotation system, an optimal angle allocation can be computed in O(|E| 3/2 ) time.
Proof. Consider the medial graph G med = (E, A) associated with the given graph G = (V, E) and its rotation system. The vertices of G med are the edges of G, and two vertices of G med are adjacent if the corresponding edges of G are incident to the same vertex of G and consecutive in the circular ordering around that vertex. The medial graph is always 4-regular. If G has no degree-1 vertices, G med has no loops. If G has minimum degree 3, G med is simple.
Find a maximum matching M in G med using O( |E||A|) time [9]. The edges in M correspond to independent angles that collectively single-cover 2|M | edges of G (i.e., these edges are covered by only one of their adjacent vertices). Add additional angles, one for every uncovered edge of G, to obtain an allocation α : V → 2 E×E of total size |M |+(|E|−2|M |) = |E|−|M |. We claim that α minimizes the number of angles. Indeed, suppose that there were an optimal angle allocation with fewer angles that covered all edges of G, and then, since no angle will double-cover two edges, there would be a larger set of independent angles (a set of angles that do not double-cover any edge), contradicting the maximality of M .

Conclusion and Open Problems
For even ∆, we have shown that every maximum-degree-∆ graph with a rotation system admits an a-angle cover for a ≈ ∆/3 ; see Theorem 4. This is optimal for ∆ = 6 and ∆ = 8 (see Theorem 6). For ∆ = 4, however, we need only one angle per vertex, so we pose the following questions: For even ∆, does every graph of maximum degree ∆ with a rotation system admit an a-angle cover for a ≈ c∆ , where c < 1/3?
What about graphs of maximum degree ∆ if ∆ is odd? We have seen that there is a (planar but not plane) Laman graph that does not admit an angle cover; see Fig. 8. Does every plane Laman graph admit an angle cover? Can we exploit the structure of Laman graphs to construct angle covers or is it NP-hard to decide whether a given Laman graph admits an angle cover?
Does every graph whose 2-inflation has isomorphic thickness 2 admit an angle cover?