======T-622-ARTI, Introduction to Artificial Intelligence, Spring 2013===== ===== Basic Info ===== * **Instructor: ** [[http://www.ru.is/staff/stephans|Stephan Schiffel]] (stephans+ru.is) * **Office: ** 3rd floor, Venus, 695-2998 * **Lectures: ** Mondays 12:20-13:55 (M104), Fridays 12:20-13:05 (M124) * **Labs: ** Group 1: Thursdays 13:10-14:45 (M106), Group 2: Thursdays 17:25-19:00 (M110), you can pick whichever suits you best * **Online Forum:** [[http://ruclasses.proboards.com/index.cgi?board=arti2013]] ===== Description ===== 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. ===== Goals ===== On the completion of the course the students should: * have a good overview of the field of artificial intelligence (AI) and a thorough understanding of the fundamental solution methods used to attack a wide variety of AI-related problems. * have gained experience building a small special-purpose AI system. ===== Book ===== The textbook for this class is: //"Artificial Intelligence: A Modern Approach"// by Stuart Russell and Peter Norvig. This book has a [[http://aima.cs.berkeley.edu/|very good web site]] full of useful AI resources. ===== Coursework Overview ===== ==== Assignments/Labs (15%) ==== 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. ==== Programming assignments (2 x 10%) ==== 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 [[public:t-622-arti-13-1:prog1|first programming assignment]] is to use search to find a good solution for a vacuum cleaning robot. The [[public:t-622-arti-13-1:prog2|second programming assignment]] is to program a Connect-4 agent. ==== T-622-ARTI. Spring 2013 - Final Project (25%) ==== You can choose a topic for the final programming project (discuss topics and find a group in the [[http://ruclasses.proboards.com/index.cgi?board=arti2013&action=display&thread=118|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). [[public:t-622-arti-13-1:final_project|List of chosen topics]] ==== Exam (40%) ==== There will be a final exam (3h) with questions similar to the ones in the assignments. ===== Course Schedule (subject to change) ===== ^Week^Date^Chapters^Topic^ | 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|[[public:t-622-arti-13-1:prog1|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|[[public:t-622-arti-13-1:prog2|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 01| 8,9|FOL | | 8|Mar 04| 10|Planning | |:::|Mar 07| Lab|[[public:t-622-arti-13-1:prog2|Programming Assignment 2 - Competition]] | |:::|Mar 08| 10|Planning | | 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]] | |:::|Mar 22| 25|Robotics | | 11|Mar 25| 15|Probabilistic Reasoning over Time | ^ Easter ^^^^ | 12|Apr 04| Lab|[[Lab 7 - Particle Filtering]] | |:::|Apr 05| |Wrap-Up | | 13|Apr 08| |Project Presentations | |:::|Apr 11| Lab|Project Presentations | |:::|Apr 12| |Project Presentations | ^^^^^ /* ===== Grading ===== ^Part of Course^Total Weight^ |Assignments (15*1%) | 15%| |2 Programming Assignments (2*10%) | 20%| |Final Project | 25%| |Final Written Exam | 40%| ^Total ^ 100%^ */