Artificial Intelligence: Representation and Problem Solving
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.
Name | Hours | Location | |
---|---|---|---|
Emma Brunskill | ebrunskill@cs.cmu.edu | Thursdays 11am-12 (except Oct 20) | GHC 7217 |
Ariel Procaccia | arielpro@cs.cmu.edu | Fridays 4:00-5:00 | GHC 7002 |
Gianni Di Caro | gdicaro@cmu.edu | Mondays 1:30-2:30pm | GHC 7007 |
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 | GHC 5 Teaching Commons Table 4 |
Klas Leino | kleino@andrew.cmu.edu | Thursdays 4-5pm | GHC 7004 |
Dates (AB, C) | Topic | Instructor (AB,C) | Slides (AB, C) | Video | Reference |
---|---|---|---|---|---|
8/29, 8/30 | Introduction | Brunskill+Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | |
8/31, 9/1 | Uninformed Search | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 3 |
9/5, 9/6 | Local Search (Section C) Labor Day (Sections A/B) |
N/A, Di Caro | C-pdf | ||
9/7, 9/8 | Constraint Satisfaction Problems | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 6 |
9/12, 9/13 | Informed Search | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 3 |
9/14, 9/15 | Motion Planning + Classical Planning 1 | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 10, 25 |
9/19, 9/20 | Classical Planning 2 | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 10 |
9/21, 9/22 | Probability (AB) / Classical Planning (C) | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | |
9/26, 9/27 | Bayesian Networks 1 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 14 |
9/28, 9/29 | Bayesian Networks 2 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 14 |
10/3, 10/4 | Markov Decision Processes | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 17 |
10/5, 10/6 | Reinforcement Learning 1 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 21 |
10/10, 10/11 | Reinforcement Learning 2 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | R&N Ch. 21 |
10/12, 10/13 | Convex Optimization | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | |
10/17, 10/18 | Integer Programming | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | |
10/19, 10/20 | Midterm Exam | ||||
10/24, 10/25 | Machine Learning 1 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | |
10/26, 10/27 | Machine Learning 2 | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | |
10/31, 11/1 | Deep Learning | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | |
11/2, 11/3 | Vision | Brunskill, Di Caro | AB-pdf, C-pdf | AB-video | |
11/7, 11/8 | Natural Language Processing | Berg-Kirkpatrick, NA | ABC-pdf | AB-video | |
11/9, 11/10 | Social Choice | Procaccia, Procaccia | ABC-pdf | AB-video | S&LB Ch. 9 |
11/14, 11/15 | Multi-Robot Systems | Di Caro, Di Caro | ABC-pdf | AB-video | |
11/16, 11/17 | Game Theory 1 | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | S&LB Ch. 3 |
11/21, 11/22 | Game Theory 2 | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | |
11/23, 11/24 | Thanksgiving | ||||
11/28, 11/29 | Game theory 3 | Procaccia, Di Caro | AB-pdf, C-pdf | AB-video | S&LB Ch. 5 |
11/30, 12/1 | Swarm Intelligence 1 | Di Caro, Di Caro | AB-pdf, C-pdf | AB-video | |
12/5, 12/6 | Swarm Intelligence 2 | Di Caro, Di Caro | AB-pdf, C-pdf | AB-video | |
12/7 | Poster session | NA |
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.
Topic | Files | Due Dates |
---|---|---|
Homework 1 | hw1.tar | Sept 19 |
Homework 2 | hw2.tar | Oct 3 |
Homework 3 | hw3.tar | Oct 14 |
Homework 4 | hw4.tar | Nov 14 |
Homework 5 | hw5.tar (optional imagenet-vgg-f.mat) | Dec 2 |
Students enrolled in 15-781 will also complete a course project. Late days may not be used on the course project.
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.