Artificial Intelligence (AI) is devoted to the computational study of intelligent behaviour, including areas such as problem solving, knowledge representation, reasoning, planning and scheduling, machine learning, perception and communication. This course gives an overview of the aforementioned AI subfields from a computer science perspective and introduces fundamental solution techniques for addressing them. An important part of the course is an independent final project where the students develop AI software in an area of their choice.
On the completion of the course the students should:
The textbook for this class is: “Artificial Intelligence: A Modern Approach” by Stuart Russell and Peter Norvig. This book has a very good web site full of useful AI resources.
You hand in the (almost) weekly assignments and finish the labs. The assignments will mainly consist of small exercises in which you have to apply what you should have learned in the lecture. The questions should give you an indication of the questions that may be asked in the final exam. The labs are more practical applications of the material, often in the form of small programming tasks.
You complete two programming assignments. This can be done as a group project (up to 4 people). Make sure you clearly indicate who is part of the group and that every group member clearly understands the solution.
The first programming assignment is to use search to find a good solution for a vacuum cleaning robot.
The second programming assignment is to program a Connect-4 agent.
You can choose a topic for the final programming project (discuss topics and find a group in the forum). Like the programming assignments, this can be done as a group project (up to 4 people). You have to hand in a 1-2 page description of the project goal and some ideas on how to achieve it approx. in week 8 (5% of the final grade) and a report and demonstration in week 12 (20% of the final grade).
There will be a final exam (3h) with questions similar to the ones in the assignments.
|1||Jan 14||1,2||Introduction, History, Agents|
|Jan 17||Lab||Lab 1 - Agents|
|Jan 18||2||Intelligent Agents|
|2||Jan 21||3||Search Problems, Blind Search|
|Jan 24||Lab||Programming Assignment 1|
|Jan 25||3||Blind Search, Heuristic Search|
|3||Jan 28||3||Heuristic Search|
|Jan 31||Lab||Lab 2 - Formulating Search Problems|
|Feb 01||3||Heuristic Search|
|4||Feb 04||5||Adversarial Search (Minimax, Alpha-Beta)|
|Feb 07||Lab||Lab 3 - Hashing States|
|Feb 08||5||Adversarial Search (Algorithms)|
|5||Feb 11||Monte-Carlo Search, General Game Playing|
|Feb 14||Lab||Programming Assignment 2|
|Feb 15||7||Propositional Logic|
|6||Feb 18||7||Propositional Logic, Logical Agents|
|Feb 21||Lab||Lab 4 - Propositional Logic|
|Feb 22||7||Logical Agents|
|7||Feb 25||7,8,9||Logical Agents, FOL|
|Feb 28||Lab||time limits and caching with Alpha-Beta Search|
|Mar 07||Lab||Programming Assignment 2 - Competition|
|9||Mar 11||13, 14||Uncertainty, Bayesian Networks|
|Mar 14||Lab||Lab 5 - Bayesian Networks|
|Mar 15||14||Bayesian Networks|
|10||Mar 18||18-21, 18.3||Machine Learning, Learning Decision Trees|
|Mar 21||Lab||Lab 6 - Learning Decision Trees|
|11||Mar 25||15||Probabilistic Reasoning over Time|
|12||Apr 04||Lab||Lab 7 - Particle Filtering|
|13||Apr 08||Project Presentations|
|Apr 11||Lab||Project Presentations|
|Apr 12||Project Presentations|