CPSC 422 - Artificial Intelligence 2 - Intelligent Systems (Term1,  Winter 2017)
Overview  Grades Textbook Schedule Readings



Course Description:  This is an advanced AI course that builds on the foundations of CPSC 322 to show how to build intelligent agents that can observe the world, create appropriate representations, perform inference on those and act appropriately. Such agents include robots, intelligent tutoring systems, diagnostic agents, purchasing agents, and game agents.

We will begin by expanding on what we discussed in CPSC 322 about decision making under uncertainty, and spend some time on the issues that arise in multi-stage decision processes, including planning and learning for acting. We will then cover approximate inference in Bnets and more efficient temporal inferences in HMM. Other graphical models will be also covered, including Conditional Random Fields (CRFs) . We will then switch to Deterministic environments and expand the treatment of logics from  CPSC 322, considering First Order Logics (FOL), satisfiability and ontologies. Finally, we will study representations that attempt to combine Logics with Probabilities, like Markov Logics and Probabilistic Relational Models.  Throughout, we will pay special attention to the understanding the state of the art and we will discuss several applications and research papers.
  • Meeting Times: Monday, Wednesday, Friday, 12:00 PM - 1:00 PM
  • First Class: Wed, Sep 6, 2017
  • Location: DMP 301
  • Instructor: Giuseppe Carenini  carenini@cs.ubc.ca
  • Instructor's Office Location: ICICS (CICSR) 105
  • Instructor's Office Hours: Wed 1-2
  • TAs and Office Hours:
  • Course Discussion Board: TBD the place to submit your questions and get answers, as well as see answers given to others
  • AISpace: demo applets that illustrate some of the techniques covered in class
  • Prerequisites: CPSC 322
  • Final exam: TBA


Grading Scheme: Evaluation will be based on a set of  assignments, a midterm, and an exam. Important: you must pass the final in order to pass the course. The instructor reserves the right to adjust this grading scheme during the term, if necessary.

  • Assignments -- 15%
  • Readings: Questions and Summaries -- 10%
  • Midterm -- 30%
  • Final -- 45%

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 grade breakdown will be used instead.

  • Assignments -- 15%

  • Readings: Questions and Summaries -- 10%

  • Midterm -- 15%

  • Final -- 60%


The 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 20.  Assignments will not be graded out of the same number of points; this means that they will not be weighted equally.

Late Assignments: Assignments are to be handed in BEFORE the start of lecture on the due date. However, every student is allotted four "late days", which allow assignments to be handed in late without penalty on three 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 her/his late days, 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.)

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 1PM on the day an assignment is due.  To use a late day, write the number of late days claimed on the first page of your assignment


  • Handing in an assignment at the end of lecture on the day it is due consumes one late day. 
  • Handing in an assignment at 12:15PM the afternoon after it is due consumes one late day.
  • Handing in an assignment at 1:30PM the day after an assignment is due consumes two late days.

Assignments can be handed in electronically using ....TBD.....; this is the only way to hand in late assignments over a weekend. Written work can also be put in Giuseppe's mailbox in the main CS office (room 201); ask the secretary to time-stamp it.

Missing Deadlines or Exams: In truly exceptional circumstances, when accompanied by a note from Student Health Services or a Department Advisor, the following arrangements will 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 grades will be shifted to the final. This means the final will count for 75% of the final grade, and assignments + readings will count for the remaining 25%.
  • If the final is missed, a make-up final will be scheduled. This make-up final will be held as soon as possible after the regularly scheduled final.

Academic Conduct: Submitting the work of another person as your own (i.e. plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for homework and exams. Such actions will not be tolerated. Specifically, for this course, the rules are as follows:

  • The written part of assignments is to be done alone. You may not, under any circumstances, submit any solution not written by yourself, look at another student's solution (this includes the solutions from assignments completed in the past), or previous sample solutions, and you may not share your own work with others. All work for this course is required to be new work and cannot be submitted as part of an assignment in another course without the approval of all instructors involved.
  • You may, however, discuss your solutions and design decisions with your fellow students. In other words, you can talk about the assignments, but you cannot look at or copy other people's answers.
  • The programming part of assignments is to be done either alone, or working with one other student. If you work with another student, each of you must hand in a copy of your work separately. You may not submit any solution not written by yourself and this one other student, look at other students' solutions (this includes the solutions from assignments completed in the past), or previous sample solutions, and you may not share your own work with others. All work for this course is required to be new work and cannot be submitted as part of an assignment in another course without the approval of all instructors involved.

Violations of these rules constitute very serious academic misconduct, and they are subject to penalties ranging from a grade of zero on the current and *all* the previous assignments to indefinite suspension from the University. More information on procedures and penalties can be found in the Department's Policy on Plagiarism and collaboration and in  UBC regulations on student discipline . If you are in any doubt about the interpretation of any of these rules, consult the instructor or a TA!

Readings: what to do (Please check if email mentioned in the link is still valid)


Selected Chapters of Artificial Intelligence: foundations of computational agents by David Poole and Alan Mackworth, Cambridge University Press, 2010 - Complete book available online and possibly from Russell and Norvig's Artificial Intelligence: A Modern Approach (third edition) [webpage]. I've arranged for a copy to be put on reserve in the CS reading room.. Although these texts 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. 


Here is where you can find the course schedule and the PPT and PDF files from lectures. These dates will 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 (by 12PM). After class, I will post the same slides inked with the notes I have added in class.

Date Lecture Notes
1 Wed, Sep 6 Course Overview [pdf]  
2 Fri, Sep 8 In-class review test based on CPSC 322 Bonus: 1% of course grade
3 Mon, Sep 11 Value of Info and Control - start Markov Decision Processes (MDPs) [pdf] "322" Slides on Decision Networks and on Markov Chains
4 Wed, Sep 13 MDP example start Value Iteration [pdf]  Practice Ex 9.C
5 Fri, Sep 15 finish MDPs Value Iteration [pdf] FYI (not a required reading!)
Planning with Markov Decision Processes: An AI Perspective, Synthesis Lectures on Artificial Intelligence and Machine Learning
June 2012, 210 pages
6 Mon, Sep 18 Partially Observable MDPs (POMDPs) [pdf]  
7 Wed, Sep 20


POMDPs  (cont') [pdf] - Assignment 1 out - Blackjack.xml

See http://www.cs.uwaterloo.ca/~ppoupart/software.html for code and sample problems for Symbolic Perseus algorithm for factored POMDPs

see also DESPOT JAIR 2017

8 Fri, Sep 22

Reinforcement Learning (RL) [pdf]


 Practice Ex 11.A

9 Mon, Sep 25 Reinforcement Learning (RL)(cont') [pdf]  
10 Wed, Sep 27 Paper Discussion MDP for scheduling (Medicine) [ppt] [pdfYOUR QUESTIONS A Markov decision process approach to multi-category patient scheduling in a diagnostic facility, Artificial Intelligence in Medicine Journal, 2011 [pdf] MDPs vs. Heuristic Methods


11 Fri, Sep 29 Finish RL - SARSA [pdf] Ex  11.B
12 Mon, Oct 2 Recap BNets - Start Approximate Inference in BNets [pdf] Practice Ex 6.E,     BN Company NorSys  assignment1- due  / assignment-2 out hmw1.zip
13 Wed, Oct 4 Approx. Inference - Likelihood Weighting, MCMC (Gibbs Sampling) [pdf] BNet tool (with approx. inference algorithms) GeNIe
14 Fri, Oct 6 Paper Discussion (ITS)   - Paper on application of a relatively large BNet
(where approx. inference is needed) slides
Using Bayesian Networks to Manage Uncertainty in Student Modeling. Journal of User Modeling and User-Adapted Interaction 2002  [pdf]  Dynamic BN  (required only up to page 400)
Mon, Oct 9 Thanksgiving
15 Wed, Oct 11 Temporal Inference - HMM (Filtering, Prediction) [pdf]  
16 Fri, Oct 13 HMM (Smoothing, just start Viterbi) [pdf]  
17 Mon, Oct 16


Finish Viterbi - Approx. Inference in Temporal Models (Particle Filtering) [pdf]  
18 Wed, Oct 18 Intro Graphical Models -Undirected Graphical Models - Markov Networks [pdf]


19 Fri, Oct 20 Inference in Markov Networks Conditional Random Fields (CRFs) - Naive Markov [pdf]


assignment2- due

 FYI (not a required reading!) An Introduction to Conditional Random Fields. Charles Sutton, AndrewMcCallum. Foundations and Trends in Machine Learning 4 (4). 2012.

20 Mon, Oct 23 Linear Chain CRFs - NLP applications[pdf] MALLET   
Wed, Oct 25 Midterm exam (TBD)


21 Fri, Oct 27 Full Propositional Logics, Language and Inference [pdf]  
22 Mon, Oct 30 Finish Resolution, Satisfiability, WalkSAT  [pdf]  
23 Wed, Nov 1 SAT encoding example - First Order Logics (FOL) [pdf] assignmet3 out
24 Fri, Nov 3

Ontologies/Description Logics: Wordnet, UMLS, Yago, Probase..... [pdf]

- Wordnet and YAGO (Wikipedia + Wordnet + GeoNames).

See also MS Research Probase, Google Knowledge Graph and Freebase and MS Concept Graph

- (Domain specific thesaurus) Medical Subject Headings (MeSH)
- FrameNet
ProbBank (adding semantic annotations to the Penn Treebank)

Practice Ex 13.A
25 Mon, Nov 6 Similarity Measures: Concepts in Ontologies and Distributional for Words [pdf]  
26 Wed, Nov 8 NLP: Context-Free Grammars and Parsing [pdf]

(for next three lectures) Russell and Norvig's Artificial Intelligence: A Modern Approach (third edition) [webpage]

Part VII Communicating, Perceiving, and Acting 
        23 Natural Language for Communication 23.1 - 23.2 -23.3 (only content covered in sldies)

27 Fri, Nov 10 Probabilistic Context Free Grammar (1) [pdf]  
Mon, Nov 13 Remembrance Day  
28 Wed, Nov 15 Probabilistic Context Free Grammar (2) [pdf]  - Berkeley Parser with demo

- Stanford Parser with demo

29 Fri, Nov 17 Paper  Discussion (NLP) on PCFG and CRFs [ppt] [pdf] student-questions [pdf] portions of CL paper CODRA: A Novel Discriminative Framework
for Rhetorical Analysis
 Computational Linguistics (CL (2015)) Vol. 41, No. 3: 385–435, MIT press only sections 1, 3 and 4 are mandatory

 30 Mon, Nov 20 Markov Logics (1) Representation [pdf] assignmet3 due -  assignmet4 out
Markov Logic: An Interface Layer for Artificial Intelligence  
P. Domingos University of Washington
D. Lowd University of Oregon
31 Wed, Nov 22 Markov Logics (2) Inference [pdf] Alchemy  is a software package providing a series of algorithms for statistical relational learning and probabilistic logic inference, based on the Markov logic representation.
32 Fri, Nov 24 Finish Markov Logics Inference + Applications [pdf] (only if we cover plate notation) Practice Ex. 14.A
33 Mon, Nov 27 Probabilistic Relational Models (1) Representation [pdf]  
34 Wed, Nov 29 Probabilistic Relational Models (2) Parameters and Inference [pdf]  
35 Fri, Dec 1 Beyond 3/422, AI research,  Watson  etc.  [pdf]  assignmet4 due
-  Some relevant papers form IUI-15
Modeling users' interests

BayesHeart(adaptive HHMs)    POMDPs for crowd sourcing

FRI DEC 08 07:00 PM Final Exam Room: FSC 1005