What Is STRIPS
What Is STRIPS
STRIPS is a formal language used for expressing planning problems and was originally designed to
control the actions of a robot in a manipulable environment. It is primarily concerned with the
automatic generation of plans, which are sequences of actions that transition a system from its initial
state to a desired goal state.
o Add Effects: Conditions that become true as a result of executing the action.
o Delete Effects: Conditions that become false as a result of executing the action.
STRIPS in AI: Leveraging Heuristics and Symbols for Effective Problem Solving
Before going through the details, we must be familiar about the terms heuristics and symbols.
• Heuristics: are techniques that helps individuals to solve problems in feasible amount of
time. It aims to find approximate solution and in some cases may find the optimal solution as
well.
• Symbols: are representations that acts as a medium between human knowledge and the AI
systems so that the systems can understand the knowledge that it receives and establish the
relationships.
Basically STRIPS makes use of heuristics and symbols to solve a real world problem. The features of
STRIPS are as follows:
• STRIPS makes use of symbols to represent knowledge so that AI systems can process the
incoming data.
• STRIPS makes use of logical reasoning so that appropriate relationship is established among
the symbols and that we get appropriate outputs based on the reasoning.
The STRIPS algorithm operates by maintaining a database of predicates that describe the state of the
world. Each action available to the system is defined in terms of its preconditions and its effects
(both add and delete). The planning process in STRIPS involves searching through the space of
possible actions to find a sequence that transitions the system from the initial state to the state
where the goal predicates are satisfied.
4. Search for Solutions: Using a strategy like backward chaining from the goal state to the initial
state, identifying actions that satisfy the goal conditions.
Problem Statement: Given three blocks labeled A, B, and C, the objective is to stack Block A on
Block B, and Block B on Block C.
In STRIPS, the initial state of the environment is crucial for defining the problem. For our scenario:
The notation OnTable(X) is used in STRIPS to denote that block X is resting on the table.
Goal State
The solution involves a series of actions, each changing the state of the blocks to move towards the
goal state. STRIPS formalizes this with actions defined by preconditions (what must be true before
the action) and effects (what becomes true after the action).
1. Action: MoveBlock(A, B)
• Preconditions:
• Effects:
o On(A,B): A is now on B.
This action transitions Block A from the table to being on top of Block B, achieving our first sub-
goal On(A,B).
2. Action: MoveBlock(B, C)
• Preconditions:
• Effects:
o On(B,C): B is now on C.
With this action, Block B is moved onto Block C, achieving the second sub-goal On(B,C).
Results
This methodical approach using STRIPS not only simplifies complex problems into manageable
actions but also ensures that each step is logically sound, leading to a successful execution in
environments such as robotics and automated planning systems.
Applications of STRIPS
STRIPS methodology is widely used in many fields. Some applications are as follows:
1. Manufacturing of automobiles
Manufacturing of automobiles requires sequential planning. Here STRIPS play a very important role
since it is action-goal oriented. For instance, first the parts needs to be assembled. Then the the
parts are embedded in the automobile one by one. Finally the automobiles are painted and
lubricated followed by testing.
2. Robotic Systems
STRIPS mechanism is widely used in Robots. For example there are three blocks A, B, C lying on the
ground. A robot arm is present and the goal is to place Block B on Block A and Block C on Block B. So
the robot arm needs to plan its actions in such a way so that the blocks are placed on one another
and that the sequence is maintained while achieving the goal.
3. Knowledge Representation
Since STRIPS makes use of symbols, it is widely used in representing knowledge. It helps to represent
the actions, states and goals. It also ensures that appropriate logic has been established for each
action that has been taken.