Chapter 8: Planning and PDDL

8.1 What is AI Planning?

Planning involves finding a sequence of actions to achieve a goal from an initial state.

Key Characteristics:

8.2 Planning Domain Definition Language (PDDL)

Standard language for representing planning problems with:

(define (domain blocksworld)
  (:requirements :strips)
  (:predicates (on ?x ?y) (clear ?x))
  (:action move
    :parameters (?from ?to)
    :precondition (and (on ?from ?to) (clear ?from))
    :effect (and (not (on ?from ?to)) (on ?from ?to))))
            

8.3 Planning Algorithms

Algorithm Description
STRIPS Classical planning with add/delete lists
Partial-Order Planning Flexible ordering of plan steps
GraphPlan Creates planning graph to find solutions
HTN Planning Hierarchical decomposition of tasks

8.4 Frequently Asked Exam Questions

  1. Compare classical planning with problem solving.
  2. Write PDDL for a simple planning domain.
  3. Explain how STRIPS represents actions.
  4. What are the advantages of HTN planning?
  5. Solve a blocksworld problem using planning techniques.