State-space Planning
   HOME

TheInfoList



OR:

In
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 ...
and
computer programming Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
, state-space planning is a process used in designing programs to search for data or solutions to problems. In a computer algorithm that searches a
data structure In computer science, a data structure is a data organization and storage format that is usually chosen for Efficiency, efficient Data access, access to data. More precisely, a data structure is a collection of data values, the relationships amo ...
for a piece of data, for example a program that looks up a word in a computer dictionary, the ''
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 ...
'' is a collective term for all the data to be searched. Similarly,
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 ...
programs often employ a process of searching through a finite universe of possible procedures for reaching a goal, to find a procedure or the best procedure to achieve the goal. The universe of possible solutions to be searched is called the state space. State-space planning is the process of deciding which parts of the state space the program will search, and in what order.


Definition

The simplest classical planning algorithms are state-space search algorithms. These are search algorithms in which the search space is a subset of the state space: Each node corresponds to a state of the world, each arc corresponds to a state transition, and the current plan corresponds to the current path in the search space. Forward search and backward search are two of main samples of state-space planning. In the algorithms that follow, by "non-deterministic", we mean that the chosen graph search algorithm for picking a next branch is arbitrary. One can brute-force ( BFS, DFS,
IDS IDS may refer to: Computing * IBM Informix Dynamic Server, a relational database management system * Ideographic Description Sequence, describing a Unihan character as a combination of other characters * Integrated Data Store, one of the first d ...
, etc.), use heuristics ( A*, IDA*, etc.), etc. This is a choice which generally depends on the nature of the problem.


Forward search

Forward search is an algorithm that searches forward from the initial state of the world to try to find a state that satisfies the goal formula. We say an action is applicable in a state ''s'' if the preconditions of this action are true in ''s''. With ''O'' the set of actions, ''s''0 the initial state, and ''g'' the goal state: Forward-search(O, s0, g) s = s0 P = the empty plan loop if s satisfies g then return P applicable = if applicable = ∅ then return failure nondeterministically choose an action a from applicable s = γ(s, a) P = P.a


Backward search

Backward search is an algorithm that begins with goal state and back track to its initial state. This method is sometimes called "back propagation". We say an action is relevant if its add-effects (literals of the state turned true) are in ''G'', and none of its del-effects (literals of the state turned false) are in ''G''. With ''O'' the set of actions, ''s''0 the initial state, and ''g'' the goal state: Backward-search(O, s0, g) s = s0 P = the empty plan loop if s satisfies g then return P relevant = if relevant = ∅ then return failure nondeterministically choose an action a from relevant P = a.P s = γ−1(s, a)


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 search


References

* {{Automated reasoning