Welcome to CPSC 322!
This course provides an introduction to the field of artificial intelligence (AI). The major topics covered include reasoning and representation, search, constraint satisfaction problems, planning, logic, reasoning under uncertainty, and planning under uncertainty.
By the end of this course students should be able to
- explain what AI is and what it can and cannot do
- discuss the nature of fundamental problem types (constraint satisfaction, query/inference, and planning) and environment types (deterministic and stochastic)
- discuss core representation and reasoning (R&R) systems in AI, including (but not limited to)
- informed search
- local search and its stochastic variants
- planning representations such as STRIPS
- propositional definite clause logic
- probabilistic reasoning using Bayesian networks and other graphical models
- apply appropriate R&R systems to solve problems based on the problem type and environment
Either (a) CPSC 221 or (b) both of CPSC 260, EECE 320 and one of CPSC 210, EECE 210, EECE 309. Please note that the CPSC department enforces prerequisites. Students without appropriate prerequisites will get a “missing prerequisite” letter near the start of the course. Watch for it in your e-mail, if you fall into this category, and follow the instructions in the letter to resolve it. If you do not have the prerequisites, you will be dropped from the course.
The class meetings will be held on Tuesdays (T) and Thursdays (R) in the Fall 2019 semester. Below are the details of the class meetings.
Section | Instructor | Time | Location |
---|---|---|---|
1 | Hazra Imran | T & R 14:00 to 15:30 | Instructional Resources Centre (IRC) Room #6 |
2 | Varada Kolhatkar | T & R 17:00 to 18:30 | Leonard S. Klinck building, Room #201 |
Position | Name | |
---|---|---|
Instructor (Section 1) | Hazra Imran | hazra@cs.ubc.ca |
Instructor (Section 2) | Varada Kolhatkar | kvarada@mail.ubc.ca |
TA | Kyle Clarkson | clarkson@cs.ubc.ca |
TA | Ganesh Jawahar | ganeshjw@cs.ubc.ca |
TA | Siddhesh Khandelwal | skhandel@cs.ubc.ca |
TA | Raymond Li | raymondl@cs.ubc.ca |
TA | Tzu-yun (Ariel) Shann | shannari@cs.ubc.ca |
TA | Beriwan Salamat Ravandi | beriwan.ravandi@alumni.ubc.ca |
Day | Name | Time | Location |
---|---|---|---|
Monday (Dec 2) | Ariel | 10:30 to 11:30 AM | ICCS X239 |
Monday (Dec 2) | Ganesh | 12 to 1:00 PM | ICCS X339 |
Tuesday (Dec 3) | Kyle | 11 to 12:00 PM | ICCS X241 |
Wednesday (Dec 4) | Siddesh | 11 to 12:00 PM | ICCS X239 |
Thursday (Dec 5) | Hazra | 11 to 1 | ICCS 249 |
Friday (Dec 6) | Varada | 11:00 to 12:00 PM | ICCS 185 |
Note: Office hours can also be seen [here] (https://my.cs.ubc.ca/course/cpsc-322).
Deadline | Date | Notes |
---|---|---|
First class | Thursday, Sept 5, 2019 | No class on the Imagine Day (Sept 3). |
Add/drop deadline | Tuesday, Sept 17, 2019 | You can drop the course on or before this date without getting a ‘W’ (for “withdrawal”) on your official transcript. |
Final withdrawal deadline | Friday, Oct 11, 2019 | Beyond this date, you will get a numeric grade for the course. |
Last class | Thursday, Nov 28, 2019 | |
Final exam | Monday, Dec 09, 2019, 7 PM, Location: SRC A | Do not make any travel plans during that period. |
Topic-level learning goals are useful for self-evaluation and preparing for exams. The lecture slides will contain the topic-level learning goals. These are useful for self-evaluation and when studying for exams. They also give you (and future employers) a more detailed view of the course’s contents than a typical calendar entry or a list of topics would.
Week | Tuesday | Thursday | Announcements | Lecture notes/in class activities (102) |
---|---|---|---|---|
1 | Sept 3 Imagine Day (no class) |
Sept 5 What is AI? [1.1-1.3] |
Assignment 0 released | lecture1_intro.pdf |
2 | Sept 10 Representational Dimensions [1.4-1.5] Applications of AI [1.6] |
Sept 12 Search: Intro [3.1-3.4] |
Assignment 0 due on Sept 9 at 11:59 PM | lecture2_representational_dimensions.pdf lecture3_search_intro.pdf |
3 | Sept 17 Search: Uninformed search, DFS and BFS [3.5.1, 3.5.2] |
Sept 19 Search: IDS, search with costs [3.5.3, 3.5.4, 3.7.3] Search: Heuristic Search [3.6] |
Assignment 1 released on Sep 16 | lecture4_uninformed_search.pdf Activity: BFS_DFS (solution) lecture5_IDS_LCFS_heuristic.pdf |
4 | Sept 24 Search: BestFS, A*, optimality [3.6.1] |
Sept 26 Branch & Bound, IDA*, Pruning [3.7.1, 3.7.4] |
lecture6_best_first_A_star.pdf lecture7_A_star_optimality_BB.pdf |
|
5 | Oct 1 CSPs: Introduction [4.1, 4.2] |
Oct 3 CSPs: Search and Consistency [4.3, 4.4] |
Assignment 1 due on Sep 30 at 11:59 PM | lecture8_CSPs_intro.pdf Activity: CSP_intro (solution) lecture9_CSPs_search.pdf Activity:CSP_search (solution) |
6 | Oct 8 CSPs: Arc Consistency and Domain Splitting [4.5, 4.6] |
Oct 10 CSPs: Local Search [4.7] |
lecture10_CSPs_arc_consistency.pdf lecture11_domain_splitting_local_search.pdf Activity: CSP_arc_consistency (solution) |
|
7 | Oct 15 CSPs: Stochastic Local Search [4.7.1, 4.7.2, 4.7.4] |
Oct 17 CSPs: SLS variants (Sim. Annealing + Pop. based) [4.7.3, 4.8] |
lecture12_SLS.pdf Activity: CSP_SLS (solution) lecture13_SLS_variants.pdf |
|
8 | Oct 22 Planning: Representations and Forward Search [6.1 (skip 6.1.3)] |
Oct 24 Midterm prep (no class) |
Assignment 2 due on Oct 21 at 11:59 PM Midterm on Friday, Oct 25th from 6pm to 7pm at WOOD 2 |
lecture14_planning_intro.pdf |
9 | Oct 29 Planning: Heuristics and CSP Planning [6.2, 6.4] |
Oct 31 Logic: Intro and Syntax [5.3.2] |
Assignment 3 released on Oct 28th Midterm returned |
lecture15_planning_CSP.pdf lecture16_logic.pdf |
10 | Nov 5 Logic: Semantics and Bottom-Up Proofs, BU Soundness and Completeness [5.1, 5.3, 5.3.2] |
Nov 7 Logic:Top-Down Proofs [5.5,5.3.2] Logic: Datalog (basic concepts) [13.3] |
lecture17_logic_bottom_up_proofs.pdf Activity: BU_proofs Try this with AIspace deduction applet lecture18_logic_top_down_DL.pdf |
|
11 | Nov 12 Uncertainty: Probability Theory [8.1, 8.1.1, 8.1.2 ] Uncertainty: Conditional Probability [8.1.3 ] Uncertainty: Conditional Independence [8.2] |
Nov 14 Uncertainty: Intro to Belief Networks [8.3] |
Assignment 3 due on Nov 11 at 11:59 PM | lecture19_uncertainty_probability_intro.pdf Activity: Probability (solution) lecture20_uncertainty_independence |
12 | Nov 19 Uncertainty: Belief Nets (indep. compactness, apps) [8.3, 8.3.2] |
Nov 21 Uncertainty: BNet inference (intro to Variable Elimination)[8.4.1] |
lecture21_uncertainty_bayes_net lecture22_uncertainty_VE |
|
13 | Nov 26 Uncertainty: Temporal Probabilistic Models [8.5.1] Uncertainty: Hidden Markov Models [8.5.2] |
Nov 28 Decision Theory: Single Stage Decisions [9.2] Decision Theory: Sequential Decisions (policies) [9.3] Revision |
Assignment 4 due on Nov 29 at 11:59 PM | lecture23_uncertainty_Markov lecture24_decision_theory_intro |
We will be using Canvas, which is UBC’s Learning Management System, for assignment submissions and grades.
UBC’s IT Services group is hosting Canvas. If you don’t already have a Campus-Wide Login (CWL) account, visit the cwl website to get one. All registered students for CPSC 322 who have a CWL ID will automatically have their CWL ID linked to the CPSC 322 Canvas pages. If you are taking other courses that use Canvas, then your CWL ID will be linked to those courses too. If you have trouble accessing Canvas, get help from technical support.
Piazza will host the following course-related material.
- This document (the course outline)
- Lecture slides for both sections
- Assignments and sample midterm exams (with solutions)
- Course discussion board (also called a “bulletin board”)
Please download the current slides before coming to class. You will need to take your own supplementary notes in class. Please be advised that you are responsible for all material presented in the lectures, and in the appropriate parts of the textbook and assignments. We may also use the board or the document camera in class; so, not everything will be on the annotated slides. So, be sure to attend classes.
You’ll find our class’s Piazza discussion board here. You should read it at least once per day. Students are encouraged to answer questions, which will allow you to get better at articulating your opinions, providing support for your views, developing arguments, and listening and relating to the views of others. Questions about the CPSC 322 course contents (e.g., lecture, textbook, assignments) can be posted on the Piazza discussion board, but please check to make sure that your question hasn’t already been asked or answered. In previous terms, students have asked the same questions over and over. Remember, you can always re-read notes that you’ve already seen, and you can search for keywords within Piazza.
The TAs and instructor will be monitoring and responding to questions daily, but students are also encouraged to respond to postings and questions. Do not post code or solutions on the bulletin board (except for perhaps small fragments, if necessary).
Piazza registration instructions are found on Canvas. If you are registering for Piazza with your CPSC department e-mail address of the form xxxx@ugrad.cs.ubc.ca or yyyy@cs.ubc.ca, or a UBC alumni e-mail address of the form zzzz@alumni.ubc.ca that lets us easily determine who you are, then you don’t have to do anything else. However, if you not using such an e-mail address or if you are using a pseudonym (i.e., a fake name -- but please don’t pick the name of a celebrity, sports star, other student, etc.), then you have to contact the Rui Ge. Send them the following information.
- Your first and last name
- Your student ID
Most students seem to use their own name rather than a pseudonym, but Canadian privacy law requires us to give students the option.
The CPSC 322 access code for Piazza will be found on Canvas and will also be mentioned in class. Canvas can’t handle waitlisted students; so, that’s why we are using Piazza for some of the course content. After the drop deadline, unregistered students will be dropped from Piazza.
We are here to help you. Go to office hours (Piazza is NOT a good substitute for this). Poll for office hour availability will be posted on Piazza. Once finalized, office hours will be posted on Piazza. You may schedule an appointment if you cannot attend office hours or in special circumstances.
Because this is a very large class, it is simply not practical for the instructor or the TAs to respond to individual e-mail requests (or private postings) of a general nature. Limit such e-mail to items having a personal or confidential nature (e.g., illness). Lectures, tutorials, office hours, and Piazza are suitable places to ask general questions.
-
(required) Artificial Intelligence 2E: Foundations of Computational Agents (2017) by David Poole and Alan Mackworth (of UBC!). Complete book is available online.
-
(optional) Artificial intelligence: A Modern Approach by Russell, Stuart and Peter Norvig.
We will be covering selected chapters of Artificial Intelligence: foundations of computational agents by David Poole and Alan Mackworth, Cambridge University Press, 2010. 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 online. 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, we recommend Russell and Norvig's Artificial Intelligence: A Modern Approach (third edition). We've arranged for a copy to be put on reserve in the CS reading room. All students can use the Reading Room; but it’s closed after hours. The links to these libraries are here:
This course will use iClickers. If you don’t have an iClicker handheld device from a previous UBC course, you should get one from the UBC Bookstore, the Discount Textbook store, or from a reliable, second-hand source at UBC. You’ll need to register the clicker ID on Canvas sometime during the term to map your clicker ID to your student number (to credit your marks), unless you’ve already done this for another course on Canvas. A few times per term, we will upload the clicker grades to Canvas and announce this on Piazza. If the sticker on the back of your clicker has rubbed off and you don’t know your clicker number, come and see instructor Hazra during office hours. Alternatively, visit CTLT in the basement of the Ike Barber building, and they can help you.
In-Class Exercises marks will be based on participation and on effort at solving the problems. The exercises will be marked on a 0-1-2-point scale for effort and completion—not necessarily the correct answers. The in-class exercise sheets will be handed out in the class, and you will submit the completed sheets before leaving the lecture room.
We will be using AISpace, a demo applet to illustrate some of the techniques covered in class.
Evaluation will be based on a set of assignments, a midterm, and the final exam. You must pass the final exam in order to pass the course. The instructor reserves the right to adjust this grading scheme during the term, if necessary.
# | Deliverable | % grade |
---|---|---|
1 | Assignments | 25 |
2 | Midterm | 20 |
3 | Final exam | 50 |
4 | iClicker/in-class activities | 5 |
If your grade improves substantially from the midterm to the final, defined as a final exam grade that is at least 20% higher than the midterm grade, then the following exam grade breakdown will be used instead.
- Midterm -- 10%
- Final -- 60%
Clicker marks will be based on participation and correctness. We’ll count the best 90% of questions over the term. Note that the goal of this policy is to cover cases where you are absent or forget your clicker, so there are no "excused absences" from the clicker questions. However, if you will be absent for long periods of time, please come and talk to your instructor.
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 25. Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.
You are allowed to work on assignments with a partner. Assignments are to be submitted electronically on Canvas before 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.
There will be one midterm and one final examination. Each exam will be closed book with no calculators or notes allowed. If you cannot write an exam (e.g., due to illness), you should obtain suitable documentation (e.g., doctor’s note) and inform the instructor ASAP—not after you’ve written the exam. Depending on how many students are sick, and at the instructors’ discretion, there may be an additional make-up exam scheduled; otherwise, your final exam grade will be applied to your midterm. Midterms will be held during class time. We will confirm the date soon.
Students who have a legitimate conflict with the exam time must notify the instructor at least one week prior to the exam, and we will make alternate arrangements.
The final examination will be written on a date in December to be determined by the University. If you cannot write the final exam, then you must provide documentation (e.g., a doctor’s note) to your home Faculty office. For example, if you are in Science, then it will be the Faculty of Science; if you are in Engineering, then it will be the Faculty of Applied Science; and similarly, for Arts, Commerce, etc. You will write an exam at a future date determined by the University; usually, this is during the deferred exam period. Important note: Your home faculty office may not allow you to write a deferred final exam (even if you have a doctor’s note) if your term work is incomplete (e.g., missing midterm or missing classes).
- Final Examination
- Monday, Dec 09, 2019, 7 PM, Location: SRC A
We reserve the right to change this scheme at any time, though we do not anticipate doing so.
- We like answers that are: correct, easy to read, and as short as possible while including important information. We may penalize answers that include information that is not directly related to the question.
- We value conceptual understanding over memorization. If you prioritize understanding over grades, then you increase the likelihood of getting both. If you prioritize grades over understanding, then you increase the likelihood of getting neither.
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. (E.g., an assignment 2 days late and graded out of 100 points will be awarded a maximum of 60 points.)
- You may use up to two of your late days on any assignment.
- Working with a partner does not increase your total number of available late days.
How late does something have to be to use up a late day? A day is defined as a 24-hour block of time beginning at 12am on the day after the assigment is due. To use late days, write the number of late days claimed on the first page of your assignment. (See canvas for assignment due dates).
Examples:
- Handing in an assignment at 12:00am on the day after it is due consumes one late day.
- Handing in an assignment at 11:59pm the evening of the day after it is due consumes one late day.
- Handing in an assignment at 12:00am on the second day after it is due consumes two late days.
We believe that you will learn at least as much from each other as you will learn from the teaching staff. Therefore, we want to encourage collaboration without compromising a fair grading scheme (as described in the department's policy on collaboration).
In most instances, you can collaborate as much as you want with whomever you want subject to three restrictions:
You must acknowledge everyone with whom you collaborated on your submission. You may not take a record of any sort away from the collaboration. (So, erase all whiteboards, delete all e-mail, recycle all paper, etc.) You must spend at least an hour after the collaboration and before working on your own submission doing mindless activities. In other words, do something so distracting and inane that you must have learned anything you can reconstruct afterward
“Academic honesty is essential to the continued functioning of the University of British Columbia as an institution of higher learning and research. All UBC students are expected to behave as honest and responsible members of an academic community. Breach of those expectations or failure to follow the appropriate policies, principles, rules, and guidelines of the University with respect to academic honesty may result in disciplinary action.” (http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,286,0,0#15620)
A more detailed description of academic integrity, including the University’s policies and procedures, can be found in the UBC Calendar at: http://www.calendar.ubc.ca/Vancouver/index.cfm?tree=3,54,111,0
Regrading requests will be accepted up to one week after the grades are released. Please forward grade disputes to your instructor, and not to the TAs. We’ll post the solutions shortly after returning the midterms. When a regrade request is submitted for an exam, the whole exam will be remarked and not just a single portion of it. The regraded mark will be final. To submit a regrading request for an exam, please submit a formal regrade request via email to the instructor. This request should include your name, student number, exam id, and the reason why you feel that a regrade is necessary. Note that the reason for the regrade must be precise, e.g., " please regrade questions 11 to 15 " is not enough.
The final examination will be written on a date in December to be determined by the University. If you cannot write the final exam, then you must provide documentation (e.g., a doctor’s note) to your home Faculty office. For example, if you are in Science, then it will be the Faculty of Science; if you are in Engineering, then it will be the Faculty of Applied Science; and similarly, for Arts, Commerce, etc. You will write an exam at a future date determined by the University; usually, this is during the deferred exam period. Important note: Your home faculty office may not allow you to write a deferred final exam (even if you have a doctor’s note) if your term work is incomplete (e.g., missing midterm, missing classes or tutorials, or incomplete project).
We reserve the right to change this scheme at any time, though we do not anticipate doing so.
Problems with Canvas should be directed here. Problems with undergrad accounts and servers should be directed here. Use hardware@ugrad.cs.ubc.ca to report hardware problems.
If you encounter any technical problems with Piazza, or if you have feedback for the Piazza developers, you can e-mail them at team@piazza.com.
We aim to build a community where equity and inclusion are embedded in all aspects of campus life. If you require assistance related to issues of equity, discrimination or harassment please contact the Equity & Inclusion Office:
Brock Hall, Room 2306
604-822-6353
info AT equity.ubc.ca
https://equity.ubc.ca
Health and wellness, both physical and mental, are important for academic success. If you are having difficulty with your studies, or feel overwhelmed, or are experiencing distress, UBC provides a number of resources to help. You can also find tips on how to approach a friend who may be experiencing difficulties. For more information, please visit:
https://students.ubc.ca/health-wellness
If you are seriously ill or are dealing with a significant issue (e.g., the death of a close family member) that may prevent you from performing well on a midterm exam, please contact your instructor before the exam. Your instructor will advise you on how best to handle the situation.
If you face similar circumstances for your final exam, please talk to your Faculty advising office before you take the exam. They will assist you in determining an appropriate course of action. Please note that different Faculties handle requests for academic concession in different ways. Links to further information for the Faculties of Arts, Science and Commerce are provided below:
- Science: Exam Issues
- Arts: Academic Concession
- Sauder: Academic Concession
The Centre for Accessibility provides support for students with disabilities, chronic medical conditions, and other challenges. If this applies to you and you require academic accommodations to meet course objectives, please contact the Centre for Accessibility:
Brock Hall, Room 1203.
604-822-5844
accessibility AT ubc.ca
https://students.ubc.ca/about-student-services/centre-for-accessibility
If you find yourself in a situation where you do not feel safe travelling alone across campus at night and would like someone to accompany you, please contact the AMS Safewalk program by:
- Calling 604-822-5355
- Using a campus Blue Phone and asking for Safewalk
- Dropping by their office in the Nest, Level 1, Room 1314
Also see this.
Slides and other course materials are based on previous materials from Alan K. Mackworth, David Poole, Jordon Johnson, Giuseppe Carenini, Mehrdad Ovesi and Cristina Conati. Thanks, folks.