STRIPS Planning: Describing Actions by Preconditions and Effects

← Back to Blog & Articles

Automated planning needs a way to describe what actions do. STRIPS gives a compact answer: each action lists what must be true before it runs and how it changes the world.

States and actions

A STRIPS state is a set of facts that are currently true, such as on(A, table) and clear(A). An action has three parts:

  • Preconditions: facts that must hold before the action can run.
  • Add list: facts that become true afterward.
  • Delete list: facts that stop being true.

An example from the blocks world

An action move(b, from, to) might require that b is clear, that the destination is clear, and that b is on from. After it runs, b is on to, and b is no longer on from. Everything not mentioned stays as it was, which is how STRIPS avoids listing every unchanged fact.

Planning as search

With this representation, a planner searches for a sequence of actions leading from the initial state to a state that satisfies the goal. It can search forward from the start or backward from the goal. PDDL, the Planning Domain Definition Language, generalizes the idea with typed objects and parameterized actions.

Why it helps

The domain description is separate from the solver, so the same planner can handle logistics, robots, or puzzles by loading a different description. Planners also derive useful heuristics automatically. A common one relaxes the problem by ignoring delete lists, which makes every action only help and gives an estimate of how far the goal is.

Continue with the book

Explore the full treatment, worked examples, and exercises in The AI Algorithms Compendium.


Adapted from The AI Algorithms Compendium, published by Choral Software. Article text and original examples © 2026 Choral Software. All rights reserved.

Scroll to Top