## Definition
**PDDL** (Planning Domain Definition Language) is the standard language for specifying [[Classical Planning]] problems. Introduced for the 1998 International Planning Competition (IPC), it provides a common format that all serious planners support.
## Structure
A PDDL problem has two files:
### Domain file
Describes the *general* structure:
```
(define (domain blocksworld)
(:predicates (on ?x ?y) (ontable ?x) (clear ?x) (handempty) (holding ?x))
(:action pickup
:parameters (?b)
:precondition (and (clear ?b) (ontable ?b) (handempty))
:effect (and (holding ?b) (not (clear ?b)) (not (ontable ?b)) (not (handempty))))
(:action putdown
:parameters (?b)
:precondition (holding ?b)
:effect (and (clear ?b) (ontable ?b) (handempty) (not (holding ?b))))
)
```
### Problem file
Describes the *specific* instance:
```
(define (problem blocksworld-1)
(:domain blocksworld)
(:objects A B C)
(:init (ontable A) (on B A) (on C B) (clear C) (handempty))
(:goal (and (on A B) (on B C) (ontable C)))
)
```
## Versions
- **PDDL 1.2 (1998).** STRIPS + ADL: basic strips, typing, equality, conditional effects.
- **PDDL 2.1 (2002).** Durative actions, numeric fluents.
- **PDDL 2.2 (2004).** Timed initial literals, derived predicates.
- **PDDL 3.0 (2006).** Soft constraints (preferences), trajectory constraints.
- **PDDL+ (2007).** Mixed discrete/continuous (hybrid systems).
- **MA-PDDL.** Multi-agent variants.
## Why PDDL Matters
- **Portability.** Same problem runs on dozens of competing planners.
- **Benchmark suite.** IPC benchmarks let researchers compare planner performance objectively.
- **Modular separation.** Domain (reusable) and problem (instance) split cleanly.
- **Industry adoption.** Used in space mission planning (NASA), logistics, manufacturing.
## Notable Planners (2026)
- **Fast Downward** — research-grade reference implementation.
- **LAMA** — landmark-based heuristics; strong on classical IPC benchmarks.
- **OPTIC, POPF** — temporal planners (PDDL 2.1).
- **Madagascar / SAT-based planners** — compile to SAT for hard instances.
## Limitations
PDDL inherits the assumptions of classical planning — fully observable, deterministic, single agent. For uncertainty: **PPDDL** (probabilistic PDDL) and **RDDL** (relational dynamic-influence diagram language).
## Connection to LLM Agents
Modern research investigates LLMs generating PDDL problem files from natural-language descriptions, then handing them to classical planners for execution. The combination — LLM for translation, classical planner for guarantees — outperforms either alone on tasks with verifiable success criteria.
## Related
- [[STRIPS]]
- [[Classical Planning]]
- [[Heuristic Planning]]
- [[GRAPHPLAN]]