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. Other lectures will introduce additional aspects of AI, including robotics, natural language processing, computer vision, game theory, and deep learning.
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 | |
---|---|---|---|
Alex Waibel | waibel@cs.cmu.edu | Monday 3:00-4:00PM | InterACT, 407 South Craig Street, Room 205 |
Jonathon Buckley | jpbuckle@andrew.cmu.edu | Tuesday 1:30-2:30PM | Citadel Teaching Commons Table 4 |
Alex Frieder | afrieder@andrew.cmu.edu | Wednesday 4:30-6:30PM | Citadel Teaching Commons Table 1 |
Joseph Giampapa | garof@cs.cmu.edu | By appointment | GHC 5515 |
Justus Hibshman | jhibshma@andrew.cmu.edu | Tuesday 5:00-6:30PM | Citadel Teaching Commons Table 1 |
Ting-Yao Hu | tingyaoh@andrew.cmu.edu | Monday 4:00-5:00PM | GHC 6509 |
Date | Topic | Reference | Supplemental Reading | Remarks / Due Dates |
---|---|---|---|---|
17-Jan-17 | Introduction | R+N Chapter 1 | Time 1978 CS Article | |
19-Jan-17 | Uninformed Search | R+N Chapter 3 | ||
24-Jan-17 | Informed Search | |||
26-Jan-17 | Local Search | R+N Chapter 3 | HW1 due 2/9/17 at 11:59 pm | |
31-Jan-17 | Constraint Satisfaction Problems (CSPs) | R+N Chapter 6 | AW away | |
02-Feb-17 | Classical Planning | R+N Chapters 10, 25 | Prof. Jaime Carbonell | |
07-Feb-17 | Dynamic Programming | No readings assigned. | Reminder: HW1 on Thursday, 2/9/17 at 11:59pm | |
09-Feb-17 | Signal Processing | No readings assigned. | HW2 due 2/22/17 at 11:59 pm | |
14-Feb-17 | Finished Signal Processing | |||
16-Feb-17 | Classification | |||
21-Feb-17 | Classification II | |||
23-Feb-17 | Machine Learning 1 | HW3 due 3/8/17 at 11:59 pm | ||
28-Feb-17 | Active Learning | Prof. Jaime Carbonell | ||
2-Mar-17 | Machine Learning 2 | |||
7-Mar-17 | Deep Learning 1 | |||
9-Mar-17 | Midterm Exam | |||
14-Mar-17 | Spring Break - No Classes | |||
16-Mar-17 | Spring Break - No Classes | |||
21-Mar-17 | Deep Learning 2 | |||
23-Mar-17 | Deep Learning - Generalization | |||
28-Mar-17 | Hidden Markov Models | |||
30-Mar-17 | Bayesian Networks | HW4 due 4/12/17 at 11:59 pm | ||
4-Apr-17 | Markov Decision Processes | |||
6-Apr-17 | Reinforcement Learning | |||
11-Apr-17 | Game Theory 1 | |||
13-Apr-17 | Game Theory 2 | |||
18-Apr-17 | Speech, TDNN's, and Convolutional Nets | |||
20-Apr-17 | Spring Carnival | |||
25-Apr-17 | Motion Planning and Classical Planning | |||
27-Apr-17 | Multi-Robot Systems | |||
2-May-17 | Language Processing, Machine Translation, Vision | |||
4-May-17 | Project Presentations, Wrap-Up |
There will be five sets of assignments for the course: four homeworks involving 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.
In addition to the four homeworks, there will be a longer class project, due and presented on the final day of class. Projcts may be done in teams of 2-3 students (rare exceptions may be given to students who want to work alone on a project), and will involve applying the techniques learned in class to one of four "challenge problems" presented in the project assignment description.
Homework is due at 23:59, thirteen days after it was assigned. It will be submitted via AutoLab.
Each student receives a total of six late days to use throughout the semester. These late days extend the deadline for 24 hours (so homeworks are due at 23:59 on the corresponding day), and can be distributed amongst the three homeworks, but no more than 2 late days may be used on any assignment.
After you spend your six late days, you will receive 20% off per day on any assignment handed in late up to the two days. However, no credit will be given for any assignment turned in more than two days late, as we will post the solutions to the problem set at that point. Late days apply to the entire assignments, so that handing in one problem late counts as a late day towards the whole assignment.
You may discuss the problem sets with other students in the class. However, your final written answers and code must be completed independently.
The class includes both a midterm and final exam. The midterm will tentatively take place during class on March 9, and the final will take place on May 11 from 1 pm - 4 pm. A list of the material to be covered during the midterm or final will be posted here prior to the exams.