CS486/686 - Fall 2008 Introduction to Artificial Intelligence
Instructor: Pascal Poupart
Email: ppoupart [at] cs [dot] uwaterloo [dot] ca
Course website:
http://www.student.cs.uwaterloo.ca/~cs486
Newsgroup: uw.cs.cs486
Office Hours: Wednesdays 9:30-11:30am (DC2514)
Lectures: Tuesday & Thursday
14:30-15:50 (MC1056)
Teaching Assistants:
- Assignments 1, 4: Jie Zhang (cs486 [at] student [dot] cs [dot]
uwaterloo [dot] ca)
- Assignments 2, 3: Farheen Omar (cs486 [at] student [dot] cs [dot]
uwaterloo [dot] ca)
Objectives
The design of automated systems capable of accomplishing complicated
tasks
is at the heart of computer science. Abstractly, automated
systems can
be viewed as taking inputs and producing outputs towards the
realization of
some objectives. In practice, the design of systems that produce
the
best possible outputs can be quite challenging when the choice of
outputs is constrained, the consequences of
the
outputs are uncertain and/or dependent on other systems, the
information provided
by the inputs is incomplete and/or noisy, there are multiple (possibly
competing)
objectives to satisfy, the system must adapt to its environment over
time,
etc. This course provides an introduction to Artificial
Intelligence,
covering some of the core topics that underly automated
reasoning. The modeling techniques that will be covered
are quite versatile and can be used to tackle a wide range of problems
in many fields including natural language processing (e.g., topic
modeling, document clustering),
robotics (e.g., mobile robot navigation), automated
diagnosis (e.g., medical diagnosis, fault detection), data mining
(e.g., fraud detection, information retrieval), operations research
(e.g., resource allocation, maintenance scheduling), assistive
technologies, etc.
Outline
The topics we will cover include:
- Introduction to Artificial Intelligence
- Search and Problem Solving
- Uninformed Search
- Informed Search
- Constraint Satisfaction Problems
- Propositional Logic
- First-order Logic
- Reasoning Under Uncertainty
- Probability Theory
- Bayesian Networks
- Utility Theory
- Decision Networks
- Markov Networks
- Markov Logic Networks
- Machine Learning
- Inductive Learning
- Decision Trees
- Ensemble Learning
- Statistical Learning
- Other areas of Artificial Intelligence
- Natural Language Processing
- Assistive Technologies
Course Organization:
The
course material will be covered primarily in lectures.
You should also read the appropriate chapters of the textbook assigned
for each lecture. When lecturing with slides, I will make my lecture
slides available
online in PDF format. These are not intended to replace your lecture
notes,
but to supplement them and help you organize them.
There will be four assignments given in the course. Each
assignment will have a theoretical part and a programming part. The approximate out and due dates are:
- A1: out Sept 16, due Oct 2
- A2: out Oct 2, due Oct 23
- A3: out Oct 23, due Nov 13
- A4: out Nov 13, due Nov 27
Assignments will consist of programming and theoretical
questions. You are free to program in the language of your
choice, however Matlab is recommended since it provides a convenient
high-level programming environment for matrix operations.
Assignments are done individually (i.e., no team). For
each assignment, a hard copy must be handed in on the due date either
in class or in the assignment drop off box. No late
assignment will be accepted.
There is also a course project that is required for graduate
students registered in CS686 and optional for undergraduate students
registered in CS486. The project will consist of
investigating a research problem (related to Artificial Intelligence)
chosen by the student.
There will be a midterm test on
November 4th.
There will also be a final examination to be
scheduled by the registrar.
Grading Scheme
CS486:
- Assignments (4): 40% (10% each)
- Midterm test: 20%
- Final Exam: 40%
- Optional project: 5% bonus
CS686 (graduate students only):
- Assignments (4): 28% (7% each)
- Midterm test: 12%
- Final Exam: 35%
- Project: 25%
Textbook
The textbook for CS486/686 is Artificial
Intelligence: A Modern Approach (2nd Edition), Prentice Hall,
by Russell and
Norvig. This will be the main
reference for the course. A few copies are currently on reserve
at the library (call #UWD1615). Readings in the textbook are
assigned
for every lecture in the course
schedule.