HOME

TheInfoList



OR:

State space search is a process used in the field of
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, including
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech r ...
(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 A state space is 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 intelligence and game theory. For instance, the t ...
, a set of ''states'' that a problem can be in. The set of states forms a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
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, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
search Searching or search may refer to: Computing technology * Search algorithm, including keyword search ** :Search algorithms * Search and optimization for problem solving in artificial intelligence * Search engine technology, software for findi ...
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 remembered ...
. 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 S: \langle S, A, Action(s), Result(s,a), Cost(s,a) \rangle , in which: *S is the set of all possible states; *A is the set of possible actions, not related to a particular state but regarding all the state space; *Action(s) is the function that establish which action is possible to perform in a certain state; *Result(s,a) is the function that returns the state reached performing action a in state s *Cost(s,a) is the cost of performing an action a in state s. In many state spaces is a constant, but this is not true in general.


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 d ...
*
Iterative deepening In computer science, iterative deepening search or more specifically iterative deepening depth-first search (IDS or IDDFS) is a state space/graph search strategy in which a depth-limited version of depth-first search is run repeatedly with in ...
* Lowest-cost-first search / Uniform-cost search (UCS) These methods take the goal's location in the form of a
heuristic function In mathematical optimization and computer science, heuristic (from Greek εὑρίσκω "I find, discover") is a technique designed for solving a problem more quickly when classic methods are too slow for finding an approximate solution, or whe ...
. 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 A state space is 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 intelligence and game theory. For instance, the t ...
* State space planning *
Branch and bound Branch and bound (BB, B&B, or BnB) is an algorithm design paradigm for discrete and combinatorial optimization problems, as well as mathematical optimization. A branch-and-bound algorithm consists of a systematic enumeration of candidate solutio ...
- a 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