Artificial Intelligence
CS 5300/CS 6300
Spring 2010
Schedule: Tue/Thr 12:25-1:45pm
Location: WEB 2230
Instructor: Hal Daume III: me AT hal3 DOT name
Office Hours: MEB 3126; Wednesday 1:15-2:45, or by appointment
Mailing list: cs5300@list.eng.utah.edu -- PLEASE subscribe (but don't post)!
teach-cs5300@list.eng.utah.edu -- PLEASE post (by don't subscribe)!
RSS feed
TAs: Bo Wang (office hours: Friday 10-11am, MEB 3115)
Matthew Ord (office hours: Monday 2-3pm, CADE 224)

Jump to: [FAQ] [Syllabus] [Walkthroughs] [Homework] [Projects] [Competition] [Policies]

4 Feb: Please fill out the early course survey!


 Background and Description

This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm, with applications ranging from diagnosis to game-playing to language processing. This course is built around several multi-part programming projects, based on the games of Pacman and Battleship.

Coursework will consist of two kinds of assignments. Programming projects will be in Python. Programming projects may be done in teams of two or three and will be graded on a point basis. Written homeworks will be in the form of mini-assignments given most weeks. These mini-assignments will be very short (one or two exam-style questions) and will be graded in on a complete / incomplete basis. You should be prepared to do regular work each week to keep up with the material and the assignments.

Prerequisites: CS 3500 (prior programming experience is expected; although we don't expect that you know Python, we do expect you to be able to pick it up rapidly); CS 2100 (facility with basic concepts of propositional logic and probability are expected). NOTE: This course has substantial elements of both programming and mathematics, because these elements are central to modern AI. You should be prepared to review basic probability on your own if it is not fresh in your head.

Expectations: I expect you to work hard, but will help you as much as possible to understand the material. However, I do expect you to read the book. I've tried to keep the readings as short as is reasonable. I expect you to do this ahead of time and come to class prepared: homeworks due on before class on day X will include topics we will discuss in class on day X. We will talk about solution in class if people have questions.


 Grading

Overall grades will be determined from: Assignments (homework and projects) must be turned in electronically by 12:20pm on the listed due date. Each homework is worth 2% of your grade, except HW00 (which is not graded) and your lowest HW is dropped. Each programming project is worth 7% of your grade.

Lateness: Homework assignments may not be turned in late. You may turn one programming project in up to two days late with no penalty. Other projects may be turned up up to two days late, but once they're one minute late, you lose 50% of your points (i.e., if you would have gotten 90%, you will instead get 45%).

Please use our online handin sofware. Homeworks are NOT accepted by email. You can view the current grades (indexed by the ID you give us on HW00; "++" means "bonus").

We will post solutions to homeworks and projects quickly after the due dates. We will also email you your scores once grading has been completed. If you handed something in and do not get a score for an assignment, you have a one week moritorium on complaints.

Here are some example midterms. The one from Spring 2009 here was WAY too long (see solution). Here are also some from previous semesters at Berkeley. Note that the format won't be exactly the same, but the style of questions for ours will be similar. Fall 2008, Fall 2007, Spring 2006, Fall 2006.


 Textbook

The official textbook for this course is:

Artificial Intelligence: A Modern Approach (Third Edition)
by Stuart Russell and Peter Norvig. Prentice Hall, 2009.

Be sure you have the Third Edition. It is BLUE, not GREEN or BURGUNDY): the other editions are not sufficient (sorry!).

We will also occasionally have readings from:

Reinforcement Learning: An Introduction
by Richard S. Sutton and Andrew G. Barto. MIT Press, 1998.

This book is available online.


 Syllabus (tentative)

The following syllabus is subject to change, but likely not by very much. The readings listed are readings that you should have finished by that date. RN refers to Russell and Norvig; SB refers to Sutton and Barto.

Date Topics Readings Due Notes
12 Jan Introduction to AI opt: RN 1.1,2 -
Agents
14 Jan Agents
Depth and breadth first search
3.1,3.3,3.4
opt: RN 3.2
HW00
19 Jan Agents II
A* Search and Heuristics
3.5-3.6 P0
21 Jan Constraint Satisfaction
Search and iterative algorithms
RN 6-6.3
opt: RN 4.1
HW01
26 Jan Constraint Satisfaction II
Tree-structured CSPs and more search
RN 6.4-6.5
opt: Tree_decomposition
- -
28 Jan Game Playing
Minimax search
RN 5-5.3
opt: RN 5.5-5.6
slides
HW02
2 Feb Utility
Consistency and risk
16-16.3
opt: RN 16.4
help: q1 q2 q3 l1 l2 l3
P1
Reinforcement Learning
4 Feb Markov Decision Processes
Value iteration
SB 3-4 HW03
9 Feb Markov Decision Processes II
Policy iteration and TD-learning
RN 17.1-3, SB 6.1,6.2 -
11 Feb Reinforcement Learning
Exporation/exploitation, Q-learning
SB 6.5 HW04
16 Feb Catch-up SB 8.1,8.2 P2
18 Feb Reinforcement Learning II
Policy methods and IRL
- HW05
23 Feb Robot motion RN 25.4-25.6 -
25 Feb MIDTERM (solution)
S09 exam (which was way too long)
- - -
Reasoning Under Uncertainty
2 Mar Probability
Everything you need to know!
RN 13-13.5
opt: RN 13.6
-
4 Mar Bayes' Nets
Graphical models and conditional independence
RN 14-14.3
opt: RN 14.4
HW06
9 Mar Bayes' Nets II
Causality
- -
11 Mar Class Cancelled - P3,HW07 -
16 Mar Bayes' Nets III
Inference by enumeration, variable elimination
RN 14.4 -
18 Mar Bayes' Nets IV
Markov Chain Sampling
RN 14.5 HW08
30 Mar Decision Diagrams
Value of information, Markov chains
RN 16.5-16.6 -
1 Apr HMMs
Monitoring and robot localization
RN 15-15.3 HW09
6 Apr HMMs II
Particle filtering and resampling
RN 15.5 - -
8 Apr HMMs III
Linear space models: Kalman filtering
RN 15.4
opt: Kalman_filter
P4,HW10
Applications
13 Apr Speech
Viterbi and acousting modeling
RN 23.5 -
15 Apr Natural Language Processing
Machine Translation
RN 23.4 -
20 Apr Machine learning
Classification
RN 24.3-24.4
opt: RN 24-24.2
-
22 Apr POMDPs
Agents under uncertainty
Dummies, Sec 3-6 HW12
27 Apr Last Day Party
Philosophy of AI and exam discussion
- -
30 Apr FINAL EXAM, 10:30 am - 12:30 pm
Spring 2009 Final
Spring 2010 Final Solution
- - -
07 May End of exam period - P5,contest -

 Walkthroughs

The following are walkthroughs created by the Spring 2009 class. Please let me know if you find any bugs!


 Homework Assignments

See the syllabus above for due dates. You're free to use the LaTeX source in any way you want, but you'll need haldefs.sty and notes.sty to build them.

If you want more practice, see the recommended book exercises.


 Programming Projects

Programming projects more substantial and to be completed in Python. The projects are:


 Pacman Competition

The semester will culminate with a capture-the-flag style Pacman competition. In this competition, each team will control two Pacman characters that will attempt to recover a flag in the other team's territory without getting eaten! Special prizes for the winner!






 Related Courses

This course is very similar to the same course taught last year, whichwas modeled after a nearly identical course taught concurrently at UC Berkeley by my good friend John DeNero. That course, in turn, is based on previous offerings of the Berkeley class, such as Fall 2008.

In fact, since our class is running in parallel with the Berkeley course, the Pacman Competition will be a cross-university competition! (Okay, it's not as compelling as U vs. Y or Berkeley vs. Stanford, but at least the colors are right: we're red and they're blue!)


 Course Policies

Cheating: Any assignment or exam that is handed in must be your own work. However, talking with one another to understand the material better is strongly encouraged. Recognizing the distinction between cheating and cooperation is very important. If you copy someone else's solution, you are cheating. If you let someone else copy your solution, you are cheating. If someone dictates a solution to you, you are cheating. Everything you hand in must be in your own words, and based on your own understanding of the solution. If someone helps you understand the problem during a high-level discussion, you are not cheating. We strongly encourage students to help one another understand the material presented in class, in the book, and general issues relevant to the assignments. When taking an exam, you must work independently. Any collaboration during an exam will be considered cheating. Any student who is caught cheating will be given an E in the course and referred to the University Student Behavior Committee. Please don't take that chance - if you're having trouble understanding the material, please let us know and we will be more than happy to help.

ADA: The University of Utah conforms to all standards of the Americans with Disabilities Act (ADA). If you wish to qualify for exemptions under this act, notify the Center for Disabled Students Services, 160 Union.

College guidelines: Document concerning adding, dropping, etc. here.