CS 541: Artificial Intelligence Planning

Instructors: Jim Blythe, Jose-Luis Ambite, and Yolanda Gil.

Time: Tuesday and Thursday, 3:30 - 4:50 PM

Location: THH 114

Course Description

Planning is a key ability for intelligent systems, increasing their autonomy and flexibility through the construction of sequences of actions to achieve their goals. It has been an area of research in artificial intelligence for over three decades. Planning techniques have been applied in a variety of tasks including robotics, process planning, web-based information gathering, autonomous agents and spacecraft mission control.

Planning involves the representation of actions and world models, reasoning about the effects of actions, and techniques for efficiently searching the space of possible plans.  This course will focus on the basic foundations and techniques in planning and survey a variety of planning systems and approaches.  The class will be run as a lecture course with hands-on experience with state-of-the-art planning systems. Topics covered in the course will include: action and plan representation, reactive systems, hierarchical and abstraction planning, case-based planning, machine learning in planning, multi-agent planning, interacting with the environment, planning under uncertainty, and recent applications such as web service composition and workflow construction on the computational Grid.

Prerequisites: CS561a (Introduction to AI), or by permission from the instructors.

Here are links to the 2000 and 1998 versions of this course.

Sample exams

Here are sample answers for the midterm.

Here is a sample midterm from the course that was given in Fall 2000.

Here is a sample final from that course.


Here is information about projects for the course, including deadlines.


The first homework assignment is available here. It is due on Sept 18th.

Discussion Group

Share your ideas and questions in the usc-csci-541 discussion group.



Suggested Readings are for student enrichment, and students will not be tested on those readings' content.


Aug 26: Action and plan representations, historical overview, STRIPS (Blythe)

Planning Approaches

Aug 28: Plan generation and causal-link planning 1 (Ambite)

Sep 02: Plan generation and causal-link planning 2 (Ambite)

Sep 04: Plan graph search (Ambite)

Sep 09: Planning as satisfiability, Planning as constraint satisfaction (Ambite)

Sep 11: Planning as model checking, OBDD (Ambite)

Sep 16: Planning on a computational grid (Blythe)

Sep 18: Hierarchical task network (HTN) planning (Ambite)

Sep 23: Planning using temporal logics (Blythe)

Sep 25: Heuristic search planning (Blythe)

Plan Representations

Sep 30: Knowledge representation for planning, ontologies, description logics (Gil)

Oct 02: Reasoning about time: temporal reasoning and scheduling (Blythe)

Controlling Search

Oct 07: Complexity of planning problems (Ambite)

Oct 09: Abstraction, macros, hierarchical planning (Knoblock)

Oct 14: Learning search control knowledge & case-based planning (Blythe)

Oct 16: Distributed & multi-agent planning (Gil)

Oct 21: Learning from an external environment (Wei-Min Shen)

Oct 23: Midterm

Oct 28: Planning and execution (Ambite)

Oct 30: Reactive systems (Gil)

Planning Under Uncertainty

Nov 04: Probabilistic planning (Blythe)

Nov 06: Planning in training simulation environments (Jon Gratch, ICT)

Nov 11: Probabilistic planning II, exogenous events (Blythe)

Nov 13: Planning and decision theory, Markov decision processes (Blythe)

Nov 18: Planning in space (guest speaker: Ben Smith, NASA JPL)

Nov 20: Mixed-initiative planning (Gil)

Nov 25: Final Review

Dec 02: Student presentations of course projects 1

Dec 04: Student presentations of course projects 2

Dec 16: Final exam