Search problem
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
In computational complexity theory and computability theory, a search problem is a computational problem of finding an admissible answer for a given input value, provided that such an answer exists. In fact, a search problem is specified by a binary relation R where xRy if and only if "y is an admissible answer given x".[note 1] Search problems occur very frequently in graph theory and combinatorial optimization, e.g. searching for matchings, optional cliques, and stable sets in a given undirected graph.
An algorithm is said to solve a search problem if, for every input value x, it returns an admissible answer y for x when such an answer exists; otherwise, it returns any appropriate output, e.g. "not found" for x with no such answer.
Definition
If is a binary relation such that and is a Turing machine, then calculates if:[note 2]
- If is such that there is some such that then accepts with output such that . (there may be multiple , and need only find one of them)
- If is such that there is no such that then rejects .
- Note that the graph of a partial function is a binary relation, and if calculates a partial function then there is at most one possible output.
- A can be viewed as a search problem, and a Turing machine which calculates is also said to solve it. Every search problem has a corresponding decision problem, namely
- This definition can be generalized to n-ary relations by any suitable encoding which allows multiple strings to be compressed into one string (for instance by listing them consecutively with a delimiter).
See also
- Unbounded search operator
- Decision problem
- Optimization problem
- Counting problem (complexity)
- Function problem
- Search games
Notes
- ^ Please see: Luca Trevisan (2010), Stanford University - CS254: Computational Complexity, Handout 2 , p. 1.
- ^ Please see: PlanetMath.org - search problem.
References
This article incorporates material from search problem on PlanetMath, which is licensed under the Creative Commons Attribution/Share-Alike License.