Course material (assignments, lecture notes) (id/passwd required, revealed in first lecture)
Meetings / Wednesdays Work Items Topics ------------------------------------------------------------------------------------- 1. Jan 09 M1/A1r Intro, Game AI Successes, MiniMax Search [L1-3: parts 1,2] 2. Jan 16 M2 AlphaBeta Search, Transposition Tables, Move Sorting [L4-6: parts 2,3] 3. Jan 23 M3 Playing with Search Windows and Search Depth [L7-9: part 3] 4. Jan 30 M4 Evaluation Functions, Parameter Optimization, DNNs [L10-12: parts 4,5] 5. Feb 06 M5/A1d/A2r Single-Agent Search, A*, IDA*, Pattern Databases [L13-15: parts 6,7] 6. Feb 13 M6 Hierarchical/Triangulation/Multi-Agent Pathfinding [L16-18: part 8] 7. Feb 20 ------ READING WEEK ------ 8. Feb 27 M7 Chance and Sampling, Monte Carlo Tree Search, UCT, AlphaGo [L19-21: parts 9,10] 9. Mar 06 M8/A2d/CPA Imperfect Information Games, Card Game AI, RTS Game AI [L22-24: parts 11,12] 10. Mar 13 M9/CPR 11. Mar 20 M10/PAP [presentations; 15 minutes each] 12. Mar 27 M11/PRO 13. Apr 03 M12 14. Apr 10 M13/PRP/PRR [presentations; 25 minutes each] Legend: Ajr / Ajd : assignment j released / due (Wednesdays end of day) Mi : meeting i CPA : choose recent research paper (Mar. 6) CPR : choose project topic (Mar. 13) PAP : paper presentations (Mar. 20) and summary due PRO : project progress report (Mar. 27, 10% malus if not sent in time) PRP : project presentation (Apr. 10) PRR : project report due (Apr. 10)
Search is at the heart of artificial intelligence (AI) research. AI applications often have to search among the alternatives for either the optimal answer (optimizing) or the best result given limited resource constraints (satisficing). This was best epitomized by the chess match between Deep Blue and Garry Kasparov. The computer, searching 200 million chess positions per second, narrowly edged the human world champion (~2 chess positions per second).
This course will cover many important search algorithms used in AI ranging from single-agent A* search, over two-player search (alpha-beta), to Monte-Carlo Tree Search (MCTS). Algorithms will be evaluated in terms of their algorithmic complexity, implementation considerations, utility, interaction with application-dependent knowledge, etc. At the end of the course students will know how video game engines find shortest paths quickly, how strong board game, card game, and video game AI systems work, and what current research challenges in this AI area are. Course projects can become seeds for theses!
There will be 4 assignments and a project in the course. Two assignments are designed to be fun and competetive: 1) Writing a program that plays a two-player perfect information game and 2) writing a single-agent search program to solve a puzzle. Programs will be evaluated (in part) by competing in a round-robin tournament, allowing each student's program to test its ability against all other programs. In the second half of the course, students will 3) summarize a recent research paper of their choice and 4) choose a project to work on (if more than 10 students take the course, projects will be done in teams of 2 if possible). Project presentations will finish the course. There is no final exam.
In this course grades will not be curved, they are absolute - following these cut points:
>= 95% A+ >= 90% A >= 85% A- >= 80% B+ >= 75% B >= 70% B- >= 65% C+ >= 60% C >= 55% C- >= 50% D+ >= 45% D < 45% F
Please visit this page to learn about our interpretation of letter grades. I have the discretion in setting the borderline between passing and failing and, in doing so, may consider a students entire performance across the term as well as their overall percentage.
The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)
Copying and cheating on assignments will be penalized with a mark of 0 (see the standard handouts for academic dishonesty and copying and cheating), and Section 30.3.2 Inappropriate Academic Behaviour.
Students are encouraged to discuss and solve problem sets in small
groups to speed up learning and stimulate idea exchange. In the end,
however, students must write down their own solutions and be able to
solve similar problems independently. You must give credit to any
source that substantially assisted you in completing the assignment. A
source includes fellow students, books, papers, TAs, and me. Failure
to give proper credit is considered plagiarism.