======T-622-ARTI, Introduction to Artificial Intelligence, Spring 2014===== ===== 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/|good web site]] full of useful AI resources. ===== Coursework Overview ===== ==== Assignments/Labs (25%) ==== 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-14-1:prog1|first programming assignment]] is to use search to find a good solution for a vacuum cleaning robot. The [[public:t-622-arti-14-1:prog2|second programming assignment]] is to program a Connect-4 agent. ==== Final Project (20%) ==== You can choose a topic for the final programming project (discuss topics and find a group on the Piazza page. 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 the last week (15% of the final grade). /* [[public:t-622-arti-13-1:final_project|List of chosen topics]] */ ==== Exam (35%) ==== There will be a final exam (3h) with questions similar to the ones in the assignments. ===== Grading ===== ^Part of Course^Total Weight^ |Assignments, Labs | 25%| |2 Programming Assignments (2*10%) | 20%| |Final Project | 20%| |Final Written Exam | 35%| ^Total ^ 100%^ ===== Course Schedule (subject to change) ===== ^Week^Date^Chapters^Topic^ | 1|Jan 14| 1,2|Introduction, History, Agents| |:::|Jan 15| Lab|[[Lab 1 - Agents]] | |:::|Jan 16| 2|Intelligent Agents | | 2|Jan 21| 3|Search Problems, Blind Search | |:::|Jan 22| Lab|[[public:t-622-arti-14-1:prog1|Programming Assignment 1 - Search]] | |:::|Jan 23| 3|Blind Search, Heuristic Search | | 3|Jan 28| 3|Heuristic Search | |:::|Jan 29| Lab|[[Lab 2 - Hashing States]] | |:::|Jan 30| 5|Adversarial Search (Minimax, Alpha-Beta) | | 4|Feb 04| 5,6|Adversarial Search (Algorithms), CSPs | |:::|Feb 05| Lab|[[public:t-622-arti-14-1:prog2|Programming Assignment 2 - Connect 4]] | |:::|Feb 06| 6|CSPs | | 5|Feb 11| 7|Propositional Logic | |:::|Feb 12| Lab|[[Lab 3 - CSPs]] | |:::|Feb 13| 7|Propositional Logic, Logical Agents | | 6|Feb 18| 7,8,9|Logical Agents, First Order Logic | |:::|Feb 19| Lab|[[Lab 4 - Propositional Logic]] | |:::|Feb 20| 8,9,10|First Order Logic, Planning | | 7|Feb 25| 10|Planning | |:::|Feb 26| Lab|Programming Assignment 2 - Competition | |:::|Feb 27| 13, 14|Uncertainty, Bayesian Networks | | 8|Mar 04| 13, 14|Bayesian Networks | |:::|Mar 05| Lab|[[Lab 5 - Bayesian Networks]] | |:::|Mar 06| 18-21|Machine Learning | | 9|Mar 11| 18.3|Learning Decision Trees | |:::|Mar 12| Lab|[[Lab 6 - Learning Decision Trees]] | |:::|Mar 13| 25|Robotics | | 10|Mar 18| 15|Probabilistic Reasoning over Time | |:::|Mar 19| Lab|[[Lab 7 - Particle Filtering]] | |:::|Mar 20| 15|Probabilistic Reasoning over Time | | 11|Mar 25| |??? | |:::|Mar 26| Lab|??? | |:::|Mar 27| |Wrap-Up | | 13|Apr 01| |Project Presentations | |:::|Apr 02| Lab|Project Presentations | |:::|Apr 03| |Project Presentations | ^^^^^ /* ===== 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]] */