CS 660: Topics in Artificial Intelligence: Planning Algorithms

Spring 2024: Mondays, Wednesdays, and Fridays from 2:00 PM - 2:50 PM in F. Paul Anderson Tower, Room 255


Jump to today's date on the calendar.

Course Description

This is a seminar-style course for computer science graduate students interested in planning, a branch of artificial intelligence research. Planning is thinking before acting. Given a (1) description of the world in some formal logic, (2) a set of actions with preconditions and effects, and (3) a goal, a planning algorithm's task is to find a sequence of those actions which achieves that goal. Planning is computationally intractable, but the research community has developed a number of interesting techniques to mitigate this high cost and solve an impressive array of problems. Throughout this course, students will read important research papers in the field as well as implement and test historically important planning algorithms with guidance from the instructor. The course concludes with a self-defined project that allows students to explore a planning topic of interest.

Topics covered will include:

Student Learning Outcomes

After taking this class, it is expected that:


Prof. Stephen G. Ware, Ph.D.
Department of Computer Science
Davis Marksbury Building, Room 307
Office Hours: Monday, Wednesday, and Thursday from 4:00 PM to 5:00 PM


It is assumed that:


There is no required text for this course. The reading material will be research conference proceedings and journal articles provided to students as PDF files.


Grades for this class will be calculated based on the following assignments:

30 daily paper summaries1% each30% total
1 to 5 research paper presentationsvaries25% total
3 planning algorithm programming projects15% each (1 dropped)30% total
1 final project self-direct project15%15% total

There will be no exams in this course.

Readings and Paper Summaries

This is a seminar-style course, which means that most class meetings will be a discussion of an academic paper on planning algorithms. Critical discussions at the beginning of each unit will be led by the instructor, but other papers in each unit will be presented by a member of the class. Each person in the class will present between 1 and 5 papers over the course of the semester, depending on the number of people enrolled. Presentations will be graded according to this rubric.

Whether or not they are presenting, each person should read the day's paper before class. Each person must submit a short (about half a page) summary of the paper at the start of class. Each summary is worth 1% of the final grade, and they double as a measure of course attendance.

Programming Projects

This class is divided into several units. In units two, three, and four, we will discuss a related family of planning algorithms. By the end of each unit, each student must implement one of the algorithms in that family. The instructor will provide a library of helpful tools that for reading and processing benchmark planning problems; students will be responsible for filling in the "meat" of the algorithms--the interesting parts that affect their performance.

The instructor will provide a pre-configured IDE that includes a compiler, pre-written code libraries, and benchmark planning problems. By working in a common codebase, students will be able to make fair comparisons between their algorithms.

Each student's lowest programming project grade will be dropped at the end of the semester. (This policy does not apply to the final project.)

Click here to read the full details of each programming project.

The final project will be self-defined, and it will allow students to explore a topic of interest within planning algorithms. This project will require an initial proposal and a final presentation to communicate the results.


These policies are in place to maintain professionalism and mutual respect:

Academic Integrity

All students are expected to follow UK's code of academic integrity. Violations of this policy will be dealt with according to UK's policies.

Please be aware that copying code from another student or from an online repository such as GitHub for a programming project is cheating and will be dealt with as such. Please do not post solutions you develop for this class to public repositories where others could copy it.

University of Kentucky Academic Policies

This course abides by the academic policies that all UK courses must follow. These policies include information on excused absences, accomodations for disabilities, and and Prep Week.

This course abides by UK's statement on diversity, equity, and inclusion.


Introduction and Review

Monday, January 8
Introduction and Syllabus
  • Definition of planning
  • Class policies
  • Project codebase and IDE
Wednesday, January 10
Uninformed Search
  • Breadth First Search
  • Depth First Search
  • Iterative Deepening Depth First Search
  • Uniform Cost Search
  • Bidirectional Search
Friday, January 12
Informed Search
  • Heuristics
  • Greedy Search
  • A* Search
Monday, January 15
  • Dr. Martin Luther King Jr's Birthday
Wednesday, January 17
  • Propositional Logic
  • Predicate Logic
  • First Order Logic
  • Boolean Logic
  • Conjunctive and Disjunctive Normal Form
Friday, January 19
Logical Unification
  • Conjunctive and Disjunctive Normal Form
  • Unification
Monday, January 22
GPS: The First Planner
  • Read GPS: The General Problem Solver by Newell, Shaw, and Simon.
  • Focus: Understand what a planning problem is. What are the inputs and outputs to a planning algorithm?
  • Presenter: Ware
Least Committment Planning
Wednesday, January 24
Partial Order Planning
Friday, January 26
Causal Links in Plans
  • Read Systematic Non-Linear Planning by McAllester and Rosenblitt.
  • Focus: What is a causal link and how does it ensure the correctness of a plan? When are they unsafe?
  • Presenter: Coots
Monday, January 29
Least Committment Planning
Wednesday, January 31
The UCPOP Planner
Friday, February 2
Optimizing Partial Order Planners
Monday, February 5
Threat Resolution Strategies
Wednesday, February 7
Discussion and Review
Friday, February 9
Hierarchical Task Networks
Plan Graph Planning
Monday, February 12
Plan Graphs
Wednesday, February 14
Friday, February 16
Boolean Satisfiability
  • Review SAT problems.
Monday, February 19
Planning as Satisfiability
  • Read Planning as Satisfiability by Kautz and Selman.
  • Focus: How can a planning problem be translated into a SAT problem?
  • Presenter: Nahim
Wednesday, February 21
Planning as Satisfiability using Plan Graphs
  • Read Encoding Plans in Propositional Logic by Kautz, McAllester, and Selman.
  • Focus: How can plan graph be used to improve translating planning problems into SAT problems?
  • Presenter: Scott
Friday, February 23
Local Search on Plan Graphs
Monday, February 26
Discussion and Review
Heuristic Planning
Wednesday, February 28
The HSP Planner
Friday, March 1
The Fast Forward Planner
Monday, March 4
Domain Transition Graphs and Multi-Valued Planning Tasks
Wednesday, March 6
The Fast Downward Planner
Friday, March 8
Discussion and Review
Monday, March 11
  • Spring Break
Wednesday, March 13
  • Spring Break
Friday, March 15
  • Spring Break
Advanced Techniques
Monday, March 18
  • Read Landmarks Revisited by Richter, Helmert, and Westphal.
  • Focus: What is a landmark? How can they be discovered, and how do they help with search?
  • Presenter: Nahim
Wednesday, March 20
Improvements to Fast Forward
  • Read Who Said We Need to Relax All Variables? by Katz, Hoffmann, and Domshlak.
  • Focus: How does the Red-Black heuristic relax some but not all variables to improve heuristic estimates?
  • Presenter: Scott
Friday, March 22
Improvements to Partial Order Planning
Monday, March 25
Width-Based Planning
Wednesday, March 27
Portfolio Planning
Friday, March 29
Discussion and Review
Narrative Planning
Monday, April 1
Intentional Planning
Wednesday, April 3
Planning with Conflict
Friday, April 5
The Glaive Planner
Monday, April 8
Wednesday, April 10
Combining Beliefs and Intentions
Friday, April 12
The Sabre Planner
Monday, April 15
Wednesday, April 17
Belief and Intention Recognition
Friday, April 19
Monday, April 22
Speeding up Narrative Planning
Wednesday, April 24
Speeding up Narrative Planning
Monday, April 29
Final Presentations
Wednesday, May 1
Final Project Due