Lecture 9: Classical Planning and Planning Algorithms

From Problem Representation to Plan Execution

Understanding how AI agents plan sequences of actions to achieve goals
Back to Course Overview

Lecture Overview

This lecture introduces classical planning - the problem of finding sequences of actions to achieve goals. We'll explore how to represent planning problems using STRIPS and PDDL, and study different algorithms for solving them: forward search, backward search, and SAT-based planning.

Key Concepts: STRIPS, PDDL, State-Space Search, SAT Planning
Applications: Robotics, Logistics, Scheduling, Resource Allocation

📚 Planning Cheat Sheet Available!

Quick reference guide covering all key concepts, formulas, algorithms, and PDDL syntax. Perfect for studying and quick lookups!

Main Topics

Interactive Demonstrations

Visualize and interact with planning algorithms and PDDL in real-time.

Practical Exercises

Work through these exercises to master planning concepts and algorithms.

PDDL Problem Formulation

Learn to formulate planning problems in PDDL syntax with domain and problem files.

Forward Search Exercise

Practice forward state-space search with applicable actions and state transitions.

Backward Search Exercise

Master regression and goal-directed planning with relevant actions.

SAT-Based Planning Exercise

Convert planning problems to SAT formulas and solve with Boolean satisfiability.

Key Concepts Summary

Classical Planning:
  • Deterministic, fully observable environment
  • Discrete states and actions
  • Goal: sequence of actions to reach goal state
STRIPS & PDDL:
  • STRIPS: Precond, Add List, Delete List
  • PDDL: Modern standard with types
  • Result(s, a) = (s - Del(a)) ∪ Add(a)
Planning Algorithms:
  • Forward: Progression from initial state
  • Backward: Regression from goal
  • SAT: Convert to Boolean satisfiability
Key Properties:
  • Completeness: finds solution if exists
  • Optimality: finds shortest plan
  • Efficiency: heuristics reduce search
SE444: Artificial Intelligence | Lecture 9: Classical Planning and Planning Algorithms