State space search
   HOME

TheInfoList



OR:

State-space search is a process used in the field of
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, including
artificial intelligence Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
(AI), in which successive configurations or ''states'' of an instance are considered, with the intention of finding a ''goal state'' with the desired property. Problems are often modelled as a
state space In computer science, a state space is a discrete space representing the set of all possible configurations of a system. It is a useful abstraction for reasoning about the behavior of a given system and is widely used in the fields of artificial ...
, a
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
of ''states'' that a problem can be in. The set of states forms a graph where two states are connected if there is an ''operation'' that can be performed to transform the first state into the second. State-space search often differs from traditional
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
search Searching may refer to: Music * "Searchin', Searchin", a 1957 song originally performed by The Coasters * Searching (China Black song), "Searching" (China Black song), a 1991 song by China Black * Searchin' (CeCe Peniston song), "Searchin" (C ...
methods because the state space is ''implicit'': the typical state-space graph is much too large to generate and store in
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
. Instead, nodes are generated as they are explored, and typically discarded thereafter. A solution to a combinatorial search instance may consist of the goal state itself, or of a path from some ''initial state'' to the goal state.


Representation

In state-space search, a state space is formally represented as a
tuple In mathematics, a tuple is a finite sequence or ''ordered list'' of numbers or, more generally, mathematical objects, which are called the ''elements'' of the tuple. An -tuple is a tuple of elements, where is a non-negative integer. There is o ...
S: \langle S, A, \operatorname(s), \operatorname(s,a), \operatorname(s,a) \rangle , in which: *S is the
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
of all possible states; *A is the set of possible actions, not related to a particular state but regarding all the state space; *\operatorname(s) is the function that establishes which action is possible to perform in a certain state; *\operatorname(s,a) is the function that returns the state reached performing action a in state s; *\operatorname(s,a) is the cost of performing an action a in state s. In many state spaces, a is a constant, but this is not always true.


Examples of state-space search algorithms


Uninformed search

According to Poole and Mackworth, the following are ''uninformed'' state-space search methods, meaning that they do not have any prior information about the goal's location. * Traditional depth-first search *
Breadth-first search Breadth-first search (BFS) is an algorithm for searching a tree data structure for a node that satisfies a given property. It starts at the tree root and explores all nodes at the present depth prior to moving on to the nodes at the next dept ...
* Iterative deepening * Lowest-cost-first search / Uniform-cost search (UCS)


Informed search

These methods take the goal's location in the form of a
heuristic function A heuristic or heuristic technique (''problem solving'', '' mental shortcut'', ''rule of thumb'') is any approach to problem solving that employs a pragmatic method that is not fully optimized, perfected, or rationalized, but is nevertheless ...
. Poole and Mackworth cite the following examples as informed search algorithms: * Informed/Heuristic depth-first search * Greedy best-first search * A* search


See also

*
State space In computer science, a state space is a discrete space representing the set of all possible configurations of a system. It is a useful abstraction for reasoning about the behavior of a given system and is widely used in the fields of artificial ...
* State-space planning *
Branch and bound Branch and bound (BB, B&B, or BnB) is a method for solving optimization problems by breaking them down into smaller sub-problems and using a bounding function to eliminate sub-problems that cannot contain the optimal solution. It is an algorithm ...
– Method for making state-space search more efficient by pruning subsets of it


References

* Stuart J. Russell and Peter Norvig (1995). ''Artificial Intelligence: A Modern Approach''. Prentice Hall. Search algorithms {{compu-ai-stub