OUTDATED!!!


Artificial Intelligence
CS 5300/CS 6300
Spring 2009
Schedule: Tue/Thr 12:25-1:45pm
Location: WEB 2230
Instructor: Hal Daume III: me AT hal3 DOT name
Office Hours: MEB 3126; Tu:10-11am, Th:4:30-5:30pm, 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: Scott Alfeld Office Hours: M:3-4pm, Tu:2-3:30pm, W:12-1:30pm
Jagadeesh (Jags) Jagarlamudi (office hours TBA)

Jump to: [FAQ] [Syllabus] [Homework] [Pacman Competition] [Course Policies]
Final review: 5 May, MEB 3147; see details; midterm solution. Also see extra credit walkthroughs. Finally (hah!) see past Berkeley exams.

Surveys: Course survey and Course recommendations... Thanks!

 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.


 Grading

Overall grades will be determined from: Assignments must be turned in electronically by NOON on the listed due date. You will have 5 late days for programming projects, up to 2 of which can be used for any given due date. Also for programming assignments, you may work alone or in teams of two; teams need only submit one copy of their solution. For written assignments, you may discuss the problems in larger groups, but each of you must write up you solutions independently. Written assignments do not have late days.

You may handin your homework/projects here. Homeworks are NOT accepted by email. You can view the current grades (indexed by the ID you give us on HW0; "++" 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 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 (Second Edition)
by Stuart Russell and Peter Norvig.
Prentice Hall, 2002.

Be sure you have the Second Edition (it is GREEN, not BURGUNDY): the first edition is not sufficient.

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. Warning: unlike many classes you're probably used to (in CS), the lectures are not designed to regurgitate what you should have learned in the book. This means that if you don't come prepared, you may lose out!.

Homework assignments are due by by NOON on the date listed on the syllabus. Programming assignments are to be completed in Python.

Date Topics Readings HW Slides
13 Jan Introduction to AI RN 1.1,1.4, 2 -
Agents
15 Jan Agents
Depth and breadth first search
RN 3 HW0
20 Jan Agents II
A* Search and Heuristics
RN 4.1-2 P0
22 Jan Constraint Satisfaction
Search and iterative algorithms
RN 5.1 -
27 Jan Constraint Satisfaction II
Tree-structured CSPs and more search
RN 5.2-4 HW1 -
29 Jan Game Playing
Minimax search
RN 6.2-5 P1
3 Feb Utility
Consistency and risk
RN 16.1-3 HW2
Reinforcement Learning
5 Feb Markov Decision Processes
Value iteration
SB 3-4 -
10 Feb Markov Decision Processes II
Policy iteration and TD-learning
RN 17.1-3, SB 6.1,2 HW3
12 Feb Reinforcement Learning
Exporation/exploitation, Q-learning
SB 6.5 -
17 Feb Reinforcement Learning II
Policy Methods
SB 8.1,2 P2
19 Feb Reinforcement Learning III
Inverse reinforcement learning
None HW4
24 Feb Robot motion - -
26 Feb Probability
Everything you need to know!
RN 13.1-6 HW5
03 Mar MIDTERM - - -
Probabilistic Belief Networks
05 Mar Bayes' Nets
Graphical models and conditional independence
RN 14.1-2,4 P3
10 Mar Bayes' Nets II
Causality
RN 14.3, Jordan 2.1 -
12 Mar Bayes' Nets III
Inference by enumeration, variable elimination
RN 14.4-5 HW6
24 Mar Bayes' Nets IV
Markov Chain Sampling
RN 14.4-5 -
26 Mar Decision Diagrams
Value of information, Markov chains
RN 15.1-3,6 HW7
31 Mar HMMs
Monitoring and robot localization
RN 15.2,6 -
02 Apr HMMs II
Particle filtering and resampling
RN 15.2,6 - -
07 Apr HMMs III
Linear space models: Kalman filtering
RN 15.2,6 HW8
Applications
09 Apr Speech
Viterbi and acousting modeling
RN 15.2,6 P4
14 Apr POMDPs
Agents under uncertainty
Dummies, Sec 3-6 - -
16 Apr Natural Language Processing
Machine Translation
- -
21 Apr Machine learning
Classification: naive bayes perceptron
- HW9
23 Apr Machine learning II
Clustering: k-means and hierarchical
- -
28 Apr Last Day Party
Advanced topics and Pacman contest
- P5,HW10
07 May FINAL EXAM, 10:30 am - 12:30 pm - - -

 Homework Assignments

See the syllabus above for due dates. You may handin your homework/projects here. Lowest homework grade will be dropped (i.e., you may freely get one zero and not care!). 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.

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!

The competition will be centered around the Pacman code that we develop in projects 1 and 2. More information will be posted mid-February.

More details here!






 Related Courses

This course is 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.