Artificial Intelligence I (COMP-424)
Syllabus - Winter 2011
|Times:||Monday and Wednesday, 1:05-2:25pm.
|Prof. Joelle Pineau, School of Computer Science
Office: McConnell 106N
Office hours: Mondays 11:30am-1:00pm in my office.
|Yuri Grinberg, MC 112 |
||Amir Kadivar, MC 108 |
||Mahdi Milani Fard, MC 112 |
||Shaowei Png, MC 112 |
|Class web page:|
We will cover selected topics in Artificial Intelligence. We will study modern techniques for computers
to make good (in some cases optimal) decisions that are applicable throughout
an enormous range of industrial, civil, medical, financial, robotic and
information systems. We will not
attempt to cover the entire range of AI sub-areas in detail, but will survey
several key themes.
- Introduction to AI. Brief history. Different agent architectures.
- Search: uninformed and heuristic search, A*, local search and optimization
- Constraint satisfaction problems.
- Game playing and adversarial search.
- Knowledge representation. Logical reasoning. Propositional logic. Planning.
- Reasoning under uncertainty. Bayes rule. Belief networks.
- Supervised learning methods. Decision trees. Neural networks.
- Decision making. Utility theory. Reinforcement learning. Game theory.
- Special topics: Robotics, Natural Language Processing.
- Required textbook: S. Russell and P. Norvig. Artificial Intelligence: A Modern
Approach, Third Edition, Prentice Hall, 2009 (or 2010). Available at the McGill bookstore.
Lecture notes: available from the course web page.
The class grade will be based on the following components:
- Weekly individual assignments - 25%
- One in-class written midterm examination - 15%
- Individual class project - 25%
- Final examination - 35%.
- Participation in class discussions - up to 2% extra credit.
The assignments will include primarily written work, such as solving problems related to the concepts introduced during lectures and readings.
The class project will be composed of a programming part and a
written paper. In the programming part, you will implement a
game-playing program that will play against your colleagues' programs
over the network. You will be provided with a complete program for a player that
chooses moves legally but randomly. Your mission will be to enhance
the player, using AI techniques of your choice. The project code will be written in Java.
The ability to program in Java under the UNIX operating system is assumed but the use of this language is not mandatory. You may use any programming language, as long as you can
demonstrate that your implementation is correct. In the paper part of the project, you
will describe your approach, and justify your choice of algorithms.
Both the midterm and the final examination are written
examinations. The midterm will be held during class hours. The final will be held during the regular exam period.
Assignments and projects must be submitted IN CLASS on the day when they are due. The code for the project must be submitted electronically (instructions will be given in class) BEFORE 11:59pm on the day when it is due. Assignments and projects submitted BEFORE the due date (in class or directly to my office) will also be accepted. Late assignments and projects will NOT be accepted (no exception). Only the marks from the 5 best assignments will be counted towards the final grade. The final project (code and paper) must be submitted to obtain a passing grade. No make-up exams will be given.
All assignments are INDIVIDUAL!
McGill University values academic integrity. Therefore all students must understand
the meaning and consequences of cheating, plagiarism and other academic offences
under the Code of Student Conduct and Disciplinary Procedures (see
www.mcgill.ca/students/srr/honest/ ) for
In accord with McGill University's Charter of Students' Rights, students in this
course have the right to submit in English or in French any written work that is to