======T-622-ARTI, Introduction to Artificial Intelligence, Spring 2012===== ===== Basic Info ===== * **Instructor: ** [[http://www.ru.is/staff/stephans|Stephan Schiffel]] (stephans+ru.is) * **Office: ** 3rd floor, Venus, 695-2998 * **Theory Lectures: ** Tuesdays 13:10-14:45 (M123), Thursdays 9:20-10:05 (M109) * **Labs: ** Thursdays 13:10-14:45 (M106) * **Online Forum:** [[http://ruclasses.proboards.com/index.cgi?board=arti2012]] (You need to register using your own name) ===== 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 (10%) ==== You hand in the (almost) weekly assignments. These 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. ==== Programming assignments (2 x 10%) ==== You complete two programming assignments. This can be done as a group project (up to 3 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-12-1:prog1|first programming assignment]] is to use search to find a good solution for a vacuum cleaning robot. The [[public:t-622-arti-12-1:prog2|second programming assignment]] is to program a connect-4 agent. ==== Final Project (30%) ==== 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=arti2012&action=display&thread=101|forum]]). Like the programming assignments, this can be done as a group project (up to 3 people). You have to hand in a 1-2 page description of the project goal and some ideas on how to achieve it in week 8 (10% of the final grade) and demonstrate the final project in week 12 (20% of the final grade). Project topics: * Andrea Monacchi "An Early Warning System for Ambient Assisted Living" (part of a master thesis) * Axel Gauti Guðmundsson, Heiðar Þórðarson "Dr. Dragon: Starcraft bot extraordinaire" * Bæring Gunnar Steinþórsson, Viktor Þorgeirsson "Chat bot" * Baldur Már Helgason, Jökull Jóhannsson "Path following robot" * Guðmundur Siemsen Sigurðarson, Ingi Steinn Guðmundsson "Starcraft: Attack or Flee" * Oddur Aðalgeirsson, Rúnar Freyr Rúnarsson "Starcraft: Ranged vs. Melee Unit" * Ólafur Unason "Assassin Robot in Robocode" ===== Course Schedule ===== ^Week^Date^Chapters^Topic^ |1|Jan 10| 1|Introduction+History| | |Jan 12| 2|Intelligent Agents| |2|Jan 17| 3|Search Problems| | |Jan 19| 3|Blind Search| | |Jan 19| Lab|[[Lab 1 - Agents]] | |3|Jan 24| 3|Heuristic Search | | |Jan 26| 3|Heuristic Search | | |Jan 26| Lab|[[Lab 1 - Agents]] | |4|Jan 31| 3|Heuristic Search | | |Feb 02| 5|Adversarial Search | | |Feb 02| Lab|[[Lab 2 - Formulating Search Problems]] | |5|Feb 07| |Guest Lecture (Yngvi Björnsson) | |6|Feb 14| 5|Monte-Carlo Search, General Game Playing | | |Feb 16| 7|Propositional Logic | | |Feb 16| Lab|Review of Programming Assignment 1, Programming Assignment 2 | |7|Feb 21| 8|Propositional Logic | | |Feb 23| 8,9|FOL | | |Feb 23| Lab|[[Lab 3 - Logic]] | |8|Feb 28| 10|Planning | | |Mar 01| Lab|Connect-4 Tournament | |9|Mar 06| 13,14|Uncertainty, Bayesian Networks | | |Mar 08| 18-21|Learning | | |Mar 08| Lab|[[Lab 4 - Bayesian Networks]] | |10|Mar 13| 18-21|Learning | | |Mar 15| 25|Robotics | | |Mar 15| Lab|[[Lab 5 - Learning Decision Trees]] | |11|Mar 20| 25|Robotics | | |Mar 22| |Probabilistic Reasoning over Time | | |Mar 22| Lab|[[Lab 6 - Particle Filtering]] | |12|Mar 27| |Wrap-Up | | |Mar 29| |Project Presentations | | |Mar 29| Lab|Project Presentations | /* | |Jan 21| 3|Search Problems (continued)| | | |3|Jan 24| 3|{{:public:t-622-arti-11-1:arti-c03-blindsearch.pdf|Blind Search}}| |Q| | |Jan 27| Lab|Braitenberg Vehicles ([[public:t-622-arti-11-1:lab_3_materials|lab material]]) ({{:public:t-622-arti-11-1:arti-braitenberg-vehicles.pdf|Braitenberg Vehicles}})|PROG1| | | |Jan 28| 3|{{:public:t-622-arti-11-1:arti-c03-heuristicsearcha.pdf|Heuristic Search A}}| | | |4|Jan 31| 3|{{:public:t-622-arti-11-1:arti-c03-heuristicsearchb.pdf|Heuristic Search B}}| |Q| | |Feb 03| Lab|A* Pathfinding Search ([[public:t-622-arti-11-1:lab_4_materials|lab material]]) | | | | |Feb 04| 5|{{:public:t-622-arti-11-1:arti-c05-adversarialsearch.pdf|Adversarial Search}}| | | |5|Feb 07| 5|Guest: Deon Garrett| |Q| | |Feb 10| Lab|Formulating Search Problems ([[public:t-622-arti-11-1:lab_5_materials|lab material]])|PROB1|PROG1| | |Feb 11| 5|Adversarial Search (continued) | | | |6|Feb 14| 7|Guest: Yngvi Björnsson | |Q| | |Feb 17| Lab|Review of PROG1 |PROG2|PROB1| | |Feb 18| 7|{{:public:t-622-arti-11-1:arti-c07-propositionallogic.pdf|Propositional Logic}}| | | |7|Feb 21| 8|Common Sense Discussion| |Q| | |Feb 24| Lab|Review of PROB1 | |FP-PROP| | |Feb 25| 8|{{:public:t-622-arti-11-1:arti-c08-firstorderlogic.pdf|First-Order Logic}} | | | |8|Feb 28| | Guest: Claudio Pedica | |Q| | |Mar 03| Lab|PowerLoom ([[public:t-622-arti-11-1:lab_6_materials|lab material]])| |PROG2| | |Mar 04| 10|{{:public:t-622-arti-11-1:arti-c10-planning.pdf|Planning}}|PROB2| | |9|Mar 07| 10|Guest: Ari Jónsson| |Q| | |Mar 10| Lab| Connect 4 Tournament| | | | |Mar 11| 13,14|{{:public:t-622-arti-11-1:arti-c13-uncertainty.pdf|Uncertainty}} / {{:public:t-622-arti-11-1:arti-c14-bayesian.pdf|Bayesian nets}} | | | |10|Mar 14| NA|Guest: Kristinn R. Thórisson| |Q| | |Mar 17| Lab|Bayesian Nets ([[public:t-622-arti-11-1:lab_7_materials|lab material]])| |PROB2| | |Mar 18| 18-21|{{:public:t-622-arti-11-1:arti-machinelearning.pdf|Learning}}| | | |11|Mar 21| NA|"Guest:" Hannes| |Q| | |Mar 24| Lab|Bayesian Nets Excercise + Review of PROB2| | | | |Mar 25| | {{:public:t-622-arti-11-1:arti-examreview.pdf|Exam Review}} | | | |12|Mar 28| | [[http://ruclasses.proboards.com/index.cgi?action=display&board=arti2011&thread=76&page=1#774|Other AI Resources]] and Discussions | | | | |Mar 31| | [[final_project|Final Project Demos / Presentations]] | |FP| | |Apr 01| | [[final_project|Final Project Demos / Presentations]] | |FP| */ ^^^^^ ===== Grading ===== ^Part of Course^Total Weight^ |Assignments (10*1%) | 10%| |2 Programming Assignments (2*10%) | 20%| |Final Project | 30%| |Final Written Exam | 40%| ^Total ^ 100%^