CPSC 322 - Introduction to Artificial Intelligence (Winter 2019, Term 2)
Overview
Course Description: This course provides an introduction to the field of artificial intelligence. The major topics covered will include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, and planning under uncertainty.- Meeting Times: Tuesday, Thursday, 2 - 3:30 PM
- First Class: Thu, Jan 3, 2019
- Location: West Mall Swing Space, room 121
- Instructor: Jordon Johnson (jordon@cs.ubc.ca)
- Instructor's Office Location: ICCS 255
- Instructor's Office Hours: Mondays, 1-2pm, ICCS 306
- TAs:
- Raymond Li (raymondl@cs.ubc.ca)
- Egor Peshkov (e.peshkov@alumni.ubc.ca)
- Elena Podina (e.podina@alumni.ubc.ca)
- Cindy Tu (yu-hsin.tu@alumni.ubc.ca)
- Matthew Wilson (matwilso@cs.ubc.ca)
- TA office hours will be posted on Piazza.
- Course Discussion Board: (the place to submit your questions and get answers, as well as see answers given to others) Sign up here
- AISpace: demo applets that illustrate some of the techniques covered in class
- Prerequisites: Either (a) CPSC 221 or (b) both of CPSC 260, EECE 320 and one of CPSC 210, EECE 210, EECE 309.
Grades
Evaluation will be based on a set of assignments, a midterm, and an exam.
Due to the various issues surrounding COVID-19, in keeping with recent guidance from the Faculty of Science there will be two possible weighting schemes:
Assigments | Midterm | Final | |
---|---|---|---|
Scheme 1 | 30% | 40% | 30% |
Scheme 2 | 45% | 50% | 5% |
Each student will be graded according to the scheme that maximizes their final grade. In addition, the requirement that students pass the final exam to pass the course has been discontinued for this term.
Textbook
Selected Chapters of Artificial Intelligence: foundations of computational agents by David Poole and Alan Mackworth, Cambridge University Press, 2010 - Complete book available online
Although this text will be our main reference for the class, it must be stressed that you will need to know all the material covered in class, whether or not it is included in the readings or available on-line. Likewise, you are responsible for all the material in assigned readings, whether or not it is covered in class.
If you'd like to refer to an alternate text, I recommend Russell and Norvig's Artificial Intelligence: A Modern Approach (third edition). A copy should be on reserve in the CS reading room.
Further readings on topics covered in 322
Assignments
Your overall assignment grade will be computed by adding up the number of points you get across all assignments, dividing this number by the number of possible points, and multiplying by the assignment weight. Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.
Working with a partner on assignments is permitted. To promote this collaboration, you will receive a 5% bonus to any assignment where you work with a partner (though the bonus cannot bring the score for a given assignment to over 100%). To optimize your learning, you should actively collaborate with your partner, rather than simply having each partner work on part of the assignment. Each partnership should submit a single submission; if both partners submit, the partnership bonus will be withdrawn.
Assignments are to be typed (not handwritten; also, no hand-drawn figures) and submitted electronically on Canvas by 11:59pm on the due date. For each assignment, your submission must be formatted as a single PDF file; other types of submissions (non-pdf, multiple files, etc.) will not be graded. Your name(s) and student number(s) must appear at the top of the first page of your submission. Also, Canvas provides the ability to write notes about your submissions; however, we will not be looking at those notes, so please refrain from using that functionality.
Late Assignments
Every student is allotted four "late days", which allow assignments to be handed in late without penalty on four days or parts of days during the term. The purpose of late days is to allow students the flexibility to manage unexpected obstacles to coursework that arise during the course of the term, such as travel, moderate illness, conflicts with other courses, extracurricular obligations, job interviews, etc. Thus, additional late days will not be granted except under truly exceptional circumstances. If an assignment is submitted late and a student has used up all of their late days (or has not claimed any late days for that assignment), 20% will be deducted for every day the assignment is late (eg. an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points). Working with a partner does not increase your total number of available late days.
You may claim any number of your remaining late days on any given assignment. To do so, simply state on the first page of your submission how many late days you are claiming. In order to help ensure the timely return of assignment grades, however, you may not submit any assignment more than four days late, whether or not you are claiming late days. Any exceptions to these rules will be specified in the relevant assignments.
Missing Deadlines or Exams
In truly exceptional circumstances, the following arrangements may be made:
- If an assignment cannot be completed, the assignment grade will be computed based on the remaining assignments. Note that such an arrangement is extremely unusual; the late day system is intended to allow students to accommodate disruptions from moderate illness without contacting the instructor.
- If the midterm is missed, its weight will be shifted to the final.
- If the final is missed, a make-up final will be scheduled (in most cases, you will be required to write the exam during the exam period of the next available course offering). In this case, you will first need to seek deferred standing from the advising office of your faculty (Science advising, Arts advising, etc.).
Academic Conduct
Submitting the work of another person as your own constitutes academic misconduct, as does communication with others in ways other than those permitted for homework and exams. Such actions will not be tolerated.
- You may ask questions about assignment questions on Piazza. However, you may not publicly post your work or solutions (whether complete or partial).
- You may fully collaborate with your partner. You may also discuss the assignments with other students; however:
- You may not show your work to other students or look at other students' work (the same applies to sharing answers or checking whether you got the same answers as other students)
- You may not take away any written record of your discussions with other students
- After discussions with other students, you must wait at least half an hour before working on the assignment, to help ensure that you are working from your own understanding of the material
- You must cite any external sources used. The course materials, including AIspace, are not considered external sources. No particular citation format is required, so long as we can easily use your citation to locate the source.
Academic misconduct is subject to the following minimum penalties:
- Assignment: a grade of zero on that assignment
- Midterm or final exam: a grade of zero on that exam
- iClickers: no clicker bonus
Schedule
Here is where you can find the course schedule and the PDF files from lectures. These dates may change throughout the term, but this schedule will be kept up to date. Assignment due dates are provided to give you a rough sense; however, they are also subject to change. I will try to always post the slides in advance (i.e. post the slides for the week at the beginning of the week).
Week | Lectures | Textbook | Notes |
Jan 6-10 |
What is AI? [pdf]
Representational Dimensions [pdf] Applications of AI [pdf] |
1.1-1.3
1.4, 1.5 1.6 |
|
Jan 13-17 |
Search: Intro [pdf]
Search: Uninformed search, DFS and BFS [pdf] Search: IDS, search with costs [pdf] |
3.1-3.4
3.5.1, 3.5.2 3.7.3, 3.5.3 |
Assignment 0 (see Canvas and/or Piazza) due Jan 18
ex1 ex2 (AIspace) ex3 (AIspace) |
Jan 20-24 |
Search: Heuristic Search [pdf]
Search: BestFS, A*, optimality [pdf] Branch&Bound, IDA*, Pruning, Dynamic Programming [pdf] |
3.6 intro
3.6.1 3.7.1, 3.8.1 |
ex4 (AIspace) |
Jan 27-31 |
CSPs: Introduction [pdf]
CSPs: Search and Consistency [pdf] CSPs: Arc Consistency and Domain Splitting [pdf] |
4.1, 4.2
4.3, 4.4 4.5, 4.6 |
Assignment 1 due Jan 31 |
Feb 3-7 |
CSPs: Local Search [pdf]
CSPs: Stochastic Local Search [pdf] CSPs: SLS variants (Sim. Annealing + Pop. based) [pdf] |
4.7
4.7.1, 4.7.2, 4.7.4 4.7.3, 4.8 |
|
Feb 10-14 | Planning: Representations and Forward Search [pdf]
Planning: Heuristics and CSP Planning [pdf] |
6.1 (skip 6.1.3), 6.2
6.4 |
Assignment 2 due Feb 14
Summary of Planning Competition 2008 (slides 15-18 for participating planners, slide 24 for domains) Delivery robot STRIPS->CSP available in AIspace simpleCommuting.xml complexCommuting.xml |
Feb 17-21 | FAMILY DAY + READING WEEK (no classes) | ||
Feb 24-28 | Logic: Intro and Syntax [pdf]
Logic: Semantics and Bottom-Up Proofs [pdf] |
5.3.2
5.1, 5.3 5.3.2 |
MIDTERM February 25 (in class) |
Mar 2-6 | Logic: BU Sound and Complete [pdf]
Logic: Domain Modeling and Top-Down Proofs [pdf] Logic: Datalog [pdf] |
5.3, 13.3 (basic concepts) | ex5.9, exDatalog (load in AIspace) |
Mar 9-13 | Uncertainty: Probability Theory [pdf]
Uncertainty: Conditional Probability [pdf] Uncertainty: Conditional Independence [pdf] |
8.1, 8.1.1, 8.1.2
8.1.3 8.2 |
Assignment 3 due Mar 13 |
Mar 16-20 | Uncertainty: Intro to Belief Networks [pdf]
Uncertainty: Belief Nets (indep. compactness, apps) [pdf] |
8.3
8.3, 8.3.2 |
burglary example (load in AIspace)
email spam example (load in AIspace) |
Mar 23-27 | Uncertainty: BNet inference (intro to Variable Elimination) [pdf]
Uncertainty: Variable Elimination Example [pdf] Uncertainty: Temporal Probabilistic Models [pdf] |
8.4.1
8.5-8.5.1 |
|
Mar 30 - Apr 3 | Uncertainty: Hidden Markov Models [pdf]
Decision Theory: Single Stage Decisions [pdf] Decision Theory: Sequential Decisions (policies) [pdf] |
8.5.2
9.2 9.3 |
Assignment 4 due Apr 3
robot example, umbrella example (load in AIspace) |
Apr 6-8 | TBD | TBD | If we need to take extra time on course content, we will use our last day of class to finish up. Otherwise, we may use this time for review or to preview content from CPSC 422. |
FINAL EXAM | April 20, 2020 | 8:30 AM | Online (details to be made available) |