How to Use Planarity Efficiently: New Tree-Decomposition Based Algorithms
Graph-Theoretic Concepts in Computer Science
We prove new structural properties for tree-decompositions of planar graphs that we use to improve upon the runtime of tree-decomposition based dynamic programming approaches for several NP-hard planar graph problems. We give for example the fastest algorithm for Planar Dominating Set of runtime 3 tw · n O(1) , when we take the treewidth tw as the measure for the exponential worst case behavior. We also introduce a tree-decomposition based approach to solve non-local problems efficiently, such
... s Planar Hamiltonian Cycle in runtime 6 tw · n O(1) . From any input tree-decomposition, we compute in time O(nm) a tree-decomposition with geometric properties, which decomposes the plane into disks, and where the graph separators form Jordan curves in the plane. * In the remainder of the paper, we consider 2-connected plane graphs G = (V, E). The Jordan curve theorem (e.g. see  ) states that a Jordan curve J on a sphere S 0 divides the rest of S 0 into two connected parts, namely into two open discs ∆ J and ∆ J , i.e., ∆ J ∪ ∆ J ∪ J = S 0 . Hence, every Jordan curve J is a separator of a plane graph G. Two Jordan curves J, J ′ then divide S 0 into several regions. We define V + J,J ′ as the (possibly empty) subset of vertices of V (J ∩ J ′ ) that are incident to more than two regions. For two Jordan curves J, J ′ , we define J + J ′ to be the symmetric difference of J and J ′ , and use results of  to show the following: Lemma 6.  Every minimal separator S of a 2-connected plane graph G forms the vertices of a Jordan curve. That is, in any crossing-free embedding of G in S 0 , one can find a Jordan curve only intersecting with G in the vertices of S. Note that a minimal separator S is not necessarily forming a unique Jordan curve. If an induced subgraph G ′ of G (possibly a single edge) has only two vertices u, v in common with S, and u, v are successive vertices of the Jordan curve J, then G ′ can be drawn on either side of J. This is the only freedom we have to form a Jordan curve in G, since on both sides of J, there is a connected subgraph of G that is adjacent to all vertices of J. We call two Jordan curves J, J ′ equivalent if they share the same vertex set and intersect the vertices in the same order. Two Jordan curves J, J ′ cross if J and J ′ are not equivalent and there are vertices v, w ∈ V (J ′ ) such that v ∈ V ∩ ∆ J and w ∈ V ∩ ∆ J . Lemma 7. Let S 1 , S 2 be two minimal separators of a 2-connected plane graph G = (V, E) and each S i forms a Jordan curve J i , i = 1, 2. If S 1 ||S 2 , then J 1 , J 2 are non-crossing. Vice versa, if two Jordan curves J 1 , J 2 in G are non-crossing and ∆ J i ∩V and ∆ J i ∩V, (i = 1, 2) all are non-empty, then the vertex sets S i = V (J i ), (i = 1, 2) are parallel separators. We say two non-crossing Jordan curves J 1 , J 2 touch if they intersect in a non-empty vertex set. Note that there may exist two edges e, f ∈ E ∩ ∆ J 1 such that e ∈ E ∩ ∆ J 2 and f ∈ E ∩ ∆ J 2 . Lemma 8. Let two non-crossing Jordan curves J 1 , J 2 be formed by two parallel separators S 1 , S 2 of a 2-connected plane graph G. If J 1 and J 2 touch, and there exists a Jordan curve J 3 ⊆ J 1 + J 2 such that there are vertices of G on both sides of J 3 , then the vertices of J 3 form another separator S 3 that is parallel to S 1 and S 2 . If J 1 + J 2 forms exactly one Jordan curve J 3 then we say J 1 touches J 2 nicely. Note that if J 1 and J 2 only touch in one vertex, the vertices of J 1 + J 2 may not form any Jordan curve. The following lemma gives a property of "nicely touching"that we need later on. Lemma 9. If in a 2-connected plane graph G, two non-crossing Jordan curves J 1 and J 2 touch nicely, then |V + J 1 ,J 2 | = |V (J 1 ) ∩ V (J 2 ) ∩ V (J 1 + J 2 )| ≤ 2.