Optimization problem: Difference between revisions

Content deleted Content added
m Typo fixing + Check Wikipedia fixes:(0) using AWB
Line 12:
For each optimization problem, there is a corresponding [[decision problem]] that asks whether there is a feasible solution for some particular measure <math>m_0</math>. For example, if there is a [[Graph (mathematics)|graph]] <math>G</math> which contains vertices <math>u</math> and <math>v</math>, an optimization problem might be "find a path from <math>u</math> to <math>v</math> that uses the fewest edges". This problem might have an answer of, say, 4. A corresponding decision problem would be "is there a path from <math>u</math> to <math>v</math> that uses 10 or fewer edges?" This problem can be answered with a simple 'yes' or 'no'.
 
In the field of [[approximation algorithms | approximation algorithms]], algorithms are designed to find near-optimal solutions to hard problems. The usual decision version is then an inadequate definition of the problem since it only specifies acceptable solutions. Even though we could introduce suitable decision problems, the problem is more naturally characterized as an optimization problem.<ref name=Ausiello03>{{citation
| last1 = Ausiello | first1 = G.
| last2 = et.al.
| year = 2003
| Editionedition = Corrected edition
| title = Complexity and Approximation
| publisher = Springer
Line 27:
| last1 = Hromkovic | first1 = Juraj
| year = 2002
| Editionedition = 2nd
| title = Algorithms for Hard Problems
| series = Texts in Theoretical Computer Science
Line 34:
}}</ref> Note that the below referred polynomials are functions of the size of the respective functions' inputs, not the size of some implicit set of input instances.
* the size of every feasible solution is polynomially bounded,
* the languages <math>I</math> and <math>f(x)</math> can be [[decidable language | recognized]] in [[polynomial time]], and
* ''m'' is [[polynomial time | polynomial-time computable]].
 
This implies that the corresponding decision problem is in [[NP (complexity)|NP]]. In computer science, interesting optimization problems usually have the above properties and are therefore NPO problems. A problem is additionally called a P-optimization (PO) problem, if there exists an algorithm which finds optimal solutions in polynomial time. Often, when dealing with the class NPO, one is interested in optimization problems for which the decision versions are NP-hard. Note that hardness relations are always with respect to some reduction. Due to the connection between approximation algorithms and computational optimization problems, reductions which preserve approximation in some respect are for this subject preferred than the usual [[Turing reduction | Turing]] and [[Karp reduction | Karp]] reductions. An example of such a reduction would be the [[L-reduction]]. For this reason, optimization problems with NP-complete decision versions are not necessarily called NPO-complete.<ref name=Kann92>{{citation
| last1 = Kann | first1 = Viggo
| year = 1992