Approximation Algorithms Flashcards

1
Q

What is an approximation algorithm?

A

An algorithm that finds near-optimal solutions to problems in polynomial time, with a guarantee on how close the solution is to the optimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the four general techniques for designing approximation algorithms?

A
  1. Greedy algorithms, 2. Pricing methods, 3. Linear programming and rounding, 4. Dynamic programming on rounded inputs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the primary goal of an approximation algorithm?

A

To provide solutions close to optimal for problems where finding an exact solution is computationally infeasible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why are approximation guarantees important in these algorithms?

A

They ensure that the solution is provably close to the optimal, even though the exact solution is hard to compute.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the Load Balancing Problem?

A

Assigning jobs to machines to minimize the maximum load (makespan) across all machines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the greedy algorithm for the Load Balancing Problem.

A

Assign each job to the machine with the smallest current load.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the approximation ratio for the basic greedy load balancing algorithm?

A

The makespan is at most 2 times the optimal makespan (T ≤ 2T*).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can the greedy load balancing algorithm be improved?

A

By sorting jobs in decreasing order of processing times before assignment, reducing the approximation factor to 1.5.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the Center Selection Problem?

A

Selecting k centers from a set of sites to minimize the maximum distance (covering radius) between a site and its nearest center.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What guarantees does the greedy algorithm provide for the Center Selection Problem?

A

It finds a solution with a covering radius at most twice the optimal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the key flaw in a naive greedy approach for Center Selection?

A

It may select suboptimal centers and produce arbitrarily bad solutions due to shortsighted decisions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the Set Cover Problem?

A

Finding the smallest collection of subsets that cover a universal set of elements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe the greedy approach to solving the Set Cover Problem.

A

Iteratively select the subset with the lowest cost per uncovered element until all elements are covered.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the approximation factor for the greedy Set Cover algorithm?

A

H(d), where d is the size of the largest subset (H(d) is the d-th harmonic number).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why is the greedy Set Cover algorithm not optimal?

A

The approximation guarantee is logarithmic in the number of elements, which can be large.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the Vertex Cover Problem?

A

Finding the smallest subset of vertices in a graph such that every edge has at least one endpoint in the subset.

17
Q

How can the Vertex Cover Problem be reduced to Set Cover?

A

Each vertex represents a set of edges it covers; finding a minimum vertex cover is equivalent to finding a minimum set cover.

18
Q

What is the approximation ratio of the pricing method for Vertex Cover?

A

The algorithm guarantees a solution within 2 times the optimal weight.

19
Q

What is the Disjoint Paths Problem?

A

Finding the maximum number of edge-disjoint paths connecting designated source-sink pairs in a graph.

20
Q

What is the approximation guarantee for the greedy algorithm for the Disjoint Paths Problem?

A

An O(√m)-approximation, where m is the number of edges.

21
Q

How does increasing edge capacity (c > 1) affect Disjoint Paths approximations?

A

With c = 2 and β = m^(1/3), the approximation improves to O(m^(1/3)).

22
Q

What is Linear Programming (LP)?

A

An optimization technique where a linear objective function is maximized or minimized subject to linear equality or inequality constraints.

23
Q

How is Vertex Cover formulated as an integer program (IP)?

A

Minimize the sum of vertex weights subject to constraints ensuring each edge has at least one endpoint in the vertex cover.

24
Q

Why is Integer Programming (IP) hard for Vertex Cover?

A

Adding the constraint that variables are integers makes the problem NP-complete.

25
Q

What is the key difference between LP and IP?

A

LP allows real-valued solutions, whereas IP restricts solutions to integers.

26
Q

What is the advantage of using LP relaxation for Vertex Cover?

A

It provides a lower bound on the optimal solution and a framework to find an approximate solution.

27
Q

How is rounding used to approximate Vertex Cover using LP?

A

Nodes with fractional values ≥ 0.5 in the LP solution are included in the vertex cover.

28
Q

What is the approximation ratio for the LP-based rounding algorithm for Vertex Cover?

A

2, as it guarantees a solution at most twice the optimal weight.

29
Q

Why is LP rounding a powerful technique?

A

It bridges the gap between real-valued solutions and integer constraints, providing efficient approximations for NP-hard problems.

30
Q

What is the significance of H(d) in Set Cover approximations?

A

H(d) represents the harmonic number used in the approximation factor, reflecting the difficulty of covering large sets.

31
Q

Explain how binary search is used in the Center Selection Problem.

A

Binary search guesses the optimal radius, refining the guess until it finds a radius close to the actual optimal.

32
Q

Why is knowing the optimal radius useful in the Center Selection Problem?

A

It helps identify whether a given set of k centers can achieve the desired covering radius.

33
Q

Why is the pricing method effective for Vertex Cover?

A

It ensures fairness by assigning costs to edges that approximately cover the weights of vertices.