- FP (complexity)
In
computational complexity theory , thecomplexity class FP is the set offunction problem s which can be solved by adeterministic Turing machine inpolynomial time ; it is the function problem version of thedecision problem class P. Roughly speaking, it is the class of functions that can be efficiently computed on classical computers without randomization.FP is formally defined as:
:A binary relation P("x","y") is in FP if and only if there is a deterministic polynomial time algorithm that, given "x", can find some "y" such that P("x","y") holds.
The difference between FP and P is that problems in P have one-bit, yes/no answers, while problems in FP can have any output that can be computed in polynomial time. For example, adding two numbers is an FP problem, while determining if their sum is odd is in P. More complex is the relationship between FP and FNP. FNP is defined as follows:
:A
binary relation P("x","y"), where "y" is at most polynomially longer than "x", is in FNP if and only if there is a deterministic polynomial time algorithm that can determine whether P("x","y") holds given both "x" and "y".That is, instead of merely verifying "y", the algorithm for solving an FP problem must find its value. This is similar to the computation/verification relationship between P and NP; it also shows that FP is contained in FNP. In fact, FP = FNP if and only if P = NP.
Polynomial-time function problems are fundamental in defining
polynomial-time reduction s, which are used in turn to define the class ofNP-complete problems.Because a machine that uses logarithmic space has at most polynomially many configurations, FL, the set of function problems which can be calculated in logspace, is contained in FP. It is not known whether FL = FP; this is analogous to the problem of determining whether the decision classes P and L are equal.
References
* [http://qwiki.stanford.edu/wiki/Complexity_Zoo:F#fp Complexity Zoo: FP]
Wikimedia Foundation. 2010.