STRIPS is a classical planning representation that formally defines a problem using a set of first-order logic predicates to describe states, a set of actions with preconditions and effects, an initial state, and a goal condition. Each action is defined by its preconditions (logical conditions that must be true for the action to be executed), add effects (predicates made true by the action), and delete effects (predicates made false). This creates a discrete, deterministic search space where a solution is a sequence of actions—a plan—that transforms the initial state into a state satisfying the goal.
Glossary
STRIPS

What is STRIPS?
STRIPS (Stanford Research Institute Problem Solver) is the foundational language and formalism for representing automated planning problems in artificial intelligence.
The STRIPS formalism underpins modern automated planning and is the direct predecessor to the Planning Domain Definition Language (PDDL). Its explicit representation of state transitions via preconditions and effects enables algorithms to perform forward or backward search (state-space planning) or to use more advanced plan-space planning techniques. In corrective action planning for autonomous agents, STRIPS provides the logical framework for an agent to model a faulty state, define a corrective goal, and generate a step-by-step sequence of tool calls or reasoning steps to achieve recovery.
Core Components of a STRIPS Problem
A STRIPS problem is formally defined by four core components that specify the world model, the starting point, the desired outcome, and the permissible transformations.
Initial State
The initial state is a complete snapshot of the world at the start of the planning problem, represented as a conjunction of ground literals (atomic facts) that are true. It defines the starting conditions for all objects and their properties. For example, in a logistics domain, the initial state might specify At(Package1, WarehouseA) ∧ At(Truck1, Depot). All facts not explicitly stated are assumed false, adhering to the closed-world assumption.
Goal State
The goal state is a partial description of the desired world configuration, specified as a conjunction of literals that must be true at the end of a valid plan. Unlike the initial state, it does not need to be complete. A plan is successful if its final state logically entails the goal. For instance, a goal could be At(Package1, WarehouseB) ∧ Fuel(Truck1) > 50. The planner is indifferent to any other world facts as long as the goal conditions are satisfied.
Actions (Operators)
Actions (or operators) are the mechanisms for state transformation. Each action is defined by three key lists:
- Preconditions: Literals that must be true in the current state for the action to be applicable.
- Add List: Literals that become true after the action executes.
- Delete List: Literals that become false after the action executes (STRIPS' key innovation).
For example, a Drive(Truck, From, To) action would have preconditions like At(Truck, From), an add effect At(Truck, To), and a delete effect At(Truck, From).
Preconditions
Preconditions are the set of facts that must hold in the current world state for an action to be legally executed. They enforce the causal constraints of the domain. Preconditions are checked before an action is applied. If any precondition is false, the action is inapplicable. In STRIPS, preconditions are conjunctions of positive literals; negative preconditions (requiring something to be false) were a later extension. This forces the planner to sequence actions to make preconditions true.
Add and Delete Effects
These two lists define how an action changes the world state.
- The Add List specifies new facts that become true. It directly models the action's intended consequences.
- The Delete List specifies facts that become false. This explicitly models state change, solving the frame problem by declaring what changes, rather than inferring what stays the same.
This ADD/DELETE formalism ensures state transitions are deterministic and efficiently computable. Effects are applied after the action's preconditions are satisfied.
Objects and Predicates
The foundational vocabulary of the planning domain.
- Objects: The entities that exist in the world (e.g.,
Truck1,WarehouseA,Package23). - Predicates: The properties and relations that can be true or false of objects (e.g.,
At(x, y),Connected(x, y),FuelLevel(x)).
States are conjunctions of ground atoms, which are predicates instantiated with specific objects (e.g., At(Truck1, WarehouseA)). Actions are defined using variables (e.g., ?t, ?from) that are instantiated with objects during planning.
How STRIPS Planning Works
STRIPS (Stanford Research Institute Problem Solver) is the foundational representation language for classical AI planning, defining problems in terms of states, goals, and actions with preconditions and effects.
STRIPS is a formal language for representing classical planning problems, defining them using a set of propositions describing the world, an initial state, a goal condition, and a set of actions. Each action is defined by its preconditions (facts that must be true to execute it), add effects (facts it makes true), and delete effects (facts it makes false). A planner searches for a sequence of actions that transforms the initial state into a state satisfying the goal.
The core algorithm operates on a state-space search, progressing through world states by applying actions whose preconditions are met. Its closed-world assumption means any fact not stated is false. This representation enables systematic search techniques like forward chaining (state-space search) or backward chaining (goal regression). STRIPS laid the groundwork for modern automated planning and languages like PDDL (Planning Domain Definition Language).
STRIPS vs. Other Planning Paradigms
A technical comparison of the STRIPS representation against other major approaches to automated planning and decision-making, highlighting their core mechanisms, assumptions, and typical applications.
| Feature / Dimension | STRIPS (Classical Planning) | Markov Decision Process (MDP) | Hierarchical Task Network (HTN) Planning |
|---|---|---|---|
Core Representation | First-order logic with closed-world assumption. States are sets of ground atoms. | Probabilistic state transitions and reward functions. States are typically atomic. | Task decomposition methods and primitive/compound tasks. States often use STRIPS-like facts. |
State Observability | Fully Observable | Fully Observable (MDP) or Partially Observable (POMDP) | Fully Observable |
Action Model | Deterministic preconditions, add, and delete lists. | Stochastic transitions with probabilities. Includes reward/cost. | Deterministic methods for decomposing abstract tasks into subtasks/primitives. |
Goal Specification | A conjunctive set of logical literals to be achieved. | Maximization of cumulative (discounted) reward over time. | A top-level compound task to be decomposed and executed. |
Temporal Scope | Sequential plan; no explicit time or duration. | Sequential decision process over discrete or continuous time. | Hierarchical partial-order plan; temporal constraints can be added. |
Solution | A linear or partially ordered sequence of ground actions. | An optimal policy (mapping from states to actions). | A task decomposition tree yielding a sequence of primitive actions. |
Primary Algorithm Family | State-space search (e.g., forward, backward), Graphplan. | Dynamic Programming, Value/Policy Iteration, Reinforcement Learning. | Depth-first search over task decomposition space. |
Handles Uncertainty | |||
Native Support for Hierarchy/Abstraction | |||
Typical Application Domain | Logistics, scheduling in deterministic environments. | Robotics control, game playing, resource management under uncertainty. | Complex procedural tasks (e.g., manufacturing, military ops). |
Example STRIPS Planning Problems
STRIPS provides a formal framework for representing deterministic planning problems. These canonical examples illustrate how real-world tasks are decomposed into states, actions, and logical propositions.
Blocks World
The quintessential STRIPS problem involves a robot arm manipulating blocks on a table. The initial state describes blocks stacked in a specific configuration. The goal state specifies a desired arrangement (e.g., a tower). Actions include pickup(x), putdown(x), stack(x,y), and unstack(x,y), each with preconditions (e.g., clear(x) and handempty) and effects (e.g., holding(x)). This domain elegantly demonstrates the representation of add effects (new true propositions) and delete effects (propositions made false).
Logistics & Transportation
This domain models moving packages between locations using vehicles. Key components:
- Objects: Packages, Trucks, Airplanes, Locations (e.g., cities, airports).
- Predicates:
at(obj, loc),in(obj, vehicle),in-city(loc, city). - Actions:
load(pkg, vehicle, loc),unload(pkg, vehicle, loc),drive(truck, from, to),fly(plane, from, to).
Preconditions enforce logical constraints (e.g., a truck and package must be at the same location to load). The planner must sequence actions to satisfy the goal at(package, destination_city). This problem highlights conjunctive goals and the use of different action types within a single plan.
The Monkey and Bananas
A classic AI problem formalized in STRIPS. A monkey must fetch bananas hanging from the ceiling. The monkey needs to move a box under the bananas, climb the box, and grasp the bananas.
Key Propositions: at(monkey, loc), at(box, loc), height(monkey, low/high), has(monkey, bananas).
Actions: goto(loc), pushbox(loc), climbbox, graspbananas.
The precondition for graspbananas requires the monkey and box to be at the same location and the monkey to be at a high height. This problem illustrates intermediate subgoals and the need to achieve certain propositions (height(monkey, high)) that are not part of the final goal but are necessary for action execution.
The Sussman Anomaly
A famous Blocks World scenario that exposed limitations in early goal-ordering planners. The initial state has three blocks: A on C, and B on the table. The goal state is A on B, and B on C (on(A,B) ∧ on(B,C)).
A naive planner might pursue subgoals independently, leading to an interference problem. For example, achieving on(A,B) first might require moving C, which could then interfere with later achieving on(B,C). A correct STRIPS planner must find a sequence that respects these dependencies, often requiring temporary deconstruction of a partially achieved goal. This anomaly motivated the development of more sophisticated non-linear planning algorithms.
Dinner Date / Kitchen Planning
A domain involving resource preparation and concurrent conditions. The goal is to prepare a meal (e.g., cooked food and a set table).
Propositions: clean(hands), dirty(hands), has(ingredient), cooked(food), set(table).
Actions: wash_hands (pre: dirty(hands), effect: clean(hands)), cook(food) (pre: clean(hands) ∧ has(ingredient), effect: cooked(food) ∧ dirty(hands)).
This problem demonstrates conditional effects (cooking makes hands dirty) and maintenance goals (clean(hands) must be true to start cooking but can be false afterward). It shows how STRIPS actions model state changes that enable and disable future actions.
Tower of Hanoi
A mathematical puzzle perfectly suited for STRIPS representation. The goal is to move a stack of disks from one peg to another, obeying the rule that a larger disk can never be placed on a smaller one.
Objects: Disks (D1, D2,...), Pegs (P1, P2, P3).
Predicates: on(disk, peg|disk), clear(top_object), smaller(disk1, disk2).
Action: move(disk, from, to).
Preconditions for move(D, X, Y) are: on(D, X), clear(D), clear(Y), and if Y is a disk, smaller(D, Y). This domain showcases the use of typed objects (disks vs. pegs) and relational predicates (smaller) to encode complex rules within action preconditions, ensuring only valid physical moves are planned.
Frequently Asked Questions
STRIPS (Stanford Research Institute Problem Solver) is a foundational language for representing classical planning problems. This FAQ addresses its core concepts, mechanics, and its enduring relevance in modern AI planning and autonomous systems.
STRIPS (Stanford Research Institute Problem Solver) is a formal representation language for classical planning problems, defining them through an initial state, a goal state, and a set of actions described by preconditions, add effects, and delete effects. It works by modeling the world as a set of logical propositions (facts) that are true or false. A planning algorithm searches for a sequence of actions where, for each action, its preconditions are true in the current state; executing the action makes its add effects true and its delete effects false, progressively transforming the initial state until the goal state is satisfied. This state-space search forms the basis for automated planners that generate step-by-step instructions for agents.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
STRIPS is a foundational formalism for classical planning. These related concepts represent its evolution into more expressive, probabilistic, and hierarchical frameworks used in modern AI systems.
Classical Planning Assumptions
The set of simplifying assumptions that define the STRIPS paradigm and its direct successors. Understanding these highlights STRIPS's scope and limitations:
- Deterministic Actions: Actions have known, certain effects.
- Fully Observable State: The agent has complete knowledge of the world.
- Static Environment: Only the agent's actions change the world.
- Discrete Time: Planning happens in discrete steps.
- Finite Set of Actions/Objects: The problem is bounded.
- Goal is a Conjunction of Literals: The desired state is a set of facts that must be true.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us