CMPSCI 383: Artificial Intelligence

Fall 2014 (archived)

Schedule

This schedule is a draft, and it will be updated as the semester progresses.

My notes for each day are in Markdown format; you can open them in a text editor if you don’t have another program you prefer.

Tuesday, September 02

Before class: Read Chapter 1, 26, 27

Topics:
Class overview, mechanics, goals.
What is AI? History and Milestones. Weak vs. Strong AI.

Assignment 00 assigned, due 09-05.

notes

Thursday, September 04

Before class: Read Chapter 2, 3.1–3.4

Topics:
Intelligent Agents.
Introduction to Search: Search problems. Toy and real-world examples. About search algorithms. Uninformed search strategies.

notes, pptx

Assignment 01 assigned, due 09-12.

Tuesday, September 09

Before class: Read Chapter 3.4–3.6

Topics:
Search, continued: Informed search strategies. Heuristics.

notes, pptx

Optional reading: http://www.redblobgames.com/pathfinding/a-star/introduction.html, http://theory.stanford.edu/~amitp/GameProgramming/

Thursday, September 11

Before class: Read Chapter 4.

Topics:
Local search: Hill climbing, simulated annealing. Beam search and genetic algorithms.
Local search in continuous spaces.

notes, pptx

Assignment 02 assigned, due 09-19.

Optional reading:
Simulated Annealing and the TSP
Genetic Algorithms for Starcraft 2

Tuesday, September 16

Before class: Read Chapter 5.

Topics:
A simple hill climber. Adversarial Search.

notes

Optional reading: https://en.wikipedia.org/wiki/Negamax

Thursday, September 18

Topics:
Adversarial Search, continued. Assignment 03 assigned, due 09-26 10-01.

Optional reading: Where the really hard problems are. [ACM DL] or [pdf] (the pdf is an OCRed scan)

Tuesday, September 23

Before class: Read Chapter 6.

Topics:
Constraint Satisfaction Problems.

notes, pptx

Thursday, September 25

Before class: Read Chapter 13.

Topics:
Quantifying Uncertainty.

notes

Assignment 04 assigned, due 10-10 10-17.

Optional reading: Think Bayes: Bayesian Statistics Made Simple provides an introduction to Bayesian methods using code (Python), rather than mathematical notation. The text is available for free online. Though not all the material is directly relevant to this course, you might find the first few chapters useful.

Exam 1 at 1900 in HAS 134.

Tuesday, September 30

Before class: Read Chapter 14.1 – 14.2

Topics:
Uncertainty, continued. Bayesian Networks.

notes

Thursday, October 02

Before class: Read Chapter 14.4

Topics:
Exact Inference in Bayesian Networks

notes, pptx

Tuesday, October 07

Before class: Read Chapter 14.5

Topics:
Exam Results
A Java Minimax Solver for 3x3 Tic-Tac-Toe

Thursday, October 09

Topics:
CSP Review
Simple Backtracking Solver for Kakuro

Tuesday, October 14

No class meeting, Monday class schedule followed today.

Thursday, October 16

Class canceled. No class meeting.

Assignment 05 assigned, due 10-24.

Tuesday, October 21

Before class: Read Chapter 14.5

Topics:
Approximate Inference in Bayesian Networks

notes

Assignment 06 assigned, due 11-05.

Thursday, October 23

Before class: Read Chapter 18.1, 18.2, 19.1 – 19.3; skim remainder of 19.

Topics:
Types of Inductive Learning. Supervised Learning. Simple Rule Learning. Evaluation Functions and Search.

Optional reading:
Machine Learning, Supervised Learning

notes

Tuesday, October 28

Topics:
Simple Rule Learning. Evaluation Functions and Search.

Optional reading:
Association Rules

notes

Thursday, October 30

Before class: Read Chapter 20.1, 20.2.1, 20.2.2

Topics:
Classification as probability estimation. Naive Bayes classifiers.

Optional reading:
On the optimality of the Naive Bayes classifier

notes

Exam 2 at 1900 in AEBN 119.

Tuesday, November 04

Election Day Remember to vote.

Before class: Read Chapter 18.3, 18.4

Topics:
Naive Bayes classifiers. Bias and Variance. Decision Trees.

notes

Assignment 07 assigned, due 11-12.

Thursday, November 06

Topics:
Overfitting and other pathologies of learning algorithms.

notes pptx

Assignment 08 assigned, due 11-19.

Tuesday, November 11

Veteran’s Day, no class meeting.

Wednesday, November 12

Tuesday class schedule followed.

Before class: Read Chapter 20.2.6, 18.6, 14.3

Topics:
Learning with continuous variables. Kernel density estimation. Linear regression (and classification).

notes

Thursday, November 13

Before class: Read Chapter 18.7

Topics:
Artificial neural networks.

notes

Optional reading:
A gentle introduction to backpropagation [html] [pdf]
The Flaw Lurking In Every Deep Neural Net
So you wanna try deep learning?
Neural Networks, Manifolds, and Topology (thanks, David!)

Tuesday, November 18

Before class: Read Chapter 18.8, 18.10, 20.2.6, 20.3.1

Topics:
Non-parametric classification (k-nearest-neighbors). Ensemble learning. Unsupervised learning. K-means clustering. (A very brief introduction to) expectation-maximization.

notes

Assignment 09 assigned, due 11-26.

Thursday, November 20

Before class: Read Chapter 15.1, 15.2.1, 15.3.

Topics:
Probabilistic reasoning over time. Markov models. Stationary distributions. Hidden Markov Models. Filtering.

notes pptx

Assignment 10 assigned, due 12-05.
Assignment 11 assigned, due 12-11.

Tuesday, November 25

Before class: Read Chapter 15.2.2, 15.2.3, 15.5

Topics: Filtering. The Forward Algorithm. MLE in HMMs.

notes

Optional reading: The Wikipedia entry and associated graphic on Viterbi may be helpful. The Python code on that page may also be helpful if you understand Python.

Thursday, November 27

Thanksgiving break, no class meeting.

Tuesday, December 02

Topics:
Course evaluations. Viterbi. Approximate temporal inference.

Wednesday, December 03

Exam 3 at 1900 in AEBN 119.

Thursday, December 04

Topics:
Course wrap-up and review. Final exam review.

Thursday, December 11

Final Exam