15-381/781, Fall 2016

Artificial Intelligence: Representation and Problem Solving


Key Information

Sections A/B: Mondays + Wednesdays, 3:00pm - 4:20pm, GHC 4307

Section C: Tuesdays + Thursdays, 6:30pm - 7:50pm, GHC 4303

Sections A/B: Emma Brunskill, Ariel Procaccia

Section C: Gianni Di Caro

Zhaohan (Daniel) Guo, Nicolas Resch, Andrew Pratt, Klas Leino

15-381: 30% Final, 15% Midterm, 45% Homework, 10% Participation

15-781: 20% Final, 10% Midterm, 35% Homework, 10% Participation, 25% Project

Artificial Intelligence: A Modern Approach (Helpful, but not required)

This course is about the theory and practice of Artificial Intelligence. We will study modern techniques for computers to represent task-relevant information and make intelligent (i.e. satisficing or optimal) decisions towards the achievement of goals. The search and problem solving methods are applicable throughout a large range of industrial, civil, medical, financial, robotic, and information systems. We will investigate questions about AI systems such as: how to represent knowledge, how to effectively generate appropriate sequences of actions and how to search among alternatives to find optimal or near-optimal solutions. We will also explore how to deal with uncertainty in the world and how to learn from experience. We expect that by the end of the course students will have a thorough understanding of the algorithmic foundations of AI, how probability and AI are closely interrelated, and how automated agents learn. We also expect students to acquire a strong appreciation of the big-picture aspects of developing fully autonomous intelligent agents.


There are no formal pre-requisites for the course, but students should have previous programming experience (programming assignments will be given in Python), as well as some general CS background. Please see the instructors if you are unsure whether your background is suitable for the course.

Office Hours

Name Email Hours Location
Emma Brunskill ebrunskill@cs.cmu.edu TBD GHC 7217
Ariel Procaccia arielpro@cs.cmu.edu Fridays 3:30-4:30 GHC 7002
Gianni Di Caro gianni.di.caro@gmail.com TBD TBD
Zhaohan (Daniel) Guo zguo@cs.cmu.edu Wednesdays 4:30-5:30pm GHC 8127
Nicolas Resch nresch@cs.cmu.edu Tuesdays 11am-12 GHC 7507
Andrew Pratt aspratt@andrew.cmu.edu Mondays 5-6pm TBD
Klas Leino kleino@andrew.cmu.edu Thursdays 4-5pm TBD

Draft Schedule (Subject to change)

Sect A/B, C Topic Slides Video Reference Due Dates
8/29, 8/30 Introduction pdf panopto
8/31, 9/1 Uninformed Search
9/5, 9/6 Labor Day
9/7, 9/8 Constraint Satisfaction Problems
9/12, 9/13 Informed Search
9/14, 9/15 Motion Planning + Classical Planning 1
9/19, 9/20 Classical Planning 2
9/21, 9/22 Probability
9/26, 9/27 Graphical Models 1
9/28, 9/29 Graphical Models 2
10/3, 10/4 Markov Decision Processes
10/5, 10/6 Reinforcement Learning 1
10/10, 10/11 Reinforcement Learning 2
10/12, 10/13 Convex Optimization
10/17, 10/18 Integer Programming
10/19, 10/20 Midterm Exam this week. Exact date/time are not finalized.
10/24, 10/25 Machine Learning 1
10/26, 10/27 Machine Learning 2
10/31, 11/1 Deep Learning
11/2, 11/3 Natural Language Processing
11/7, 11/8 Vision
11/9, 11/10 Social Choice
11/14, 10/15 Multi-Robot Systems
11/16, 10/17 Game Theory 1
11/21, 11/22 Game Theory 2
11/23, 11/24 Thanksgiving
11/28, 11/29 Game Solving
11/30, 12/1 Swarm Intelligence 1
12/5, 12/6 Swarm Intelligence 2
12/7, 12/8 Q&A


There will be five assignments: they will involve both written answers and programming assignments. Written questions will involve working through algorithms presented in the class, deriving and proving mathematical results, and critically analyzing the material presented in class. Programming assignments will involve writing code in Python to implement various algorithms presented in class.

15-781 Project

Students enrolled in 15-781 will also complete a course project. Late days may not be used on the course project.

Homework Policies

  • Homework is due on autolab by the posted deadline. Assignments submitted past the deadline will incur the use of late days.

  • You have 6 late days, but cannot use more than 2 late days per homework. No credit will be given for homework submitted more than 2 days after the due date. After your 6 late days have been used you will receive 20% off for each additional day late.

  • You can discuss the exercises with your classmates, but you should write up your own solutions. If you find a solution in any source other than the material provided on the course website or the textbook, you must mention the source. You can work on the programming questions in pairs, but theoretical questions are always submitted individually. Make sure that you include a README file with your andrew id and your collaborator's andrew id.


The class includes both a midterm and final exam. The midterm will take place the week of October 17-21, and the final will take place during the time scheduled by the registrar. A list of the material to be covered during the midterm or final will be posted here prior to the exams.