Approximation Algorithms Flashcards
What is an approximation algorithm?
An algorithm that finds near-optimal solutions to problems in polynomial time, with a guarantee on how close the solution is to the optimal.
What are the four general techniques for designing approximation algorithms?
- Greedy algorithms, 2. Pricing methods, 3. Linear programming and rounding, 4. Dynamic programming on rounded inputs.
What is the primary goal of an approximation algorithm?
To provide solutions close to optimal for problems where finding an exact solution is computationally infeasible.
Why are approximation guarantees important in these algorithms?
They ensure that the solution is provably close to the optimal, even though the exact solution is hard to compute.
What is the Load Balancing Problem?
Assigning jobs to machines to minimize the maximum load (makespan) across all machines.
Describe the greedy algorithm for the Load Balancing Problem.
Assign each job to the machine with the smallest current load.
What is the approximation ratio for the basic greedy load balancing algorithm?
The makespan is at most 2 times the optimal makespan (T ≤ 2T*).
How can the greedy load balancing algorithm be improved?
By sorting jobs in decreasing order of processing times before assignment, reducing the approximation factor to 1.5.
What is the Center Selection Problem?
Selecting k centers from a set of sites to minimize the maximum distance (covering radius) between a site and its nearest center.
What guarantees does the greedy algorithm provide for the Center Selection Problem?
It finds a solution with a covering radius at most twice the optimal.
What is the key flaw in a naive greedy approach for Center Selection?
It may select suboptimal centers and produce arbitrarily bad solutions due to shortsighted decisions.
What is the Set Cover Problem?
Finding the smallest collection of subsets that cover a universal set of elements.
Describe the greedy approach to solving the Set Cover Problem.
Iteratively select the subset with the lowest cost per uncovered element until all elements are covered.
What is the approximation factor for the greedy Set Cover algorithm?
H(d), where d is the size of the largest subset (H(d) is the d-th harmonic number).
Why is the greedy Set Cover algorithm not optimal?
The approximation guarantee is logarithmic in the number of elements, which can be large.