Basic Techniques of Approximation Algorithms
Basic Techniques of Approximation Algorithms
1. Greedy Algorithms
Description:
Build the solution step-by-step by making the locally optimal choice at each step.
Greedy choices aim to maximize or minimize a certain criterion in each iteration.
For a graph G=(V,E)G = (V, E)G=(V,E), repeatedly pick an edge and add both its
endpoints to the vertex cover until all edges are covered.
Approximation Ratio: 222.
2. Local Search
Description:
Start with a feasible solution and iteratively improve it by making local changes (e.g.,
swapping or replacing elements).
The process stops when no further improvements are possible.
Place kkk centers to minimize the maximum distance between any point and its
nearest center.
Iteratively adjust center locations to reduce the maximum distance.
3. Rounding
Description:
4. Primal-Dual Method
Description:
Simultaneously construct a primal feasible solution (for the original problem) and a
dual feasible solution (for its dual).
Use the relationship between the primal and dual solutions to bound the
approximation ratio.
Description:
Description:
Divide the problem into smaller subproblems, solve each approximately, and combine
the solutions.
Divide the points into regions, solve locally using a heuristic, and combine the paths.
7. Randomized Algorithms
Description:
Assign nodes to two sets randomly and adjust iteratively to maximize the number of
edges crossing the cut.
Approximation Ratio: 0.8780.8780.878 (using semidefinite programming).
Description:
Reduce TSP to the Minimum Spanning Tree (MST) problem and construct an
approximate solution using the MST.
9. Dual Fitting
Description:
Solve the dual of the relaxed problem and use it to guide the construction of a feasible
primal solution.
The approximation ratio is derived from the relationship between the primal and dual
solutions.
Description:
Start with a coarse solution and iteratively refine it to improve the objective value.
Example: Scheduling Problems
Start with a naive assignment of jobs and iteratively balance loads between machines.
Summary
Approximation
Technique Key Idea Example
Ratio
Greedy Make locally optimal choices. Vertex Cover 2
Improve iteratively via local k-Center
Local Search 2
changes. Problem
Relax constraints and round O(logn)O(\log
Rounding Set Cover
fractional solutions. n)O(logn)
Primal-Dual Use primal and dual Facility
1.61
Method relationships to bound solutions. Location
Dynamic Simplify DP to run in limited Knapsack
1−ϵ1 - \epsilon1−ϵ
Programming resources. Problem
Divide and Solve subproblems and combine
Euclidean TSP 2
Conquer solutions.
Randomized Use randomness to make
MAX-CUT 0.878
Algorithms decisions.
Reduction Reduce to simpler problems. Metric TSP 2
Fit primal solutions using the O(logn)O(\log
Dual Fitting Set Cover
dual. n)O(logn)
Iterative Start coarse and refine Scheduling Depends on the
Refinement iteratively. Problems problem
These techniques provide the foundation for designing efficient approximation algorithms
tailored to specific NP-hard problems.