Spring 2025: 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.
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:
After taking this class, it is expected that:
Prof. Stephen G. Ware, Ph.D.
Department of Computer Science
Davis Marksbury Building, Room 307
sgware@cs.uky.edu
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:
Assignment | Weight | Percentage |
---|---|---|
30 daily paper summaries | 1% each | 30% total |
1 to 5 research paper presentations | varies | 25% total |
3 planning algorithm programming projects | 15% each (1 dropped) | 30% total |
1 final project self-direct project | 15% | 15% total |
There will be no exams in this course.
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.
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:
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.
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.
Topic | Assignments |
---|---|
Monday, January 13 Introduction and Syllabus |
|
Wednesday, January 15 Uninformed Search |
|
Friday, January 17 Informed Search |
|
Monday, January 20 Holiday |
|
Wednesday, January 22 Logic |
|
Friday, January 24 Logical Unification |
|
Monday, January 27 GPS: The First Planner |
|
Least Committment Planning | |
Wednesday, January 29 Partial Order Planning |
|
Friday, January 31 Causal Links in Plans |
|
Monday, February 3 Least Committment Planning |
|
Wednesday, February 5 The UCPOP Planner |
|
Friday, February 7 Optimizing Partial Order Planners |
|
Monday, February 10 Threat Resolution Strategies |
|
Wednesday, February 12 Discussion and Review |
|
Friday, February 14 Hierarchical Task Networks |
|
Plan Graph Planning | |
Monday, February 17 Plan Graphs |
|
Wednesday, February 19 Graphplan |
|
Friday, February 21 Boolean Satisfiability |
|
Monday, February 24 Planning as Satisfiability |
|
Wednesday, February 26 Planning as Satisfiability using Plan Graphs |
|
Friday, February 28 Local Search on Plan Graphs |
|
Monday, March 3 Discussion and Review |
|
Heuristic Planning | |
Wednesday, March 5 The HSP Planner |
|
Friday, March 7 The Fast Forward Planner |
|
Monday, March 10 Multi-Valued Planning Tasks and Domain Transition Graphs |
|
Wednesday, March 12 The Fast Downward Planner |
|
Friday, March 14 Discussion and Review |
|
Monday, March 17 Holiday |
|
Wednesday, March 19 Holiday |
|
Friday, March 21 Holiday |
|
Monday, March 24 Project Deadline |
|
Advanced Techniques | |
Monday, March 24 Landmarks |
|
Wednesday, March 26 Improvements to Fast Forward |
|
Friday, March 28 Improvements to Partial Order Planning |
|
Monday, March 31 Width-Based Planning |
|
Wednesday, April 2 Portfolio Planning |
|
Friday, April 4 Discussion and Review |
|
Narrative Planning | |
Monday, April 7 Intentional Planning |
|
Wednesday, April 9 Planning with Conflict |
|
Friday, April 11 The Glaive Planner |
|
Monday, April 14 Beliefs |
|
Wednesday, April 16 Combining Beliefs and Intentions |
|
Friday, April 18 The Sabre Planner |
|
Monday, April 21 Review and Discussion |
|
Wednesday, April 23 Belief and Intention Recognition |
|
Friday, April 25 Emotion |
|
Monday, April 28 Salience |
|
Wednesday, April 30 Narrative Planning and Large Language Models |
|
Wednesday, May 7 Final Presentations |
|
Thursday, May 8 Final Project Due |
|