The Stanford Research Institute Problem Solver, known by its acronym STRIPS, is an
automated planner developed by
Richard Fikes
Richard Earl Fikes (born October 4, 1942) is a computer scientist and Professor (Research) Emeritus in the Computer Science department of Stanford University. He is professionally active as a consultant and expert witness. He led Stanford's Know ...
and
Nils Nilsson in 1971 at
SRI International
SRI International (SRI) is an American nonprofit scientific research institute and organization headquartered in Menlo Park, California. The trustees of Stanford University established SRI in 1946 as a center of innovation to support economic d ...
. The same name was later used to refer to the
formal language
In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.
The alphabet of a formal language consists of symb ...
of the inputs to this planner. This language is the base for most of the languages for expressing
automated planning
Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
problem instances in use today; such languages are commonly known as
action language
In computer science, an action language is a language for specifying state transition systems, and is commonly used to create formal models of the effects of actions on the world. Action languages are commonly used in the artificial intelligence ...
s. This article only describes the language, not the planner.
Definition
A STRIPS instance is composed of:
* An initial state;
* The specification of the goal states – situations which the planner is trying to reach;
* A set of actions. For each action, the following are included:
** preconditions (what must be established before the action is performed);
** postconditions (what is established after the action is performed).
Mathematically, a STRIPS instance is a quadruple
, in which each component has the following meaning:
#
is a set of ''conditions'' (i.e.,
propositional variable
In mathematical logic, a propositional variable (also called a sentential variable or sentential letter) is an input variable (that can either be true or false) of a truth function. Propositional variables are the basic building-blocks of propositi ...
s);
#
is a set of ''operators'' (i.e., actions); each operator is itself a quadruple
, each element being a set of conditions. These four sets specify, in order, which conditions must be true for the action to be executable, which ones must be false, which ones are made true by the action and which ones are made false;
#
is the initial state, given as the set of conditions that are initially true (all others are assumed false);
#
is the specification of the goal state; this is given as a pair
, which specify which conditions are true and false, respectively, in order for a state to be considered a goal state.
A plan for such a planning instance is a sequence of operators that can be executed from the initial state and that leads to a goal state.
Formally, a state is a set of conditions: a state is represented by the set of conditions that are true in it. Transitions between states are modeled by a transition function, which is a function mapping states into new states that result from the execution of actions. Since states are represented by sets of conditions, the transition function relative to the STRIPS instance
is a function
:
where
is the set of all subsets of
, and is therefore the set of all possible states.
The transition function
for a state
, can be defined as follows, using the simplifying assumption that actions can always be executed but have no effect if their preconditions are not met:
The function
can be extended to sequences of actions by the following recursive equations:
:
:
A plan for a STRIPS instance is a sequence of actions such that the state that results from executing the actions in order from the initial state satisfies the goal conditions. Formally,