Course Credits:
3 credits
(3,0,6) (Lectures, Labs and tutorials, outside work)
Instructor:
Prof. Jeremy R. Cooperstock
McConnell Engineering, Room 424
Telephone: 398-5992
email: address and policy
Office hours: See course web page
Lectures:
ENGTR 0060, TTh 16:00-17:25
Prerequisites:
Course Description:
Design principles of autonomous agents, agent architectures, machine
learning, neural networks, genetic algorithms, and multi-agent
collaboration. The course includes a term project that consists of
designing and implementing software agents that perform a particular
task of relevance to Artificial Intelligence.
Learning Outcomes:
This course will provide you with an understanding of a range of
applications to which artificial intelligence can be applied and the
ability to choose appropriate AI techniques for each. You will be
able to describe key characteristics of different agent architectures
and machine learning methods. Finally, through the class assignments,
you will gain hands-on experience in the design and implementation of
intelligent agent systems, employing a variety of AI techniques.
Academic Integrity:
The instructor values it. Google my name with "academic integrity".
Course Content:
The following table provides a tentative schedule for the topics to be
covered throughout the course. Text chapters are indicated for the
primary reference (Russell and Norvig). Note that the order of these
topics may be modified early in the term and lecture slides do not
necessarily coincide exactly with the contents listed for each week.
Week of | Topic | Contents | Readings | Material Due | Lecture Slides |
Jan. 4 | Intelligence and Intelligent Agents | Concepts of intelligence and agency; AI architectures | Ch. 1.1, 2 |
optional readings indicated in square brackets: [Brooks, A Robust Layered Control System for a Mobile Robot |
Minsky,
Why People Think Computers Can't |
Brooks,
Intelligence without Reason |
Etzioni, Intelligence without Robots |
Dennett, Can
Machines Think]
|
Jan 5 | Jan 7 | |
Jan. 11 | Problem Solving | Problem formulation, Search strategies, heuristics. Two-player games, minimax, alpha-beta pruning, position evaluators; Utility functions, decision making | Ch. 3-3.5, 4-4.2, 6-6.4 | | Jan 12 | Jan 14 | |
Jan. 18 | Knowledge and Reasoning | propositional logic, first-order logic, forward and backward chaining, unification | Ch. 7-7.5, 8-8.3, 9-9.4 | Jan 19 | Jan 21 | |
Jan. 25 | Planning, Uncertainty | progression and regression planning, partial-order planning, Probabilistic Inference, Bayes' Rule | Ch. 11-11.3 | Ch. 13.3-13.6 | | Jan 26 | Jan 28 | |
Feb. 1 | Decision Making | Simple and Complex Decisions, Markov Decision Problems | Ch. 16-16.3, 17-17.4 | Assignment #1 | Feb 2 | Feb 4 |
Feb. 8 | Inductive Learning | induction, decision trees, boosting | Ch. 18-18.3, Mitchell, Instance-based learning (pp. 230-234) | Sammut, Learning to Fly | | Feb 9 | |
Feb. 15 | Statistical Learning | Bayesian Learning, MAP, Maximum Likelihood, Expectation Maximization, nearest neighbours | Ch. 20-20.4, 20.6 |
[
EM applet] |
Feb 16 | Feb 18 | |
Feb. 22 | Reading Week | ||||
March 1 | Reinforcement Learning | LMS, temporal difference methods, Q-learning, Generalization, large state-action spaces. |
Ch. 21 |
Mahadevan & Connell,
Automatic Programming of Behavior-based Robots using Reinforcment
Learning |
[
Sutton & Barto, Reinforcement Learning, Ch. 1 |
Kaelbling et al, Reinforcement Learning: A Survey |
Tesauro, Temporal Difference Learning and TD-Gammon |
reinforcement learning applet] |
Assignment #2 | Mar 2 | Mar 4 |
March 8 | Intro to Neural Networks | Perceptrons, feed-forward neural networks, backpropagation |
Ch 20.5 | Mitchell, Artificial Neural Networks (4.1-4.6) |
Pomerleau, Efficient
Training of Artificial Neural Networks for Autonomous Navigation |
[Russell & Norvig, Ch. 20.5 |
Schraudolph & Cummins, Introduction to NN |
Rowley, Baluja & Kanade, Neural-Network-Based Face Detection |
Tveter, BackProp Basics
(or available as PDF here) |
OCHRE applet]
|
Mar 9 | Mar 11 | |
March 15 | Recurrent Neural Networks | Hopfield networks, Boltzmann machines |
Kröse and van der Smagt, Intro to NN Ch. 5 |
[Hopfield network applet | Necker Cube applet | Schraudolph & Cummins Introduction to NN Lecture 3 |
Hopfield, Neural Networks and Physical Systems with Emergent Collective Computational Abilities |
Fels, An Adaptive Interface that Maps Hand Gestures to Speech |
Bugmann, Classification Using Networks of RBF]
|
Assignment #3 | Mar 16 | Mar 18 |
March 22 | Self-Organizing Neural Networks | clustering, quantization, function approximation | Kröse and van der Smagt, Intro to NN Ch. 6 | Mar 23 | Mar 25 | |
Mar. 29 | Kernel Methods | Radial Basis Functions and Support Vector Machines | Ch. 20.6 | | Mar 30 | Apr 1 | |
April 5 | Evolutionary Computing | genetic algorithms, genetic programming, evolving neural networks | Ch. 4.3 |
Nolfi et al Phenotypic Plasticity in Evolving NN |
Koza, Breeding Populations of Programs to Solve Problems in AI |
[Mitchell, Chapter 9 |
AAAI GA resources site |
genetic algorithms applet | genetic programming applet]
|
Apr 6 | |
Apr. 12 | Project Presentations (April 8 and 13) | Project Report |
Instructional Method:
There will be two 1-1/2 hour classes every week throughout the term.
These will consist of a mixture of lecture, group discussion, and occasional
exercises.
Course Materials:
Textbook: Stuart Russell and Peter Norvig. Artificial
Intelligence: A Modern Approach (Second Edition). Prentice Hall, 2002.
This text can be purchased from
Amazon.ca
or Paragraphe Bookstore (2220 McGill College).
The text is also available on reserve in the Schulich library. The
first edition of this text is perfectly acceptable, in particular as
the authors were kind enough to provide a
Chapter map
between the two editions.
Readings:
Students are expected to complete the assigned readings each week.
These will come either from the primary text (chapter numbers based
on the second edition) or from other sources, as noted above.
When not available on-line, handouts will be distributed in-class.
Computer Resources:
Students will have access to the computer workstations in the ECE Computer
Laboratory. Complete compliance with the McGill University codes of
conduct concerning computer usage is expected and required. The course
web page (http://www.cim.mcgill.ca/~jer/courses/ai/)
contains announcements, lecture summaries, assignments, and pointers to
other useful resources.
Evaluation:
The course grade will be based on three
assignments, a group-based term project, and a final examination.
Each of the assignments is designed to provide familiarity with a
different aspect of artificial intelligence, while the term project,
to be done in groups of 2-3 students, is intended to provide an
opportunity for students to apply their overall knowledge gained
through the course to a challenging, real-world problem.
Unless discussed with the instructor at least one week in advance, all assigned work is due on or before 16:00 of the due date. The penalty for all late submissions will be 15% if received within 24 hours, 30% if received within 48 hours of the due date; no work will be accepted thereafter. Relative weightings of each evaluation component will be as follows:
Component | Topic | Weight |
Assignment 1 | TBD | 15% |
Assignment 2 | TBD | 15% |
Assignment 3 | TBD | 15% |
Term Project | 25% | |
Final examination | 30% |
Last updated on 3 March 2010
by Jeremy Cooperstock