Artificial Intelligence (CPS 570), Fall 2017

Basics
WF 10:05-11:20, LSRC D106
Instructor: Vincent Conitzer (please call me Vince). Office hours: Wednesday 11:20-11:45am (catch me right after class), Thursday 8:55-10am (LSRC D207), Friday 11:20-11:50am (catch me right after class).
Teaching Assistants:
Shuzhi Yu -- office hours Monday 10:00-11:00am (LSRC D301), and by appointment.
Rui-Yi Zhang -- office hours Tuesday 5:00-6:00pm (LSRC D301), and by appointment.
Textbook: Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig.

Prerequisites
comfortable programming in a general-purpose programming language
some knowledge of algorithmic concepts such as running times of algorithms; having some rough idea of what NP-hard means
some familiarity with probability (we will go over this from the beginning but we will cover the basics only briefly)
not scared of mathematics, some background in discrete mathematics, able to do simple mathematical proofs

If you do not have a standard undergraduate computer science background, the course may still be appropriate for you, but talk to me first. Well-prepared undergraduates are certainly welcome.

You do not need to have taken an undergraduate AI course (though of course it will help if you have).

Grading
Assignments: 35%
Midterm exams: 30%
Final exam: 30%
Participation: 5%

For the homework assignments, you may discuss them with another person, but you should do your own writeup, programming, etc. This also means that you should not take extremely detailed notes during your meeting with the other person; if you can't remember what you talked about, you probably didn't really understand it...

Schedule
I have not taught this course for a while so we will be flexible with the schedule. Each topic will probably take a number of lectures to finish.

Sometimes, a book chapter will include more information than what we cover in class; in those cases, for the purpose of exams, you are only responsible for what we covered in class.

For your convenience there are links to chapters that are available online (which would be useful if you have an old edition of the book; the chapter correspondence is here).

Date Topic Materials
8/30 Introduction. Chapter 1.
Introduction slides: ppt, pdf.
Homework 0.
Optional:
Article about broader concerns about AI.
Vince's 2017/8/31 radio interview about the future of work (mostly for the fun of hearing your professor on the radio, trying not to say anything dumb...).
9/1-9/13 Search. Constraint satisfaction and optimization problems. Chapters 3, 4, 6.
Search slides: ppt, pdf.
More search slides: ppt, pdf.
For more about linear and integer programming, you can go to the website of a course I taught recently; especially the introduction and branch and bound lecture notes might be useful.
MLB scheduling brief article.
Homework 1. Helper files: knight distances, queens file, tile puzzle file 1, tile puzzle file 2.
Additional test cases: input_FPK_1.txt, output_FPK_1.txt, input_FPK_2.txt, output_FPK_2.txt, output_SQP_1_(size_18).txt, output_SQP_2_(size_24).txt.
9/15,9/20 Game playing. Chapter 5.
Slides: ppt, pdf.
9/20-9/29 Logic. Chapters 7, 8, 9.
Propositional logic slides: ppt, pdf.
First-order logic slides: ppt, pdf.
Some proof pictures from the board: 1, 2, 3.
Homework 2.
10/4-10-6 Planning. Chapter 10.
Planning slides: ppt, pdf.
Homework 3.
Auxiliary instructions for homework 3.
10/11 Midterm review/practice. Practice midterm.
10/13 Midterm.
10/18-11/3 Probabilistic reasoning. Chapters 13-15.
Probability slides: ppt, pdf.
Bayes nets slides: ppt, pdf.
Markov processes and HMMs slides: ppt, pdf.
Homework 4.
11/8 Midterm review/practice. Practice midterm.
11/10 Midterm.
11/15-12/1 Decision theory. Markov decision processes, POMDPs. Game theory. Chapters 16, 17.
Decision theory slides: ppt, pdf.
MDP/POMDP slides: ppt, pdf.
Game theory slides: ppt, pdf.
Homework 5.
12/6 Review for final exam. Practice final exam.
12/15 7pm Final exam.