Top/ApproximationAlgorithms

Top | Top | recent changes | Preferences

Many decision problems have closely related optimization versions. For example, VERTEX-COVER can be formulated as a decision problem, but it can also be formulated as: "Given a graph G, find a vertex cover of minimum size." Similarly, CLIQUE, MAX-CUT, DOMINATING-SET can be formulated as optimization problems. Of course, the optimization versions of these problems are also hard, in the sense that if you had a polynomial-time algorithm for any one of them, you would be able to solve the decision problem in polynomial time too, and so P would equal NP.

However, in some cases the optimization problems may be approximately solved in polynomial time. For example, in polynomial time I can find a vertex cover whose size is at most 2 times the minimum possible. An algorithm that does this is called a 2-approximation algorithm.

Another example: in poly-time I can find a cut whose size is at least 1/2 times the maximum possible.

It is also possible to prove hardness results for approximation problems. For example, unless P=NP, it is known that there is no 1.0001-approximation algorithm for vertex cover.

Most natural hard optimization problems seem to fall into one of these classes:

Those having polynomial time approximation schemes (PTAS). That is, for any constant c>1, there is a polynomial-time c-approximation algorithm. Of course the running time grows as c nears 1.

Those having c-approximation algorithms for some constant c > 1 (but no PTAS).

Those having, e.g., log(n)-approximation algorithms. For example, DOMINATING-SET and SET-COVER.

Those not having any good approximation algorithm. For example, CLIQUE has no sqrt(n)-approximation algorithm unless P=NP.

For more information, see the following:

http://www.nada.kth.se/theory/problemlist.html --- a catalog of approximability results for NP optimization problems.
http://www.cs.ucr.edu/~neal/teaching --- UCR graduate seminars on approximation algorithms
http://www.cs.ucr.edu/~neal/publications?paper=Klein99Approximation --- chapter - introduction to approximation algorithms for NP optimization problems.

Top | Top | recent changes | Preferences
This page is read-only | View other revisions
Last edited January 15, 2012 1:17 pm by bass.cs.ucr.edu (diff)
Search: