|
|
Line 1: |
Line 1: |
| In [[computational complexity theory]], a '''function problem''' is a [[computational problem]] where a single output (of a [[total function]]) is expected for every input, but the output is more complex than that of a [[decision problem]], that is, it isn't just YES or NO. Notable examples include the [[travelling salesman problem]], which asks for the route taken by the salesman, and the [[integer factorization problem]], which asks for the list of factors.
| | Greetings. The author's name is Dalton nonetheless , it's not the almost all masucline name out there. To drive is one of the things he loves most. His wife and him chose to reside in South Carolina with his family loves keep in mind this. Auditing is even his primary income proceeds from. He 's running and maintaining a blog here: http://prometeu.net<br><br>My blog: clash of clans cheat - [http://prometeu.net enquiry] - |
| | |
| Function problems are more awkward to study than decision problems because they don't have an obvious analogue in terms of languages, and because the notion of reduction between problems is more subtle as you have to transform the output as well as the input. Function problems can be sorted into [[complexity class]]es in the same way as decision problems. For example [[FP (complexity)|FP]] is the set of function problems which can be solved by a [[deterministic Turing machine]] in [[polynomial time]], and [[FNP (complexity)|FNP]] is the set of function problems which can be solved by a [[non-deterministic Turing machine]] in [[polynomial time]].
| |
| | |
| For all function problems in which the solution is polynomially bounded, there is an analogous decision problem such that the function problem can be solved by [[polynomial-time Turing reduction]] to that decision problem. For example, the decision problem analogue to the travelling salesman problem is this:
| |
| | |
| :Given a weighted [[directed graph]] and an integer K, is there a [[Hamiltonian path]] (or [[Hamiltonian cycle]] if the salesman must return home) with total weight less than or equal to K?
| |
| | |
| Given a solution to this problem, we can solve the travelling salesman problem as follows. Let <math>n</math> be the number of edges and <math>w_i</math> be the weight of edge <math>i</math>. First rescale and perturb the weights of the edges by assigning to edge <math>i</math> the new weight <math>w'_i = 2^{(n+1)} w_i + 2^i</math>. This doesn't change the shortest Hamiltonian path, but makes sure that it is unique. Now add the weights of all edges to get a total weight <math>M</math>. Find the weight of the shortest Hamiltonian path by [[binary search]]: is there a Hamiltonian path with weight <math>< M/2</math>; is there a path with weight <math>< M/4</math> etc. Then having found the weight <math>W</math> of the shortest Hamilton path, determine which edges are in the path by asking for each edge <math>i</math> whether there is a Hamiltonian path with weight <math>W</math> for the graph modified so that edge <math>i</math> has weight <math>W+1</math> (if there is no such path in the modified graph, then edge <math>i</math> must be in the shortest path for the original graph).
| |
| | |
| This places the travelling salesman problem in the complexity class FP<sup>NP</sup> (the class of function problems which can be solved in polynomial time on a deterministic Turing machine with an [[oracle machine|oracle]] for a problem in NP), and in fact it is [[Complete_(complexity)|complete]] for that class.
| |
| | |
| ==References==
| |
| {{refbegin}}
| |
| * Raymond Greenlaw, H. James Hoover, ''Fundamentals of the theory of computation: principles and practice'', Morgan Kaufmann, 1998, ISBN 1-55860-474-X, p. 45-51
| |
| * Elaine Rich, ''Automata, computability and complexity: theory and applications'', Prentice Hall, 2008, ISBN 0-13-228806-0, section 28.10 "The problem classes FP and FNP", pp. 689-694
| |
| {{refend}}
| |
| | |
| ==See also==
| |
| *[[Decision problem]]
| |
| *[[Search problem]]
| |
| *[[Counting problem (complexity)]]
| |
| *[[Optimization problem]]
| |
| | |
| [[Category:Computational problems]]
| |
Greetings. The author's name is Dalton nonetheless , it's not the almost all masucline name out there. To drive is one of the things he loves most. His wife and him chose to reside in South Carolina with his family loves keep in mind this. Auditing is even his primary income proceeds from. He 's running and maintaining a blog here: http://prometeu.net
My blog: clash of clans cheat - enquiry -