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 will cover the aggregation of conflicting preferences and computational game theory. Throughout the course, we will discuss topics such as AI and Ethics and introduce applications related to AI for Social Good. 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 make decisions. We also expect students to acquire a strong appreciation of the big-picture aspects of developing fully autonomous intelligent agents.
The prequisites for this course are:
The corequisite for this course is:
For this corequisite, you should either have completed it prior to starting 15-281 or have it on your schedule for Fall 2024.
Please see the instructors if you are unsure whether your background is suitable for the course.
The calendar of office hours (and recitations) is below.
In addition to Pat's standing office hours on the calendar above, he often has "OH" (or "Open") appointment slots on his office hours appointment calendar.If no there are no available OH or appointments that meet your needs, please contact Pat via a private post on Ed with a list of times that work for you to meet.
Dates | Topic | Reading / Demo | Slides |
---|---|---|---|
8/27 Tue | Introduction | AIMA Ch. 1 | pptx (inked) pdf (inked) |
8/29 Thu | Agents and Search | AIMA Ch. 3.1-4 |
pptx
(inked)
pdf
(inked) Handout: pptx pdf |
9/3 Tue | Agents and Search (cont.) | ||
9/5 Thu | Informed Search | AIMA Ch. 3.5-6 | pptx (inked) pdf (inked) |
9/10 Tue | Adversarial Search | AIMA Ch. 5.1-2, 5.5 | pptx (inked) pdf (inked) |
9/12 Thu | Contraint Satisfaction Problems |
AIMA Ch. 6.1-3, 6.5 CSP Demo |
pptx (inked) pdf (inked) Video: Forward Checking Video: AC-3 Video: Ordering: MRV and LCV |
9/17 Tue | Optimization & Linear Programming |
Boyd and
Vandenberghe Ch. 2.2.1, 2.2.4, 4.3-4.3.1 Desmos Demos: |
pptx (inked) pdf (inked) |
9/19 Thu | Solving LPs & Integer Programming | Desmos Demos: IP | pptx (inked) pdf (inked) |
9/24 Tue | Propositional Logic | AIMA Ch. 7.1-4 | pptx (inked) pdf (inked) |
9/26 Thu | Logical Agents | AIMA Ch. 7.5-7 | pptx (inked) pdf (inked) |
10/1 Tue | MIDTERM 1 EXAM | In class | |
10/3 Thu | Planning | AIMA Ch. 11.1-3, 26.5 | pptx (inked) pdf (inked) |
10/8 Tue | Markov Decision Process I | AIMA Ch. 17.1-2 | pptx (inked) pdf (inked) |
10/10 Thu | Markov Decision Process II | pptx (inked) pdf (inked) | |
10/15 Tue | No class: Fall Break | ||
10/17 Thu | No class: Fall Break | ||
10/22 Tue | Reinforcement Learning I | AIMA Ch. 22.1-3 | pptx (inked) pdf (inked) |
10/24 Thu | Reinforcement Learning II | AIMA Ch. 22.4-4.3 | pptx (inked) pdf (inked) |
10/29 Tue | Bayes Nets: Representation |
AIMA Ch. 12.1-5, 13.1-2 Bayes Net Demo (highres) |
pptx (inked) pdf (inked) |
10/31 Thu | Bayes Nets: Independence | AIMA Ch. 12.4-5, 13.2, Jordan 2.1 | |
11/5 Tue | No class: Democracy Day | ||
11/7 Thu | MIDTERM 2 EXAM | In class | |
11/12 Tue | Bayes Nets: Inference | AIMA Ch. 13.3 | Video: Math for Variable Elimination |
11/14 Thu | Bayes Nets: Sampling |
AIMA Ch. 13.4 Likelihood Demo, Gibbs Demo |
|
11/19 Tue | Hidden Markov Models | AIMA Ch. 14.1-3 | |
11/21 Thu | Particle Filter & HMM Applications | AIMA Ch. 14.5 | |
11/26 Tue | Game Theory: Equilibrium | AIMA Ch. 18.1-2 | |
11/28 Thu | No class: Thanksgiving | ||
12/3 Tue | Game Theory: Social Choice | AIMA Ch. 18.4 | |
12/5 Thu | Ethics and Human Compatible AI | AIMA Ch. 16.7, 27.1-3 | |
12/15 | FINAL EXAM, Sunday 12/15, 5:30 - 8:30 pm, location TBD |
Recitations start the first week of class, Friday, Aug 30. Recitation attendence is recommended to help solidfy weekly course topics. That being said, the recitation materials published below are required content and are in-scope for midterm and final exams.
Recitation section assignments will be locked-down after the third week. Until then, you may try attending different recitation sections to find the best fit for you. In the case of any over-crowded recitation sections, priority goes to students that are officially registered for that section in SIO. The process to select your final recitation assignment will be announced on the course Q-and-A as we get closer to Recitation 4, Sept. 20.
Time | Location | Section | TAs | Resources | |
---|---|---|---|---|---|
Fri, 10:00 - 10:50 am | DH 1211 | A | Gavin, Theo | Section A Resources | |
Fri, 11:00 - 11:50 am | WEH 5312 | B | Ayush, Josep | Section B Resources | |
Fri, 12:00 - 12:50 pm | BH 235 B | C | Avi, Josep | Section C Resources | |
Fri, 1:00 - 1:50 pm | BH 235 B | D | Shruti, Theo | Section D Resources | |
Fri, 2:00 - 2:50 pm | POS 145 | E | Kate, Ethan | Section E Resources | |
Fri, 3:00 - 3:50 pm | GHC 4301 | F | Steven, Ethan | Section F Resources |
Dates | Recitation | Handouts | |
---|---|---|---|
8/30 Fri | Recitation 1 |
pdf (sol) nim.zip |
|
9/6 Fri | Recitation 2 | pdf (sol) | |
9/13 Fri | Recitation 3 | pdf (sol) | |
9/20 Fri | Recitation 4 | pdf (sol) | |
9/27 Fri | Recitation 5 | pdf (sol) | |
10/4 Fri | Recitation 6 | pdf (sol) | |
10/11 Fri | Recitation 7: MDPs | pdf (sol) | |
10/18 Fri | No Recitation: Fall Break | ||
10/25 Fri | Recitation 8: RL | pdf (sol) | |
11/1 Fri | Recitation 9: Probability | pdf (sol) | |
11/8 Fri | Recitation 10: Bayes Nets: Representation and Independence | pdf (sol) | |
11/15 Fri | Recitation 11 | ||
11/22 Fri | Recitation 12 | ||
11/29 Fri | No Recitation: Thanksgiving | ||
12/6 Fri | Recitation 13 |
The course includes two midterm exams and a final exam. The midterms will take place in lecture on Oct. 1 and Nov. 7. The final exam date is Sunday 12/15, 5:30 - 8:30 pm, location TBD. Plan any travel around exams, as exams will not be rescheduled.
There will be five programming assignments and twelve written/online assignments (subject to change). Written/online assignments will involve working through algorithms presented in the class, deriving and proving mathematical results, and critically analyzing material presented in class. Programming assignments will involve writing code in Python to implement various algorithms.
For any assignments that aren't released yet, the dates below are tentative and subject to change.
Assignment | Link (if released) | Due Date |
---|---|---|
P0 | P0: Tutorial (required, worth zero points) | 9/5 Thu, 10 pm |
HW1 (online) | Online | 9/5 Thu, 10 pm |
HW2 (online, written) |
Online hw2_blank.pdf, hw2.zip (tex src) |
9/12 Thu, 10 pm |
P1 | P1: Search and Games | 9/19 Thu, 10 pm |
HW3 (online) | Online | 9/19 Thu, 10 pm |
HW4 (online, written) |
Online hw4_blank.pdf, hw4.zip (tex src) |
9/26 Thu, 10 pm |
P2 | P2: Optimization | 10/3 Thu, 10 pm |
HW5 (online, written) |
Online hw5_blank.pdf, hw5.zip (tex src) |
10/10 Thu, 10 pm |
P3 | P3: Planning | 10/24 Thu, 10 pm |
HW6 (online) | Online | 10/24 Thu, 10 pm |
HW7 (online, written) |
Online hw7_blank.pdf, hw7.zip (tex src) |
10/31 Thu, 10 pm |
P4 | P4: Reinforcement Learning | 11/11 Mon, 10 pm |
HW8 (online) | Online | 11/11 Mon, 10 pm |
HW9 (online, written) |
Online hw9_blank.pdf, hw9.zip (tex src) |
11/18 Mon, 10 pm |
HW 10 (online, written) | Released Mon 11/18 | 11/25 Mon, 10 pm |
P5 | Released Mon 11/18 | 12/5 Thu, 10 pm |
HW11 (online) | Released Mon 11/25 | 12/5 Thu, 10 pm |
Below are course notes developed by the course staff over the years.
Topic | Link (if released) | |
---|---|---|
Search | Search Notes | |
CSPs | CSPs Notes | |
Linear and Integer Programming | LP/IP Notes | |
Midterm 2 | Propositional Logic and Logical Agents | Logic Notes |
Midterm 2 | Classical Planning | Classical Planning Notes |
Midterm 2 | Markov Decision Process | MDP Notes |
Midterm 2 | Reinforcement Learning | RL Notes |
Midterm 2 | Probability | Probability Notes |
Bayes Nets | Bayes Nets Notes | |
HMMs and Particle Filters | ||
Game Theory |
Grades will be collected and reported in Canvas. Please let us know if you believe there to be an error the grade reported in Canvas.
Final scores will be composed of:
This class is not curved. However, we convert final course scores to letter grades based on grade boundaries that are determined at the end of the semester. What follows is a rough guide to how course grades will be established, not a precise formula — we will fine-tune cutoffs and other details as we see fit after the end of the course. This is meant to help you set expectations and take action if your trajectory in the class does not take you to the grade you are hoping for. So, here's a rough heuristics about the correlation between final grades and total scores:
This heuristic assumes that the makeup of a student's grade is not wildly anomalous: exceptionally low overall scores on exams, programming assignments, or written assignments will be treated on a case-by-case basis and, while rare, could potentially drop a students grade.
Precise grade cutoffs will not be discussed at any point during or after the semester.
In class, we will use a series of polls as part of an active learning technique called Peer Instruction. Your participation grade will be based on the percentage of these in-class poll questions answered:
It is against the course academic integrity policy to answer in-class polls when you are not present in lecture. Violations of this policy will be reported as an academic integrity violation. Information about academic integrity at CMU may be found at https://www.cmu.edu/academic-integrity.
Programming assignments, written homework, and online homework:
Aside from this, there will be no extensions on assignments in
general. If you think you really really need an extension on a
particular assignment, contact the instructor as soon as possible and
before the deadline. Please be aware that extensions are entirely
discretionary and will be granted only in exceptional circumstances
outside of your control (e.g., due to severe illness or major
personal/family emergencies, but not for competitions, club-related
events or interviews). The instructors will require confirmation from
your academic advisor, as appropriate.
Nearly all situations that make you run late on an assignment homework
can be avoided with proper planning, often just starting early. Here
are some examples:
Again, you should be keeping track of how many slip days you have used, and ensure that you are both using no more than 2 slip days per assignment and using no more than 6 slip days in the semester. If you submit an assignment late but do not have enough slip days to use for either reason, one of two things will happen:
You are encouraged to submit a version of your assignment early. It is not a good idea to wait for the deadline for your first submission.
We encourage you to discuss course content and assignments with your classmates. However, these discussion must be kept at a conceptual level only.
The only exception to the above collaboration policy is when you share programming code directly with your programming assignment partner.
Violations of these policies will be reported as an academic integrity violation. Information about academic integrity at CMU may be found at https://www.cmu.edu/academic-integrity. Please contact the instructor if you ever have any questions regarding academic integrity or these collaboration policies.
If you have a disability and have an accommodations letter from the Disability Resources office, we encourage you to discuss your accommodations and needs with us as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to visit their website.
Take care of yourself. Do your best to maintain a healthy lifestyle
this semester by eating well, exercising, getting enough sleep, and
taking some time to relax. This will help you achieve your goals and
cope with stress.
All of us benefit from support during times of struggle. There are many
helpful resources available on campus and an important part of the
college experience is learning how to ask for help. Asking for support
sooner rather than later is almost always helpful.
If you or anyone you know experiences any academic stress, difficult
life events, or feelings like anxiety or depression, we strongly
encourage you to seek support. Counseling and Psychological Services
(CaPS) is here to help: call 412-268-2922 and visit their website at
http://www.cmu.edu/counseling/.
Consider reaching out to a friend, faculty or family member you trust
for help getting connected to the support that can help.
If you have questions about this or your coursework, please let us
know. Thank you, and have a great semester.