HOME

TheInfoList



OR:

In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
and
computability theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has sinc ...
, a search problem is a type of computational problem represented by a
binary relation In mathematics, a binary relation associates elements of one set, called the ''domain'', with elements of another set, called the ''codomain''. A binary relation over sets and is a new set of ordered pairs consisting of elements in and in ...
. If ''R'' is a binary relation such that field(''R'') ⊆ Γ+ and ''T'' is a
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer alg ...
, 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 structure "y" in object "x". An
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
is said to solve the problem if at least one corresponding structure exists, and then one occurrence of this structure is made output; otherwise, the algorithm stops with an appropriate output ("Item not found" or any message of the like). Such problems occur very frequently in
graph theory In mathematics, graph theory is the study of '' graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conn ...
, for example, 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 In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm whe ...
, namely :L(R)=\. \, 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).


Definition

A search problem is defined by: * A set of states * A
start state A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
* A goal state or goal test: a boolean function which tells us whether a given state is a goal state * A
successor function In mathematics, the successor function or successor operation sends a natural number to the next one. The successor function is denoted by ''S'', so ''S''(''n'') = ''n'' +1. For example, ''S''(1) = 2 and ''S''(2) = 3. The successor functio ...
: a mapping from a state to a set of new states


Objective

Find a solution when not given an algorithm to solve a problem, but only a specification of what a solution looks like.


Search method

* Generic search algorithm: given a graph, start nodes, and goal nodes, incrementally explore paths from the start nodes. * Maintain a frontier of paths from the start node that have been explored. * As search proceeds, the frontier expands into the unexplored nodes until a goal node is encountered. * The way in which the frontier is expanded defines the search strategy. Input: a graph, a set of start nodes, Boolean procedure goal(n) that tests if n is a goal node. frontier := ; while frontier is not empty: select and remove path from frontier; if goal(nk) return ; for every neighbor n of nk add to frontier; end while


See also

*
Unbounded search operator Boundedness or bounded may refer to: Economics * Bounded rationality, the idea that human rationality in decision-making is bounded by the available information, the cognitive limitations, and the time available to make the decision * Bounded e ...
*
Decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm whe ...
*
Optimization problem In mathematics, computer science and economics, an optimization problem is the problem of finding the ''best'' solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables ...
* Counting problem (complexity) *
Function problem 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. For function problems, the ...
*
Search games A search game is a two-person zero-sum game which takes place in a set called the search space. The searcher can choose any continuous trajectory subject to a maximal velocity constraint. It is always assumed that neither the searcher nor the hide ...


References

{{PlanetMath attribution, id=3425, title=search problem Computational problems