Lecture 12 - Approximation Algorithms

Topics for today are on Approximation Algorithms
Refs: CLRS - Our text Book - Chapter 35.

Handouts: Two papers related to approximation algorithms.

  1. Deo, Krishnamoorthy and Langston, Exact and Approximate Solutios for the Gate Matrix Layout Problem, IEEE CAD-6, No.1, Jan 87,pp.79-84.
  2. Krishnamoorthy and Murthy, On the Total Dominating Set Problem, Congressus Numerantium, 1986, pp.265-278.
    The instructor started by talking about NP-complete problem. A good description of the problem is in million dollar prize problem p=np question. We continued on the various approaches for solving NP-complete problems. One can either restrict the input, or do an average case analysis, or perform heuristic experiments or provide approximation algorithm. We gave examples of each of these ideas.

    The definitions for polynomial time approximation algorithms, approximation schemes as well as fully polynomial time approximation schemes are given in CLRS - chapter 35. We went over those definitions.

    We started with vertex cover problem and showed how a greedy approximation algorithm gives a vertex cover which is at worst twice the optimal. Essential idea behind the algorithm is get maximal matching and the vertex cover is the set of end points of these maximal matching edges. We proved that is atmost twice the optimal. In class, we discussed implications of this problem - We worked out the exercises 35.1-1,35.1-2 and35.1-4.

    The instructor about the complexity of the absolute approximation for the vertex cover problem. (The book talks about relative approximation algorithms - (multiplicative) relative to the optimal.) Instead of multiplicative, if we conside additive, approximation algorithms become absolute approximation algorithms. However the absolute approximation algorithms may become simpler to analyze (and often less interesting to consider and less interesting applications).

    Absolute approximation algorithms are NP-complete for Vertex Cover Problem. We illustrate that we cannot give a polynomil time algorithm that gives within 2 from the optimal solution. (i.e., if the optimal vertex cover problem is k, the absolute approximation case yields a solution of atmost k+2). So if we are given a G for the vertex cover problem, we construct G' for the absolute approximation probelm case. From the solution of the absoulte approximation, we can extract the optimal vertex cover solution.
    Construct three copies of the original graph (G). Call it G'. The optimal solution (vertex cover problem) is 3k. So, if an approximate solution will give an answer of atmost 3k+2. Once we know 3k+2, we know k by dividing the approximate solution by 3 and taking the integer part.

    We talked about the TSP probelm. We gave a 2 -approximation solution for the cases when the distances satisfy triangle inequality. The idea behind this is to take a MST and do an Eulerian traversal to get a TSP solution. Because the distanes satisfy triangle inequality, we get the TSP solution which is atmost twice the optimal solution. CLRS Chapter 35.2 discusses this.

    Next we talked about set cover problem (35.3). We discussed the greedy set cover algorithm and discussed some examples. Brian showed an example where in Greedy Set cover is always worse than the optimal solution. We will discuss its analysis in the next class.