Search problem
| This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (June 2009) |
|
|
This article may be confusing or unclear to readers. Please help clarify the article; suggestions may be found on the talk page. (December 2011) |
In computational complexity theory and computability theory, a search problem is a type of computational problem represented by a binary relation. If R is a binary relation such that field(R) ⊆ Γ+ and T is a Turing machine, then T calculates R if:
- If x is such that there is some y such that R(x, y) then T accepts x with output z such that R(x, z) (there may be multiple y, and T need only find one of them)
- If x is such that there is no y such that R(x, y) then T rejects x
Intuitively, the problem consists in finding a structure y in an object x. An algorithm is said to solve the problem if it behaves in the following way: if at least one corresponding structure exists, then one occurrence of this structure is outputted; otherwise, the algorithm stops with an appropriate output ("Item not found" or any message of the like).
For instance, such problems occurs very frequently in graph theory, where searching graphs for structures such as particular matching, cliques, independent set, etc. are subjects of interest.
Note that the graph of a partial function is a binary relation, and if T calculates a partial function then there is at most one possible output.
A relation R can be viewed as a search problem, and a Turing machine which calculates R is also said to solve it. Every search problem has a corresponding decision problem, namely
This definition may be generalized to n-ary relations using any suitable encoding which allows multiple strings to be compressed into one string (for instance by listing them consecutively with a delimiter).
[edit] See also
This article incorporates material from search problem on PlanetMath, which is licensed under the Creative Commons Attribution/Share-Alike License.
| P ≟ NP | This theoretical computer science-related article is a stub. You can help Wikipedia by expanding it. |
