Our previous exploration of Artificial Intelligence focused on search-based agents that derive solutions by navigating a state space. A critical limitation of these traditional search methods is their tendency to treat states as monolithic, opaque data structures. This approach precludes explicit representation of the state’s internal composition and the logical relationships among its constituent elements. The field of Planning fundamentally addresses this gap, establishing a robust framework in AI that seamlessly integrates logical reasoning with practical action execution in the world.

Planning as Deliberative Problem-Solving

Definition

Planning is formally defined as a specialized form of problem-solving where an intelligent agent must deliberate to construct a sequence of actions that effectively achieves a predefined goal state.

Distinct from generic heuristic search, classical planning gains its efficacy by exploiting logical representations. In this paradigm, the elements of the problem—the world states, the desired goals, and the causal effects of actions—are formally described using a symbolic language, typically a subset of first-order logic. This symbolic framework allows the agent to reason about the environment in a highly structured, generalizable, and predictive manner. The ability to forecast the outcomes of actions makes planning an indispensable capability for complex autonomous systems, ranging from sophisticated robotics in controlled laboratory environments to intricate software agents governing spacecraft navigation in vast cosmic settings.

The Evolution of State Representation

A foundational concept from search algorithms that directly informs planning is the search node. It is essential to understand that a node transcends a simple state configuration; it functions as an informational bookmark within the search process. A standard search node, as utilized in algorithms like A* or Breadth-First Search, is an aggregate data structure comprising several key components:

  • state: The current configuration of the environment.
  • parent: A reference pointer to the preceding node, crucial for the eventual reconstruction of the solution path.
  • action: The specific operation applied to the parent state that yielded the current state.
  • path_cost: The cumulative total cost incurred from the initial state to the current node.
  • depth: The number of action steps executed from the start state.

The core determinant of a search algorithm’s efficiency and power is the structure of its state component. State representations exist on a spectrum of expressiveness, each enabling different levels of agent reasoning:

  1. Atomic Representation: At the lowest level of complexity, the state is treated as an indivisible, black-box entity. For example, in the 8-puzzle problem, the state is often represented as a single, unparsed data structure, such as a tuple or string (e.g., ). While computationally simple, this representation offers the agent no internal structure to reason about or decompose.

  2. Factored Representation: This approach elevates complexity by breaking the state down into a fixed, defined set of variables or attributes, each holding a specific value. This structure forms the basis of Constraint Satisfaction Problems (CSPs), where the state is precisely defined by an assignment of values to these variables (e.g., ). The inherent structure here allows for more sophisticated algorithms capable of exploiting the dependencies and relationships between state variables.

  3. Structured Representation (Knowledge Base): This is the most expressive and powerful representation, serving as the bedrock of classical planning. The state is modelled as a Knowledge Base (KB), which is a dynamic collection of sentences formulated in a formal language, typically a restricted form of first-order logic (FOL). This allows the agent to not just describe a world configuration but to reason logically about it.

Structured State Representation via Knowledge Bases

The paradigm shift in representing a state as a Knowledge Base moves the agent from passive description to active logical inference. The fundamental principle involves explicitly asserting a set of known facts about the world and subsequently utilizing logical entailment to deduce new, implicit facts as required for decision-making.

Example

A compelling illustration of this is the “Garfield” example, which showcases the power of deduction:

Explicit Knowledge (Axioms in the KB)First-Order Logic Predicates
1. All felines living in the forest are wild.
2. Cats and dogs are not wild animals.
3. All cats are felines.
4. Garfield is a cat.

From these four explicit premises, a logical agent can infer the new, implicit conclusion that Garfield does not live in the forest (). The deduction follows by proof by contradiction: if the agent were to assume the premise (Garfield lives in the forest), this, combined with (4) and the implication (3), implies that . By the first rule, must follow. However, the second rule explicitly states for cats. Since is a logical contradiction, the initial assumption must be false.

This crucial ability to reason and draw deductions, as demonstrated by logical agents in environments like the Wumpus World, allows for sophisticated understanding of the environment (e.g., inferring a pit location from a breeze). Nevertheless, employing pure, general logical reasoning for every action decision is often computationally prohibitive due to the potential intractability of full FOL inference. Consequently, the central focus of classical planning is the development of a more efficient, restricted methodology: combining logic-based state representation with the structured, systematic nature of a search algorithm to create actionable plans.

Classical Planning

The question of how search is combined with a logic-based representation of states is answered definitively by the framework of Classical Planning. This paradigm represents a crucial specialization of the generic state-space search problem. By imposing a stringent, yet highly expressive, logical structure on the fundamental components of the problem planners are able to utilize algorithms significantly more efficient and powerful than general-purpose theorem provers alone.

Classical planning formalizes the problem-solving process by strictly defining the world using a symbolic, logical language:

  • States: The configuration of the world at any given moment is represented as a conjunction of logical literals. In simplified planning domains, these are typically positive, ground (variable-free) predicates that are asserted to be true. This explicit, decomposable structure allows the agent to reason about individual facts.

  • Actions (or Operators): These define the agent’s possible moves and are described by their preconditions and effects, both expressed in logical terms. Preconditions are the set of literals that must be true in the current state for the action to be applicable, while effects describe the changes the action makes to the state.

  • Goals: The desired outcome is specified as a logical sentence, which is the criterion that the final state in the plan sequence must satisfy. The objective of a planner is therefore to discover a valid, ordered sequence of actions that successfully transforms the initial state into any state that logically entails the goal sentence.

Knowledge Representation Languages for Planning

The choice of knowledge representation language is a pivotal design decision, necessitating a critical balance between the language’s expressivity (its capacity to model complex real-world dynamics) and its computational tractability (the efficiency with which a planner can search the resulting state space). This domain is dominated by two landmark languages: STRIPS and PDDL.

CharacteristicSTRIPSPDDL
Supports negative literals✔️
Supports variables✔️
Conditional effects✔️
Numeric fluents✔️
Types/objects✔️
Modular/extensible✔️
Standardized language✔️
Positive literals✔️✔️
Add/Delete lists✔️✔️
Complex preconditions✔️

STRIPS (Stanford Research Institute Problem Solver)

STRIPS holds a foundational place in the history of planning, having been developed in the late 1960s for Shakey the robot, a groundbreaking mobile system capable of reasoned self-action. STRIPS achieves computational feasibility by utilizing a severely restricted version of first-order logic, sacrificing the full expressivity of FOL for streamlined performance:

  • State Representation: A state is a simple conjunction of positive, ground literals. Critically, the Closed World Assumption (CWA) is often implicitly applied, where any literal not explicitly asserted as true is assumed to be false.
  • Action Representation (The STRIPS Operator): An action is defined by a triplet: .
    • The Preconditions are the set of literals required to be true for the action to be executed.
    • The Add-List is the set of positive literals that are made true (added to the state) upon execution.
    • The Delete-List is the set of literals that are made false (removed from the state) upon execution.

PDDL (Planning Domain Definition Language)

PDDL is the contemporary, industry-standard language, heavily influenced by the simplicity of STRIPS. It was specifically established to facilitate the International Planning Competition (IPC), serving as a standardized benchmark for comparing diverse planning algorithms. PDDL is not monolithic but rather a family of languages that accommodate varying degrees of complexity and expressivity:

  • Standardization and Modularity: PDDL provides a common syntax and structure for defining the pair, which is essential for systematic research. Its architecture is modular, allowing researchers to activate various “requirements” (language features) as needed.
  • Superset Structure: The most basic, core level of PDDL is functionally equivalent to the STRIPS representation.
  • Extensions and Expressivity: PDDL’s strength lies in its ability to be extended. Advanced versions allow for features that break STRIPS’s simplicity, including:
    • Types: Introducing objects with specific categories.
    • Negative Preconditions: Allowing an action to require a fact to be false.
    • Conditional Effects: Effects that only occur if a specific condition (other than the main preconditions) is met.
    • Numeric Fluents: Variables that track continuous or discrete quantities (e.g., fuel level or battery charge), moving beyond purely Boolean facts.

Case Study: The Vacuum-Cleaner World

To concretely illustrate the theoretical concepts of Classical Planning and the structure of languages like STRIPS and PDDL, we employ the Vacuum-Cleaner World (or Vacuum World). This scenario is a canonical example in AI, providing a clear, intuitive model for defining states, goals, and actions symbolically.

Constants and Predicates

The planning vocabulary is established by identifying all specific entities and their possible characteristics:

Definition

  • Constants are the specific, named objects within the scope of the problem.
  • Predicates are Boolean functions that describe the properties of objects or the relationships between them.
  • Literals are atomic facts formed by instantiating predicates with constants, which can be either positive (asserted as true) or negative (asserted as false).

For the Vacuum-Cleaner World, we define:

  • Constants:
    • : The single, active agent (the vacuum cleaner).
    • , : The two distinct spatial locations (rooms) in the environment.
  • Predicates:
    • : A two-place predicate asserting that the object is currently situated in the room . For example, is a positive literal meaning the robot is in room .
    • : A single-place predicate asserting that the room is clean. For example, means room is free of dirt.

State Representation

Definition

In classical planning, a state is a complete, unambiguous snapshot of the world at a specific moment. Consistent with the STRIPS/PDDL formalism, a state is represented as a conjunction of positive, ground literals—meaning every fact listed is asserted as true and contains no variables.

For the defined initial state of the scenario (), the world configuration is formally represented as:

This logical sentence explicitly asserts two facts: the robot’s location is , AND the state of is clean.

Foundational Logical Assumptions for State Compactness

The elegance and computational simplicity of this concise state representation are entirely dependent on three critical underlying logical assumptions inherent to classical planning:

  1. Unique Name Assumption (UNA): This postulates that every distinct constant symbol used in the language must refer to a distinct, unique object in the world. Thus, the symbol and cannot refer to the same physical room, guaranteeing referential clarity.

  2. Domain Closure Assumption (DCA): This is a restriction on the universe of discourse, asserting that the world contains only the objects explicitly named by the set of defined constants. In this scenario, the world is strictly limited to the , , and , precluding the existence of any other rooms or agents.

  3. Closed World Assumption (CWA): This is the most crucial simplifying factor for state representation in STRIPS-like planning. CWA dictates that any atomic fact (positive, ground literal) that is not explicitly asserted as true in the state description is assumed to be false.

Due to the CWA, the initial state implicitly defines the negation of all other possible facts, thereby maintaining a compact state description without listing negative literals: the implicit facts derived from include both (Robot is not in ) and (Room is dirty).

This compact, unambiguous representation comes with two important limitations for classical planning:

  • No Disjunction: The state cannot express possibilities or alternatives, such as the robot is , without knowing precisely which location is true.
  • No Uncertainty: The environment is strictly deterministic and fully observable. Every fact must be definitively known to be either true or false, excluding any form of probabilistic or unknown knowledge.

Goal Representation

In the framework of classical planning, the Goal specifies the desired target configuration of the world that the agent must achieve.

Definition

Formally, a goal is expressed as a logical condition that the final state of the plan must satisfy.

A goal in planning languages like PDDL is generally represented as a conjunction of literals—which can include both positive and negative facts. This conjunction defines a partial world specification, meaning the final state must satisfy the listed facts, but other facts in the state can vary or be irrelevant.

For the Vacuum-Cleaner World problem, the primary goal () is simply to ensure all rooms are clean, irrespective of the robot’s final location:

This goal is satisfied by any resulting state () if and only if:

  1. All positive literals explicitly listed in the goal ( and ) are present in the state .
  2. All negative literals (if any) explicitly listed in the goal are absent from the state (which, due to the Closed World Assumption (CWA), is equivalent to their negations being true in ).

The capability to include negative literals in a goal sentence distinguishes modern PDDL from its precursor, STRIPS, giving PDDL greater expressive power to impose constraints on the final state:

LanguageNegative Literals in Goal?Implication for Final State ()Example of a Valid Goal ()
STRIPSNo (Only conjunctions of positive literals)Must only ensure specific facts are true.
PDDLYes (Standard feature)Can require specific facts to be false (via CWA). (Requires clean AND the robot is not in ).

Furthermore, goals can utilize variables if the planning language supports them. For instance, a goal specified as is satisfied if there exists at least one constant (e.g., or ) that can be substituted for the variable such that the resulting ground literal is true in the state . This feature allows for the specification of more general, abstract objectives.

Action Representation

The dynamics of the planning world are governed by actions, which define the transitions between states. In STRIPS and core PDDL, actions are formally represented using action schemas.

Definition

An action schema is a generalized template that describes a class of potential operations, using variables to stand for specific objects.

Every action schema is characterized by three core components that encapsulate the rules for its application and its resulting impact on the world state:

  1. Action Signature: This is the unique name of the action along with its parameters (variables), which are placeholders for the constants involved in the operation. For example, defines a movement action parameterized by the starting and ending locations.

  2. Preconditions: Expressed as a conjunction of groundable literals (facts), the preconditions specify the necessary logical conditions that must hold true in the current state for the action to be considered applicable (executable). The agent cannot choose an action unless all its preconditions are currently satisfied.

  3. Effects: This is a conjunction of literals detailing the resultant changes to the state. The STRIPS formalism explicitly manages these changes through two distinct lists to maintain computational efficiency and simplicity:

    • Add-list (): The set of positive literals that become true (are added to the state) upon execution.
    • Delete-list (): The set of positive literals that become false (are removed from the state) upon execution.

The two fundamental capabilities of the vacuum-cleaning robot are formalized as action schemas:

Action SchemaPreconditionsDelete-list (Del)Add-list (Add)Effect
(Implied dirt) (Represented by in full PDDL)

The Delete-list and the Add-list can be merged into a single Effect description using logical connectives, but the STRIPS formalism maintains the separation for clarity and computational efficiency.

Note on Preconditions

In the most basic STRIPS, the state only lists what’s true, so is implicit if is not in the state. However, to ensure the action is only taken when dirt is present and to correctly model the change, a more expressive PDDL model would require as a precondition and in the -list. Given the prompt’s definition, we must assume the basic version where the action implicitly makes the room clean, even if it was clean already, and the lack of a implies no positive fact is made false. A more realistic would delete the fact .

An action schema is a generic description; an action instance is a concrete operation formed by consistently substituting constants for all variables in the schema.

For an action to be executed in a current state , the following process must occur:

  1. Instantiation and Binding: The planner must find a substitution of constants for the action’s variables (e.g., , ) such that the resulting ground preconditions are all satisfied by the facts asserted in state . A crucial rule is that any variable used in the or lists must also appear in the preconditions, ensuring all parameters are bound to specific constants.
  2. State Execution: If the action is applicable, the new state is generated by simultaneously applying the effects, based on the set difference and union operations:

For example, consider the execution of

  1. Current State:

  2. Action Instance:

  3. Preconditions Check: The required precondition is true in . The action is applicable.

  4. Effects Application:

    • -list:
    • -list:
  5. New State Calculation:

The fact remains true in because it was not listed in the . This mechanism inherently provides a solution to the Frame Problem, which is the challenge of explicitly stating all the facts that do not change when an action is executed.

The Formal Planning Problem and Solution Methodology

With the essential components of the domain—the state representation, the goal specification, and the action schemas—fully established, the central task in Classical Planning can be formally defined. The planning problem involves finding a viable sequence of operations that bridges the initial conditions and the desired outcome.

Definition

A plan is formally defined as an ordered sequence of concrete action instances, . When this sequence is executed sequentially, starting from the designated initial state (), it must result in a final state () that logically satisfies the defined goal ().

The objective of a planner is to search the implicit state space defined by the action schemas to discover such a sequence. Given our Vacuum-Cleaner World problem:

  • Initial State ():
  • Goal ():

A valid solution identified for this problem is the concise plan: .

The validity of the proposed plan is confirmed through a step-by-step execution trace, which demonstrates the state transitions resulting from the application of each action instance, verifying that the final state meets the goal criteria:

  1. Initial State (): The agent begins in the configuration .
  2. Action 1: Execute
    • Applicability Check: The precondition is satisfied by .
    • State Transition: The action’s effects are applied: is deleted, and is added.
    • Resulting State ():
  3. Action 2: Execute
    • Applicability Check: The precondition is satisfied by . The implicit precondition that is dirty (i.e., is absent) is also met.
    • State Transition: The action’s effect is applied: is added (assuming the standard STRIPS model where no fact is explicitly deleted).
    • Final State ():

The final state contains the literals and , thus satisfying the goal . This confirms that is a valid plan.

In addition to validity, planners often seek an optimal plan, which is defined as the valid solution possessing the lowest cost according to a specific metric (e.g., minimum number of actions, shortest time, or lowest resource consumption). Given the simplicity of the Vacuum World, the discovered two-step plan is indeed an optimal solution in terms of minimizing the number of actions required to achieve the goal.

The Art of Representation and The Frame Problem

Defining a planning problem in a formal language like STRIPS or PDDL is not merely a rote mechanical exercise; it is an art of ontological modeling. The strategic choice of predicates and action schemas profoundly influences the model’s clarity, logical correctness, and, most critically, the planner’s computational efficiency. Flaws in representation, even for simple domains, can lead to brittle, incorrect, or inefficient plans, as demonstrated by analyzing common modeling errors.

Critique of Planning Representation Flaws

The analysis of an AI-generated STRIPS model for the Vacuum World reveals several common pitfalls in creating a robust and minimal representation:

====== AI-generated Response ======
Initial state:
	RobotLocation(left), Dirty(room)
Goal:
	Clean(left), Clean(right)
Action Move(r,f,t)
	Preconditions = RobotLocation(f) 
	Delete-list = RobotLocation(f) 
	Add-list = RobotLocation(t)
Action Suck(r,p)
	Preconditions = RobotLocation(p)
	Delete-list = Dirty(p)
	Add-list = Clean(p)
  1. Redundant Predicates and Model Inconsistency: The use of both and introduces unnecessary redundancy. Given the Closed World Assumption (CWA), planning models should strive for parsimony. If a single predicate, say , is used, then the absence of from the state implicitly entails the room is clean (). Using both and requires maintaining a redundant constraint, ensuring they are always mutually exclusive, which unnecessarily complicates the action effects. A superior model uses one predicate, and the goal is simply .

  2. Dangling (Unbound) Variables: In the action schema , the variables and are “dangling” because they appear in the action signature but are not constrained by the preconditions. For an action instance to be executable, a planner must successfully bind all variables to specific constants, and this binding is primarily achieved by checking the preconditions against the current state.

    • The variable should be removed from the signature if only one robot exists, or it should be constrained (e.g., ).
    • Crucially, the destination is unconstrained. The model needs a predicate like in the preconditions to inform the planner about the topology of the world and where the robot can actually move.
  3. Overly Restrictive Preconditions: The requirement that the action can only be performed if is true is often considered a poor modeling choice. Action preconditions should ideally reflect the physical prerequisites for execution (e.g., ), not the conditions that make the action useful (e.g., presence of dirt). While preventing “useless” actions may seem efficient, it restricts the search space and can hinder finding solutions in complex domains where an action might have multiple, situation-dependent effects.

  4. Implicit Assumptions and CWA Consistency: When the initial state omits information about the cleanliness of the left room, the CWA dictates that is true (i.e., it is clean). However, if the goal is , and the model uses both and predicates with implicit meaning, it creates confusion about the model’s fundamental ontology. Good modeling requires a consistent definition where the state and goal descriptions align with the chosen set of predicates and the CWA.

The Frame Problem and the STRIPS Solution

A core, foundational challenge in constructing formal logical theories of action is the Frame Problem: the difficulty of formally specifying which facts (fluents) in the world remain unchanged after an action is executed.

In pure logic, stating that changes the robot’s location is insufficient. Without explicit rules, the logical system cannot infer the persistence of other facts, such as or the color of a block. Solving this purely logically would require writing numerous frame axioms—one for every fluent that does not change for every possible action. For a domain with actions and fluents, the computational complexity approaches frame axioms, leading to a computational explosion that makes the system intractable.

PDDL and STRIPS overcome the Frame Problem not through logical inference, but through a powerful modeling convention known as the STRIPS Assumption. This operational principle vastly simplifies the action representation and makes planning computationally feasible. The assumption is enforced by two governing rules:

  1. Persistence by Omission: Any fluent (fact) in the current state that is not explicitly listed in either the or the of the executed action instance is assumed to persist unchanged into the next state.
  2. Completeness of Effects: The and together constitute the complete and exhaustive specification of all changes resulting from the action.

By adhering to this convention, when the action is applied, the planner only processes the changes to predicates and implicitly assumes that all other properties, such as the cleanliness of the rooms or the robot’s power level (if modeled), remain precisely the same.

The Blocks World Planning Domain

The Blocks World is a foundational, classic domain in AI planning that represents a significant step up in complexity from the Vacuum World. It serves as a benchmark for algorithms dealing with object manipulation, combinatorial complexity, and recursive goal achievement. The scenario models a robotic arm moving stackable blocks on a table, subject to key constraints (only one block per stack, and the hand holds one block).

To model this environment, the system utilizes a rich set of predicates to capture the dynamic relationships between blocks, the table, and the robotic arm:

PredicateArityDescription
2Block is resting on object ( is either another block or the ).
1There is no block placed on object .
0The robotic arm is not currently holding any block.
1The robotic arm is currently grasping block .

Note

Note that is a static predicate, often defined once in the domain and assumed true for all objects , as it never changes during execution.

State and Goal Formalization

The Initial State is a conjunction of ground literals capturing the physical arrangement:

This describes two stacks: C-on-A-on-Table and B-on-Table, with the hand free.

The Goal State is a partial description, often defining a specific vertical stack (e.g., C-on-B-on-A-on-Table):

Any state that logically entails all literals in is considered a goal state, regardless of the status of other facts like .

Action Schemas for Manipulation

The dynamic changes in the Blocks World are modeled by four mutually exclusive actions that define manipulation operations:

Action SchemaPreconditionsDelete-listAdd-listDescription
Pick up from another block .
Place held block onto block .
, Pick up block from the .
Place held block onto the .

Executing involves the following state transformation:

  1. State Requirements: The preconditions , , and must all be true in the current state .
  2. State Update: The facts , , and are removed from .
  3. New Facts: The facts and are added to the state.
  4. Result: The new state reflects that block is now being held, and block is now clear and ready to receive another block. The STRIPS assumption ensures all other facts, like , remain unchanged.

Extensions of PDDL for Advanced Planning

While the core STRIPS representation is sufficient for the basic Blocks World, modern planning requires the increased expressivity offered by the full PDDL language family:

  • Negative Preconditions and Inequality: PDDL explicitly allows negative literals in preconditions, such as , ensuring an action like is only applicable when the room is dirty. Additionally, the inclusion of inequality constraints like is essential to prevent illogical self-actions (e.g., preventing ).

  • Algebraic Expressions and Numeric Fluents: For domains involving continuous or tracked resources, PDDL extensions allow the use of numeric fluents (variables with real or integer values, e.g., ). The effects of actions can then be described using algebraic expressions, such as , crucial for modeling resource management, inventory control, or duration.

  • Derived Predicates (Axioms): These are logical rules that allow the planner to infer facts from the current state without having to explicitly store or update them. For instance, in a grid world, if movement is bidirectional, one can define as a stored fluent and use an axiom to automatically derive the symmetric fact whenever is true. This compacts the state representation and simplifies action effects.

The implementation of these concepts in practical planning libraries involves encapsulating the initial state, goal, and the action schemas (defined by their logical precondition and effect strings) within a formal PlanningProblem object, directly mapping the abstract PDDL syntax to executable code structures.

PlanningProblem(initial='On(A, Table) & On(B, Table) & On(C, A) & Clear(B) & Clear(C)', 
                goals='On(A, B) & On(B, C)', 
                actions=[Action('Move(b, x, y)', 
                                precond='On(b, x) & Clear(b) & Clear(y)', 
                                effect='On(b, y) & Clear(x) & ~On(b, x) & ~Clear(y)', 
                                domain='Block(b) & Block(y)'), 
                         Action ('MoveToTable(b, x)', 
                                precond='On(b, x) & Clear(b)', 
                                effect='On(b, Table) & Clear(x) & ~On(b, x)', domain='Block(b) & Block(x)')], 
                domain='Block(A) & Block(B) & Block(C)')

The Key-in-Box Problem

The Key-in-Box problem is an excellent case study that moves beyond simple state transformation and forces the planner to reason about irreversible actions, necessary sequencing constraints, and dead-end states. It challenges the system’s ability to prioritize long-term goal dependencies over immediate, available actions.

The problem involves an agent manipulating a key, a box, and a door connecting two rooms ( and ). The critical constraint that introduces complexity is the irreversible action . Once the key is in the box, the system enters a state where the precondition can never be met again, making any subsequent action that requires the key (like ) impossible. Consequently, the planner must deduce the correct, mandatory sequence: use the key, then dispose of the key.

The formal PDDL representation uses a structured set of constants and predicates:

  • Constants: The specific entities in the world: .
  • Predicates (Fluents):
    • : Object (Robot or Key) is at location (Room or Box).
    • : The state of the door.
    • : The robot is holding the key .
    • : A static fact defining a room.

The problem starts with a specific configuration and defines a composite goal that inherently requires correct sequencing:

  • Example Initial State ():
  • Goal (): . The goal requires a state where the door is locked AND the key is placed in the box. Since requires and destroys , the only successful sequence must achieve first.

The critical constraints of the problem are enforced by the preconditions and effects of the action schemas, adhering to the STRIPS assumption:

Action SchemaPreconditions (P)D (Delete-list)A (Add-list)

The most important aspect of this problem is the action . By deleting and adding , and assuming there is no inverse action to retrieve the key:

  1. Irreversibility: Once is executed, the literal becomes false and can never be satisfied again.
  2. Dead-End State: If the agent attempts a plan like , the second action will be blocked because its precondition is now false. The planner enters a dead-end state from which the original goal is unreachable.

Therefore, the only successful plan sequence that satisfies the goal is the one that correctly orders the dependencies:

This example underscores how the logical structure of PDDL forces the planner to perform sophisticated reasoning about causality and goal dependency, going beyond simple forward search to potentially employ backward-chaining or goal regression techniques to ensure all necessary preconditions are met before irreversible steps are taken.