Function problem

Function problem

In computational complexity theory, a function problem is a problem other than a decision problem, that is, a problem requiring a more complex answer than 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.

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 classes in the same way as decision problems. For example FP is the set of function problems which can be solved by a deterministic Turing machine in polynomial time, and 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 Hamilton path (or Hamilton cycle if the salesman returning home is stipulated in the problem) 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 n by the number of edges and w_i be the weight of edge i. First rescale and perturb the weights of the edges by assigning to edge i the new weight w'_i = 2^{(n+1)} w_i + 2^i. This doesn't change the shortest Hamilton path, but makes sure that it is unique. Now add the weights of all edges to get a total weight M. Find the weight of the shortest Hamilton path by binary search: is there a Hamilton path with weight < M/2; is there a path with weight < M/4 etc. Then having found the weight W of the shortest Hamilton path, determine which edges are in the path by asking for each edge i whether there is a Hamiltonian path with weight W for the graph modified so that edge i has weight W+1 (if there is no such path in the modified graph, then edge i must be in the shortest path for the original graph).

This places the travelling salesman problem in the complexity class FPNP (the class of function problems which can be solved in polynomial time on a deterministic Turing machine with an oracle for a problem in NP), and in fact it is complete for that class.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Tarski's exponential function problem — In model theory, Tarski s exponential function problem asks whether the usual theory of the real numbers together with the exponential function is decidable. Tarski had previously shown that the theory of the real numbers (without the exponential …   Wikipedia

  • Problem solving — forms part of thinking. Considered the most complex of all intellectual functions, problem solving has been defined as higher order cognitive process that requires the modulation and control of more routine or fundamental skills (Goldstein Levin …   Wikipedia

  • Problem finding — means problem discovery. It is part of the larger problem process that includes problem shaping and problem solving. Problem finding requires intellectual vision and insight into what is missing. This involves the application of creativity.… …   Wikipedia

  • Problem-oriented policing — (POP), coined by University of Wisconsin Madison professor Herman Goldstein, is a policing strategy that involves the identification and analysis of specific crime and disorder problems, in order to develop effective response strategies in… …   Wikipedia

  • Problem shaping — means revising a question so that the solution process can begin or continue. It is part of the larger problem process that includes problem finding and problem solving. Problem shaping (or problem framing) often involves the application of… …   Wikipedia

  • Function (mathematics) — f(x) redirects here. For the band, see f(x) (band). Graph of example function, In mathematics, a function associates one quantity, the a …   Wikipedia

  • Function approximation — The need for function approximations arises in many branches of applied mathematics, and computer science in particular. In general, a function approximation problem asks us to select a function among a well defined class that closely matches (… …   Wikipedia

  • Function composition (computer science) — In computer science, function composition (not to be confused with object composition) is an act or mechanism to combine simple functions to build more complicated ones. Like the usual composition of functions in mathematics, the result of the… …   Wikipedia

  • Function point — A function point is a unit of measurement to express the amount of business functionality an information system provides to a user. Function points are the units of measure used by the IFPUG Functional Size Measurement Method. The IFPUG FSM… …   Wikipedia

  • Function-level programming — In computer science, function level programming refers to one of the two contrasting programming paradigms identified by John Backus in his work on programs as mathematical objects, the other being value level programming.In his 1977 Turing award …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”