prev

next

out of 34

Published on

15-Jun-2016View

214Download

1

Embed Size (px)

Transcript

<ul><li><p> .JOURNAL OF ALGORITHMS 27, 269]302 1998ARTICLE NO. AL970920</p><p>A Better Approximation Algorithm for FindingPlanar Subgraphs</p><p>Gruia CalinescuU</p><p>College of Computing, Georgia Institute of Technology, Atlanta, Georgia 30332-0280</p><p>Cristina G. Fernandes</p><p>College of Computing, Georgia Institute of Technology, Atlanta, Georgia 30332-0280</p><p>Ulrich Finkler </p><p>Max-Planck-Institut fur Informatik, D-66123 Saarbrucken, Germany </p><p>and</p><p>Howard KarloffU</p><p>College of Computing, Georgia Institute of Technology, Atlanta, Georgia 30332-0280</p><p>Received March 28, 1996; revised June 2, 1997</p><p>The MAXIMUM PLANAR SUBGRAPH problem}given a graph G, find alargest planar subgraph of G}has applications in circuit layout, facility layout, andgraph drawing. No previous polynomial-time approximation algorithm for thisNP-Complete problem was known to achieve a performance ratio larger than 1r3,which is achieved simply by producing a spanning tree of G. We present the firstapproximation algorithm for MAXIMUM PLANAR SUBGRAPH with higher</p><p> .performance ratio 4r9 instead of 1r3 . We also apply our algorithm to find largeouterplanar subgraphs. Last, we show that both MAXIMUM PLANAR SUB-GRAPH and its complement, the problem of removing as few edges as possible toleave a planar subgraph, are Max SNP-Hard. Q 1998 Academic Press</p><p>* Research supported in part by NSF Grant CCR-9319106. .Research supported in part by the CNPq Brazil , under contract 200975r92-7. Research supported in part by the Graduiertenkolleg Effizienz und Komplexitat von</p><p>Algorithmen und Rechenanlagen, Universitat Saarbrucken. </p><p>269</p><p>0196-6774r98 $25.00Copyright Q 1998 by Academic Press</p><p>All rights of reproduction in any form reserved.</p></li><li><p>CALINESCU ET AL.270</p><p>1. INTRODUCTION</p><p>MAXIMUM PLANAR SUBGRAPH is the following problem: given agraph G, find a planar subgraph of G with the maximum number of edges.This problem has applications in circuit layout, facility layout, and graph</p><p>w xdrawing F92, TDB88 .MAXIMUM PLANAR SUBGRAPH is known to be NP-complete</p><p>w x .LG77 . For a graph G, let us define Opt G to be the maximum size of aplanar subgraph of G, where size is the number of edges. Given analgorithm A that takes graphs G as input and outputs subgraphs of G,</p><p> .define A G to be the size of the planar graph A produces when G is the .input. Now let us define A's performance or approximation ratio r A to be</p><p> . . .the infimum, over all graphs G, of A G rOpt G if Opt G ) 0, and 1.otherwise . In the literature, authors sometimes ensure that their perfor-</p><p>mance ratio is at least 1 by defining it to be the reciprocal of ours.Numerous approximation algorithms for MAXIMUM PLANAR SUB-</p><p>GRAPH appear in the literature, the simplest ones being Spanning Tree .output any spanning tree of G, assuming G is connected and Maximal</p><p>Planar Subgraph output any planar subgraph to which the addition of any.new edge would violate planarity . Spanning Tree is known to have</p><p> . w xperformance ratio 1r3 see below . Dyer, Foulds, and Frieze DFF85proved that Maximal Planar Subgraph has performance ratio 1r3.</p><p>w xCimikowski Cim95 proved that a path-embedding heuristic of Chiba,w xNishioka, and Shirakawa CNS79 and an edge-embedding heuristic of Cai,</p><p>w xHan, and Tarjan CHT93 have performance ratios not exceeding 1r3. Inthe same paper, Cimikowski studied two other polynomial-time heuristics:the ``vertex-addition heuristic'' and the ``cycle-packing heuristic.'' Theperformance ratio of the former, to the authors' knowledge, is not known,whereas for the cycle-packing algorithm, it is 0. Dyer, Foulds, and Friezew xDFF85 studied two other algorithms and proved that each has perfor-</p><p>w xmance ratio at most 2r9. Also see JM93 .In short, to the authors' knowledge, no previously proposed algorithm</p><p>was known to have a performance ratio exceeding 1r3. What makes theproblem more tantalizing is that achieving a performance ratio of 1r3 istrivial. In fact, Spanning Tree has performance ratio 1r3, since everyspanning tree of a connected graph on n vertices has n y 1 edges and</p><p> .every planar graph on n vertices has at most 3n y 3 s 3 n y 1 edgesand there are planar graphs on n vertices with 3n y 6 edges, for all</p><p>.n G 3 . No previous algorithm could beat the bound achieved by a trivialalgorithm.</p><p>In this paper, we present two new approximation algorithms for MAXI-MUM PLANAR SUBGRAPH. Each achieves a performance ratio exceed-ing 1r3. The higher performance ratio is 4r9 s 0.444 . . . and is achieved</p></li><li><p>FINDING PLANAR SUBGRAPHS 271</p><p> .by an algorithm which surprisingly invokes an algorithm for the graphic 3r2matroid parity problem as a subroutine and which runs in time O m n</p><p>6 .log n , where m is the number of edges in G and n is the number ofvertices in G. A greedy variant still has performance ratio 7r18 s0.3888 . . . and runs in linear time on graphs of bounded degree.</p><p>Next, we provide an extension of the main algorithm. We provide anontrivial approximation algorithm for MAXIMUM OUTERPLANARSUBGRAPH, which is this problem: given G, find an outerplanar sub-</p><p>graph of G of maximum size. An outerplanar graph is a graph which canbe drawn in the plane without crossing edges, with all vertices on the</p><p>w x .boundary of the exterior face H72 . This new algorithm has performanceratio at least 2r3, which surpasses the bound of 1r2 which is triviallyobtained by producing a spanning tree.</p><p>Last, we show that MAXIMUM PLANAR SUBGRAPH is Max SNP-Hard, implying that there is a constant e ) 0 such that the existence of apolynomial-time approximation algorithm with performance ratio at least</p><p>w x1 y e would imply that P s NP ALMSS92 . In addition, we show that thecomplementary problem, called NONPLANAR DELETION or NPD}</p><p> . .given G s V, E , produce a smallest subset L : E such that V, E y Lis planar}is also Max SNP-Hard.</p><p>2. THE APPROXIMATION ALGORITHMS</p><p>In this section we present the two new algorithms for MAXIMUMPLANAR SUBGRAPH.</p><p>Let us give some motivation for our algorithm. As we said, given a .connected graph G, an algorithm which outputs a spanning tree of Gachieves a performance ratio of 1r3. A graph whose cycles all have length3, that is, are triangles, is planar, as it cannot contain a subdivision of K5or K . Moreover, note that a connected spanning subgraph of G whose3, 3cycles are triangles, besides being planar, has one more edge per trianglethan a spanning tree of G has.</p><p>Our better algorithm produces a subgraph of G whose cycles aretriangles, and, among these subgraphs, has the maximum number of edges.</p><p> 3r2 6 .It can be implemented in time O m n log n , where m is the number ofedges in G and n is the number of vertices in G, using a graphic matroidparity algorithm, as we will see later. We first present a greedy version ofthe algorithm.</p><p>2.1. A Greedy Version of the Algorithm</p><p>Algorithm A, presented below, is a greedy version of our algorithm. Ithas a performance ratio of 7r18 s 0.3888 . . . . After presenting the algo-</p></li><li><p>CALINESCU ET AL.272</p><p>rithm and proving its performance ratio is 7r18, we will show it can beimplemented in linear time for graphs with bounded degree. We beginwith some definitions.</p><p> .A triangular cactus is a graph whose cycles if any are triangles and suchthat all edges appear in some cycle. A triangular cactus in a graph G is asubgraph of G which is a triangular cactus.</p><p> .A triangular structure is a graph whose cycles if any are triangles. Atriangular structure in a graph G is a subgraph of G which is a triangularstructure. Note that every triangular cactus is a triangular structure, butnot vice versa.</p><p>Algorithm A produces a triangular structure in the given graph G. Thealgorithm consists of two phases. First, A greedily constructs a maximaltriangular cactus S in G. Second, A extends S to a triangular structure1 1S in G by adding as many edges as possible to S without forming any2 1new cycles.</p><p> . X w X xGiven a graph G s V, E and E : E, we denote by G E the span-X X. ning subgraph of G induced by E , that is, the graph V, E . Note that</p><p>this is not the usual definition of a subgraph induced by an edge set, since.we require the subgraph to be spanning.</p><p> .ALGORITHM A. Starting with E s B, repeatedly as long as possible1w xfind a triangle T whose vertices are in different components of G E , and1</p><p>add the edges of T to E .1w xLet S [ G E .1 1</p><p> .Starting with E s E , repeatedly as long as possible find an edge e in G2 1w xwhose endpoints are in different components of G E , and add e to E .2 2</p><p>w xLet S [ G E .2 2Output S .2</p><p>Note that S is indeed a triangular structure in G. As we mentioned2before, S is planar since it does not contain cycles of length greater than23.</p><p>THEOREM 2.1. The performance ratio of Algorithm A is 7r18.</p><p>Proof. First, let us show that the performance ratio is at least 7r18.Without loss of generality, we may assume G is connected, and has at leastthree vertices. Observe that the number of edges in S is the number of2edges in a spanning tree of G plus the number of triangles in S . So it1suffices to count the number of triangles in S .1</p><p>Let H be a plane embedding of a maximum planar spanning subgraphof G. Let n G 3 be the number of vertices in G, and let t G 0 be such that3n y 6 y t is the number of edges in H. We can think of t as the numberof edges missing for H to be a triangulated plane graph. The number of</p><p>triangular faces in H is at least 2n y 4 y 2 t. This is a lower bound on the</p></li><li><p>FINDING PLANAR SUBGRAPHS 273</p><p>number of triangular faces of H since if H were triangulated, it wouldhave 2n y 4 triangular faces, and each missing edge can destroy at most</p><p>.two of these triangular faces.Let k be the number of components of S each with at least one1</p><p>triangle, and let p , p , . . . , p be the number of triangles in each of these1 2 kcomponents. Let p s k p . We will prove that p, the number ofis1 itriangles in S , is at least a constant fraction of n y 2 y t. Note that if a1triangle cannot be added to S , it is because two of its vertices are in the1same component of S . Hence one of its edges has its two endpoints in the1same component of S . This means that at the end of the first phase, every1triangle in G must have some two vertices in the same component of S . In1particular, every triangular face in H must have some two vertices in thesame component of S , and therefore one of its three edges must be in the1subgraph of H induced by the vertices in a component of S . Thus we can1associate with each triangular face F in H an edge e in F whoseendpoints are in the same component of S . But any edge e in H lies in at1most two triangular faces of H, so e could have been chosen by at mosttwo triangular faces of H. It follows that the number of triangular faces inH is at most twice the number of edges in H whose endpoints are in thesame component of S .1</p><p>Let H X be the subgraph of H induced by the edges of H whoseendpoints are in the same component of S . Note that p G 1, for all i, and1 ithat the number of vertices in the ith component of S is 2 p q 1 G 3.1 i</p><p>X X k . .Since H is planar, H has at most 3 2 p q 1 y 6 s 6 p y 3kis1 iedges. By the observation at the end of the previous paragraph, 2 6 p y</p><p>. < X. < .3k G 2 E H G number of triangular faces in H G 2n y 4 y 2 t. Fromthis, we have</p><p>n y 2 y t q 3k n y 2 y tp G G .</p><p>6 6</p><p> .Therefore the number of triangles in S is at least n y 2 y t r6, and the1ratio between the number of edges in S and the number of edges in H is2at least</p><p>n y 1 q n y 2 y t r6 7n y 8 y t 7 .s G ,</p><p>3n y 6 y t 18n y 36 y 6 t 18</p><p>since t G 0. This completes the proof that the performance ratio ofAlgorithm A is at least 7r18.</p><p>Now, we will prove that the performance ratio is at most 7r18. Let S beany connected triangular cactus with p ) 0 triangles. S has 2 p q 1 G 3vertices. Let SX be any triangulated plane supergraph of S on the same set</p><p> Xof vertices S can be obtained from S by adding edges to S until it</p></li><li><p>CALINESCU ET AL.274</p><p>. X X .becomes triangulated . Since S is triangulated, S has 2 2 p q 1 y 4 s . X4 p y 2 triangular faces. For each face of S , add a new vertex in the face</p><p>and adjacent to all vertices on the boundary of that face. Let G be the new .graph. Observe that G is a triangulated plane graph and has 2 p q 1 q</p><p> . .4 p y 2 s 6 p y 1 vertices. This means that G has 3 6 p y 1 y 6 s 18 py 9 edges. With G as input for Algorithm A, in the first phase it canproduce S s S, and S can be S plus one edge for each of the new1 2</p><p> .vertices the vertices in G not in S . The number of edges in S is 3 p. .Hence S can have 3 p q 4 p y 2 s 7p y 2 edges, while G has 18 p y 92</p><p>edges. Thus the ratio between the number of edges in S and the number2of edges in G is</p><p>7p y 2.</p><p>18 p y 9</p><p>By choosing p as large as we wish, we get a ratio as close to 7r18 as wewant.</p><p>2.1.1. Linear Time for Bounded-Degree Graphs</p><p>In case G has bounded degree d, we can implement Algorithm A inlinear time. First, we describe the implementation of the first phase. Atany time, the vertices of the graph are partitioned into three sets: new,active, and used. At the beginning, all the vertices are new and E s B.1The following process is repeated indefinitely. Test if there are any newvertices. If there are none, halt. Test if there are any active vertices. Ifthere are none, choose a new vertex and make it active. Choose an activevertex x and ``use'' it: that is, while there exist two new vertices y and zadjacent to x and to each other, choose such a pair, add the edges of thetriangle xyz to E and make y and z active. When there are no two new1vertices adjacent to x and adjacent to each other, mark x used.</p><p> 2 .We will show in detail how ``using'' one vertex takes time O d . All theother operations}keeping lists of new and active vertices, initializing anarray with the status of each vertex, initializing an auxiliary array, and</p><p> .maintaining the list of edges in E }can easily be implemented in O n1 2 .time. This means the running time of this implementation is O nd .</p><p>Before and after ``using'' a vertex x, the auxiliary array has a 0 for eachvertex. Going through the adjacency list of x, we change to 1 the entry ofthe auxiliary array for each new vertex encountered. Then, going againthrough the adjacency list of x, for each new vertex u encountered, gothrough the adjacency list of u, checking if some neighbor of u is marked</p><p> .1 in the auxiliary array. This takes time O d for each neighbor of x, for a 2 .total of O d time. In this way we find, one after the other, all triangles</p><p>formed by x and two new vertices. Each time such a triangle is found,</p></li><li><p>FINDING PLANAR SUBGRAPHS 275</p><p>mark as active the two new vertices in the triangle and place a 0 for eachin the auxiliary array. At the end of this process, go through the adjacentlist of x and change back to 0 all remaining entries which are 1 in theauxiliary array.</p><p>First, we note that E is a triangular cactus. Indeed, at any time when1we add a triangle to E , two of the vertices of the triangle are of type new,1</p><p>w xand since a new vertex is always an isolated vertex in G E , adding the1w xthree edges of the triangle keeps G E a triangular cactus.1</p><p>To prove...</p></li></ul>