Inferensys

Glossary

STRIPS

STRIPS (Stanford Research Institute Problem Solver) is a classical planning representation language that defines a planning problem in terms of an initial state, a goal state, and a set of actions described by preconditions, add effects, and delete effects.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
CLASSICAL PLANNING REPRESENTATION

What is STRIPS?

STRIPS (Stanford Research Institute Problem Solver) is the foundational language and formalism for representing automated planning problems in artificial intelligence.

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.

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.

PLANNING REPRESENTATION

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.

01

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.

02

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.

03

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).

04

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.

05

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.

06

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.

CLASSICAL 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).

CLASSICAL PLANNING COMPARISON

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 / DimensionSTRIPS (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).

CLASSICAL PLANNING

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.

01

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).

02

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.

03

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.

04

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.

05

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.

06

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.

STRIPS

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.

Prasad Kumkar

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.