• Aucun résultat trouvé

Approximation Algorithms for Hard Problems

Dans le document ALGORITHMS and THEORY of COMPUTATION HANDBOOK (Page 179-183)

Advanced Combinatorial Algorithms

7.9 Approximation Algorithms for Hard Problems

Many graph problems are known to be NP-complete (see Sections A.1 and A.2 of [10]). The area of approximation algorithms explores intractable (NP-hard) optimization problems and tries to obtain polynomial-time algorithms that generate feasible solutions that are close to optimal. In this section, a few fundamental NP-hard optimization problems in graphs that can be approximated well are discussed.

For more information about approximating these and other problems, see the chapter on approximation algorithms (Chapter 34) and a book on approximation algorithms edited by Hochbaum [16].

In the following discussionG=(V, E)is an arbitrary undirected graph andkis a positive integer.

Vertex cover:a set of verticesSVsuch that every edge inEis incident to at least one vertex ofS. The minimum vertex cover problem is that of computing a vertex cover of minimum cardinality. If the vertices ofGhave weights associated with them, a minimum-weight vertex cover is a vertex cover of minimum total weight. Using the primal-dual method of linear programming, one can obtain a 2-approximation.

Dominating set:a set of verticesSVsuch that every vertex in the graph is either inSor adjacent to some vertex inS. There are several versions of this problem such as the total dominating set (every vertex inGmust have a neighbor inS, irrespective of whether it is inSor not), the connected dominating set (induced graph ofSmust be connected) and the independent dominating set (induced graph ofSmust be empty). The minimum dominating set problem is to compute a minimum cardinality dominating set.

The problems can be generalized to the weighted case suitably. All but the independent dominating set problem can be approximated within a factor ofO(logn).

Steiner tree problem:a tree of minimum total weight that connects a set of terminal verticesSin a graph G=(V, E). There is a 2-approximation algorithm for the general problem. There are better algorithms when the graph is defined in Euclidean space. For more information, see [16, 17].

Minimumk-connected graph:a graphGisk-vertex-connected, or simplyk-connected,if the removal of up tok−1 vertices, along with their incident edges leaves the remaining graph connected. It isk -edge-connectedif the removal of up tok−1 edges does not disconnect the graph. In the minimumk-connected graph problem, we need to compute ak-connected spanning subgraph ofGof minimum cardinality.

The problem can be posed in the context of vertex or edge connectivities, and with edge weights. The edge-connectivity problems can be approximated within a factor of 2 from optimal, and a factor smaller than 2 when the edges do not have weights. The unweightedk-vertex-connected subgraph problem can be approximated within a factor of 1+2/k, and the corresponding weighted problem can be approximated within a factor ofO(logk). When the edges satisfy the triangle inequality, the vertex connectivity problem can be approximated within a factor of about 2+2/k. These problems find applications in fault-tolerant network-design. For more information on approximation algorithms for connectivity problems, see [16, Chapter 6].

Degree constrained spanning tree:a spanning tree of maximal degreek. This problem is a generalization of the traveling salesman path problem. There is a polynomial time approximation algorithm that returns a spanning tree of maximal degree at mostk+1 ifGhas a spanning tree of degreek.

Max-cut: a partition of the vertex set into(V1, V2)such that the number of edges inE(V1×V2) (edges between a vertex inV1and a vertex inV2) is maximized. It is easy to compute a partition in which at least half the edges of the graph cross the cut. This is a 2-approximation. Semi-definite programming techniques can be used to derive an approximation algorithm with a performance guarantee of about 1.15.

7.10 Research Issues and Summary

Some of the recent research efforts in graph algorithms have been in the areas of dynamic algorithms, graph layout and drawing, and approximation algorithms. Detailed references about these areas may be found in Chapter 8, Chapter 9, and Chapter 34, respectively. Many of the methods illustrated in our chapter find use in the solution of almost any optimization problem. For approximation algorithms see the edited book by Hochbaum [16], and more information in the area of graph layout and drawing can be found in an annotated bibliography by Di Battista et al. [4].

A recent exciting result of Karger’s [19] is a randomized near-linear time algorithm for computing minimum cuts. Finding a deterministic algorithm with similar bounds is a major open problem.

Computing a maximum flow inO(|E||V|)time in general graphs is still open. Several recent algorithms achieve these bounds for certain graph densities. A recent result by Goldberg and Rao [14] breaks this barrier, by paying an extra logUfactor in the running time, when the edge capacities are in the range [1. . . U]. Finding a maximum matching in time better thanO(|E|

|V|)or obtaining non trivial lower bounds are open problems.

7.11 Defining Terms

Assignment problem: The problem of finding a matching of maximum (or minimum) weight in an edge-weighted graph.

Augmenting path: A path used to augment (increase) the size of a matching or a flow.

Blocking flow: A flow function in which any directed path fromstotcontains a saturated edge.

Blossoms: Odd length cycles that appear during the course of the matching algorithm on general graphs.

Branching: A spanning tree in a rooted graph, such that each vertex has a path to the root (also known as in-branching). An out-branching is a rooted spanning tree in which the root has a path to every vertex in the graph.

Capacity: The maximum amount of flow that is allowed to be sent through an edge or a vertex.

Chromatic index: The minimum number of colors with which the edges of a graph can be colored.

Chromatic number: The minimum number of colors needed to color the vertices of a graph.

Concurrent flow: A multi-commodity flow in which the same fraction of the demand of each commodity is satisfied.

Edge coloring: An assignment of colors to the edges of a graph such that no two edges incident to a common vertex receive the same color.

Integer multi-commodity flow: A multi-commodity flow in which the flow through each edge of each commodity is an integral value. The term is also used to capture the multi-commodity flow problem in which each demand is routed along a single path.

Matching: A subgraph in which every vertex has degree at most one.

Maximum flow: The maximum amount of feasible flow that can be sent from a source vertex to a sink vertex in a given network.

Multi-commodity flow: A network flow problem involving multiple commodities, in which each commodity has an associated demand and source-sink pairs.

Network flow: An assignment of flow values to the edges of a graph that satisfies flow conservation, skew symmetry and capacity constraints.

s-tcut: A partitioning of the vertex set intoSandT such thatsSandtT.

Vertex coloring: An assignment of colors to the vertices of a graph such that no two adjacent vertices receive the same color.

Acknowledgments

Samir Khuller’s research was supported by NSF Research Initiation Award CCR-9307462 and NSF CAREER Award CCR-9501355. Balaji Raghavachari’s research was supported by NSF Research Initiation Award CCR-9409625.

References

[1] Ahuja, R.K., Magnanti, T.L., and Orlin, J.B.,Network Flows.Prentice Hall, 1993.

[2] Awerbuch, B. and Leighton, T., A simple local-control approximation algorithm for multicom-modity flow. InProceedings of the 34th Annual Symposium on Foundations of Computer Science, 459–468, Palo Alto, CA, 3–5, Nov. 1993.

[3] Awerbuch, B. and Leighton, T., Improved approximation algorithms for the multi-commodity flow problem and local competitive routing in dynamic networks. InProceedings of the Twenty-Sixth Annual ACM Symposium on Theory of Computing,487–496, Montréal, Québec, Canada, 23–25, May 1994.

[4] Battista, G.Di, Eades, P., Tamassia, R., and Tollis, I.G., Annotated bibliography on graph drawing algorithms.Computational Geometry: Theory and Applications,4, 235–282, 1994.

[5] Cormen, T.H., Leiserson, C.E., and Rivest, R.L.,Introduction to algorithms.MIT Press, Cam-bridge, MA, 1989.

[6] Edmonds, J. and Karp, R.M., Theoretical improvements in algorithmic efficiency for network flow problems.J. Assoc. Comput. Mach.,19, 248–264, 1972.

[7] Even, S.,Graph Algorithms.Computer Science Press, Rockville, MD, 1979.

[8] Ford, L.R. and Fulkerson, D.R.,Flows in Networks.Princeton University Press, Princeton, NJ, 1962.

[9] Gabow, H.N., Galil, Z., Spencer, T., and Tarjan, R.E., Efficient algorithms for finding minimum spanning trees in undirected and directed graphs.Combinatorica,6, 109–122, 1986.

[10] Garey, M.R. and Johnson, D.S.,Computers and Intractability: a Guide to the Theory of NP-Completeness.Freeman, San Francisco, CA, 1979.

[11] Gibbons, A.M.,Algorithmic Graph Theory.Cambridge University Press, New York, 1985.

[12] Goldberg, A.V. and Tarjan, R.E., Finding minimum-cost circulations by canceling negative cycles.J. Assoc. Comput. Mach.,36(4), 873–886, Oct. 1989.

[13] Goldberg, A.V., Tardos, É., and Tarjan, R.E., Network flow algorithms. InAlgorithms and Combinatorics Volume 9: Flows, Paths and VLSI Layout,B. Korte, L. Lovász, H.J. Prömel, and A. Schrijver, Eds., 101–164, Springer-Verlag, 1990.

[14] Goldberg, A. and Rao, S., Beyond the flow decomposition barrier. InProceedings of the 38th Annual Symposium on Foundations of Computer Science,2–11, Miami Beach, FL, 20–22, Oct.

1997.

[15] Hao, J. and Orlin, J.B., A faster algorithm for finding the minimum cut in a directed graph.

Journal of Algorithms,17(3), 424–446, Nov. 1994.

[16] Hochbaum, D.S., Ed. Approximation Algorithms for NP-Hard Problems. PWSPublishing, Boston, MA, 1996.

[17] Hwang, F., Richards, D.S., and Winter, P.,The Steiner Tree Problem.North-Holland, 1992.

[18] Karger, D.R., Motwani, R., and Sudan, M., Approximate graph coloring by semidefinite pro-gramming. InProceedings of the 35th Annual Symposium on Foundations of Computer Science, 2–13, Santa Fe, NM, 20–22, Nov. 1994.

[19] Karger, D.R., Minimum cuts in near-linear time. InProceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing,56–63, Philadelphia, PA, 22–24, May 1996.

[20] Karloff, H.,Linear Programming.Birkhäuser, Boston, MA, 1991.

[21] Kleinberg, J. M., Single-source unsplittable flow. InProceedings of the 37th Annual Symposium on Foundations of Computer Science,68–77, Burlington, VT, 14–16, Oct. 1996.

[22] Lawler, E.L.,Combinatorial Optimization: Networks and Matroids.Holt, Rinehart and Winston, New York, 1976.

[23] Lovász, L. and Plummer, M.D.,Matching Theory.Elsevier Science Publishers B.V., New York, 1986.

[24] Micali, S. and Vazirani, V.V., AnO(

|V| · |E|)algorithm for finding maximum matching in general graphs. InProceedings of the 21st Annual Symposium on Foundations of Computer Science,17–27, Syracuse, NY, 13–15, Oct. 1980.

[25] Nagamochi, H. and Ibaraki, T., Computing edge-connectivity in multi-graphs and capacitated graphs.SIAM J. Disc. Math.,5, 54–66, 1992.

[26] Papadimitriou, C.H. and Steiglitz, K.,Combinatorial Optimization: Algorithms and Complexity.

Prentice Hall, Englewood Cliffs, NJ, 1982.

[27] Stoer, M., and Wagner, F., A simple min-cut algorithm.J. Assoc. Comput. Mach.,44(4), 585–590, 1997.

[28] Tardos, É., A strongly polynomial minimum cost circulation algorithm.Combinatorica, 5, 247–255, 1985.

[29] Tarjan, R.E.,Data Structures and Network Algorithms.Society for Industrial and Applied Math-ematics, Philadelphia, PA, 1983.

Further Information

The area of graph algorithms continues to be a very active field of research. There are several journals and conferences that discuss advances in the field. Here we name a partial list of some of the important meetings:

“ACM Symposium on Theory of Computing (STOC),” “IEEE Conference on Foundations of Computer Science (FOCS),” “ACM-SIAM Symposium on Discrete Algorithms (SODA),” “International Colloquium on Automata, Languages and Programming (ICALP),” and the “European Symposium on Algorithms (ESA).” There are many other regional algorithms/theory conferences that carry research papers on graph algorithms. The journals that carry articles on current research in graph algorithms areJournal of the ACM, SIAM Journal on Computing, SIAM Journal on Discrete Mathematics, Journal of Algorithms, Algorithmica, Journal of Computer and System Sciences, Information and Computation, Information Processing Letters, andTheoretical Computer Science.

To find more details about some of the graph algorithms described in this chapter we refer the reader to the books by Cormen, Leiserson and Rivest [5], Even [7], Gibbons [11], and Tarjan [29]. Ahuja et al. [1]

have provided a comprehensive book on the network flow problem. The survey chapter by Goldberg et al. [13] provides an excellent survey of various min-cost flow and generalized flow algorithms. A detailed survey describing various approaches for solving the matching and flow problems can be found in Tarjan’s book [29]. Papadimitriou and Steiglitz [26] discuss the solution of many combinatorial optimization problems using a primal-dual framework.

8

Dans le document ALGORITHMS and THEORY of COMPUTATION HANDBOOK (Page 179-183)