CS 371 - Introduction to Artificial Intelligence
Course Syllabus

Note: This syllabus is tentative and subject to change.  Each reading assignment should be completed before the class on the date indicated.  If a reading assigned in class does not match the reading assignment here, the reading assigned in class supersedes.  Unless otherwise noted, readings are from Russell & Norvig, "Artificial Intelligence: a modern approach, 3rd ed.".

Class Month Day Topic Readings (parenthesized
reading are optional)
1 January 24 Introduction, "What is AI?"; Uninformed search: problem definition Course Information page; 4th Hour Requirements: ISLR Introduction, Week 1; (Skim R&N Ch. 1, 2); R&N 3.1-3.3; Deep Blue article
2   26 Uninformed Search: breadth-first search, depth-first search, recursive depth-first search, depth-limited search, iterative-deepening depth-first search 3.4, HW1 Starter Code and Documentation
3   31 Uninformed Search: repeated state detection, in-class implementation   
4 February 2 Informed Search: heuristic search, best-first search, uniform cost search, greedy search rest of Ch. 3 except 3.5.3 (memory-bounded heuristic search)
5   7 Stochastic Local Search: hill descent with uphill step probability, simulated annealing, parameter tuning, demonstrations 4.1, Skim Science Simulated Annealing article
6   9 Stochastic Local Search: in-class implementations and challenge problem (4.2)
7 14 Game-Tree Search: minimax, alpha-beta pruning 5.1-5.3
8   16 Game-Tree Search: heuristic evaluation, in-class heuristic development 5.4
9 21 Game-Tree Search: time management H. Baier, M. Winands. Time Management for Monte-Carlo Tree Search in Go. (skim time management strategies)
10   23 Game-Tree Search: expectiminimax, in-class development 5.5
11   28 Game-Tree Search: Monte Carlo Tree Search (MCTS), UCT L. Kocsis, C. Szepesvari. Bandit based Monte-Carlo Planning.  (C. Browne et al. A Survey of Monte Carlo Tree Search Methods)
12 March 2 Machine Learning: Dynamic Programming "Solving the Dice Game Pig: an introduction to dynamic programming and value iteration", Sections 1-2
13 7 Machine Learning: Dynamic Programming (cont.), Value Iteration "Solving the Dice Game Pig: an introduction to dynamic programming and value iteration", remainder; Russell & Norvig sections 17.1-17.2
14   9 Machine Learning: Value Iteration (cont.)  
15   21 In-class Midterm  
16   23 Knowledge Representation & Reasoning: Propositional Logic, syntax, semantics, truth assignments, models, (un)satisfiability, validity, entailment, equivalence. 7.1-7.4 (through "A simple knowledge base"), "Clue Deduction: an introduction to satisfiability reasoning" sections 1-2
17   28 Knowledge Representation & Reasoning: conjunctive normal form, resolution theorem proving, various logic problems 7.5, "Clue Deduction: an introduction to satisfiability reasoning" sections 3-6
18   30 Knowledge Representation & Reasoning: Clue project knowledge base, in-class play and reasoning about Clue "Clue Deduction: an introduction to satisfiability reasoning" section 8
19 April 4 Knowledge Representation & Reasoning: in-class knowledge representation exercise, conversion to DIMACS CNF format, DPLL algorithm http://en.wikipedia.org/wiki/DPLL_algorithm
20   6 Knowledge Representation & Reasoning: stochastic local search for boolean satisfiability, WalkSAT, in-class simplified WalkSAT solver programming 7.6.2 (local search algorithms), http://en.wikipedia.org/wiki/WalkSAT
21   11 Data Mining: k-Means Clustering Unsupervised learning definition 18.1, k-Means Clustering Wikipedia article,
OnMyPhD demo apps
22   13 Data Mining: k-Means Clustering, determining the number of clusters, the gap statistic Determining the number of cluster Wikipedia article; Tibshirani, Walther, and Hastie. "Estimating the number of clusters in a data set via the gap statistic"
23   18 Probabilistic Reasoning: Bayesian Networks, Gibbs Sampling, a Markov Chain Monte Carlo (MCMC) algorithm for reasoning on Bayesian networks 14.1-14.2, An Introduction to Monte Carlo Techniques in AI - Part II, 14.5.2, Pearl, Judea. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference, Revised 2nd Printing, Morgan Kaufmann, San Francisco, California, USA, 1988, Table 1 (p. 197), section 4.4.3 (pp. 210-216, up to "Justifying the Computations")
24   20 Robotics: Monte Carlo Localization S. Thrun., W. Burgard, and D. Fox. Probabilistic Robotics (draft), Chapter 8 
25 25 Motion models (Robotics project work) S. Thrun., W. Burgard, and D. Fox. Probabilistic Robotics (draft), Chapter 5
26   27 Sensor models (Robotics project work) S. Thrun., W. Burgard, and D. Fox. Probabilistic Robotics (draft), Chapter 6
27 May 2 Course Evaluations  
28   4 Robotics Team Demonstrations  
      Final Exam Schedules (Fall, Spring) Thursday, May 11, 8:30 a.m. - 11:30 a.m.

Todd Neller