Book contents
- Frontmatter
- Contents
- Preface
- I An Introduction to the Techniques
- II Further Uses of the Techniques
- 9 Further Uses of Greedy and Local Search Algorithms
- 10 Further Uses of Rounding Data and Dynamic Programming
- 11 Further Uses of Deterministic Rounding of Linear Programs
- 12 Further Uses of Random Sampling and Randomized Rounding of Linear Programs
- 13 Further Uses of Randomized Rounding of Semidefinite Programs
- 14 Further Uses of the Primal-Dual Method
- 15 Further Uses of Cuts and Metrics
- 16 Techniques in Proving the Hardness of Approximation
- 17 Open Problems
- Appendix A Linear Programming
- Appendix B NP-Completeness
- Bibliography
- Author Index
- Subject Index
10 - Further Uses of Rounding Data and Dynamic Programming
from II - Further Uses of the Techniques
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- I An Introduction to the Techniques
- II Further Uses of the Techniques
- 9 Further Uses of Greedy and Local Search Algorithms
- 10 Further Uses of Rounding Data and Dynamic Programming
- 11 Further Uses of Deterministic Rounding of Linear Programs
- 12 Further Uses of Random Sampling and Randomized Rounding of Linear Programs
- 13 Further Uses of Randomized Rounding of Semidefinite Programs
- 14 Further Uses of the Primal-Dual Method
- 15 Further Uses of Cuts and Metrics
- 16 Techniques in Proving the Hardness of Approximation
- 17 Open Problems
- Appendix A Linear Programming
- Appendix B NP-Completeness
- Bibliography
- Author Index
- Subject Index
Summary
In this chapter, we return to the technique of applying dynamic programming via rounding data. We look at two, more technically difficult, applications of this technique to find polynomial-time approximation schemes for two different problems.
First, we consider the traveling salesman problem, introduced in Section 2.4, for instances in which the cities are points in the Euclidean plane and the cost of traveling between two cities is the Euclidean distance between the corresponding points. In this case the dynamic program works by recursively dividing the plane into squares. Starting with the smallest squares, we compute the least-cost set of paths for visiting all the cities in the squares, then use these to compute solutions for larger squares. We can show that the optimal tour can be modified at low cost such that it doesn't enter and exit any square too many times; this “rounding” of the optimal tour makes it possible to solve the dynamic program in polynomial time. This technique turns out to be widely applicable to problems in the Euclidean plane, including the Steiner tree problem and the k-median problem for Euclidean instances.
Second, we consider the maximum independent set problem in planar graphs. We show that the maximum independent set problem is easy to solve on trees, and can be solved in graphs that are “treelike.” We can measure how close a graph is to being a tree via a parameter called its treewidth, and we give an algorithm to solve the maximum independent set problem in time that is polynomial in the number of vertices and exponential in the treewidth of the input graph.
- Type
- Chapter
- Information
- The Design of Approximation Algorithms , pp. 255 - 278Publisher: Cambridge University PressPrint publication year: 2011