Detailed schedule and class resources

Notation (applies to the summary schedule also): Any section number (e.g. 3.5) refers to the textbook, Russell and Norvig. PA1 = Programming assignment 1. E3 = exam 3. PP2 = paper presentation, milestone 2. FP1 = final project, milestone 1.

Class 1: Tuesday, August 28

Introduction to course and discussion of syllabus. Elementary notions of classical search. Discussion of the cannibal problem. SimpleCannibals.java demonstrates one possible approach -- but note that this code is incomplete (look at the end of the findSolution() method to see where).

Ungraded homework, due by class 3:

Class 2: Thursday, August 30

Required reading:

Class will consist of discussion of the readings.

Here is a link to a chatbot we can use to try a real live Turing test. Another one we can try: cleverbot.

Sample exam questions:

Class 3: Tuesday, September 4

Required reading: 3.1-3.4

Stuart Russell's lecture notes: slides, handouts. Warning: these slides correspond to an earlier edition of the textbook, so there are some inconsistencies with the latest edition (e.g. fringe versus frontier, successor-function versus actions).

Ungraded homework: read the instructions and code for programming assignment 1, and bring any questions about the code to the next class.

Sample exam questions:

Class 4: Thursday, September 6

Required reading: 3.5

Romania map

Simple example in which uniform-cost search needs to replace an element in the frontier with a lower-cost node.

Table showing advantages and disadvantages of uninformed search algorithms.

A very helpful presentation on A* search, by Dr Andrew J. Parkes, University of Nottingham. Note in particular the step by step explanation on slide 9.

Sample exam question: given a problem and an admissible heuristic function, be able to explain the order in which nodes are expanded. (e.g. on the Romania map above.)

Class 5: Tuesday, September 11

Cancelled due to ill health.

Class 6: Thursday, September 13

Cancelled due to ill health.

Class 7: Tuesday, September 18

Required reading: 3.6

Lecture notes for class 7.

For interest only: presentation by Andrew Goldberg describing some algorithms behind Bing maps route planning, and the 2010 publication containing the rigorous results behind this work.

Sample exam questions: 3.14, 3.27, "Prove that a consistent heuristic is also admissible," "State the optimality properties of A* search for consistent, admissible, and inadmissible heuristics."

Class 8: Thursday, September 20

Exam 1.

Class 9: Tuesday, September 25

Required reading: 5.1-5.2

Stuart Russell's lecture notes: slides, handouts.

Sample exam questions:

Class 10: Thursday, September 27

Required reading: 5.3

Stuart Russell's lecture notes (same link as previous class): slides, handouts.

My own lecture notes on alpha-beta pruning.

Today's handout on alpha-beta pruning.

Optional reading: Knuth, D. E., and Moore, R. W., An analysis of Alpha-Beta pruning, Artificial Intelligence, 6:293-326, 1975 (Available on Moodle). This is a beautifully-written paper, and is the standard reference for the best-case complexity analysis of alpha-beta pruning. I recommend skimming the math and enjoying the commentary sections. See the lecture notes for a few more pointers.

Sample exam questions:

You now have (nearly) all the background you need for programming assignment 2!

Class 11: Tuesday, October 2

Required reading: 5.4.0-5.4.2, 5.5, 5.7

Stuart Russell's lecture notes are again relevant (same link as previous class): slides, handouts.

The instructor's lecture notes on search cutoff and stochastic games are available.

Optional reading: Jonathan Schaeffer et al., Checkers is Solved, Science, 14 September 2007: Vol. 317. no. 5844, pp. 1518 - 1522. Fulltext PDF available electronically from Dickinson Library.

Sample exam questions:

Class 12: Thursday, October 4

Required reading: 4.1.0, 4.1.1, 4.1.4, 4.3.0-2, 4.4.0-1

Stuart Russell's lecture notes: slides, handouts.

Links demonstrating some of the algorithms discussed:

Handout on non-classical search. And my lecture notes.

Sample exam questions:

Class 13: Tuesday, October 9

Required reading: none.

Sample exam questions:

  1. From the opening 45 minutes of Spielberg's movie AI: Artificial Intelligence, give: (a) two examples of a human showing emotional attachment to David (who is a robot), and (b) two examples of a human treating David differently to the way a human would be treated.
  2. Suppose that robots such as David in Spielberg's movie AI: Artificial Intelligence could be built. Do you believe our society would pass laws preventing cruelty to such robots? Justify your answer in 3 to 4 sentences.
  3. Do you believe it is possible, in principle, that robots such as David in Spielberg's movie AI: Artificial Intelligence could ever be built? Justify your answer in 3 to 4 sentences, referring to one or more of the important points in Turing's 1950 paper, Computing Machinery and Intelligence.

Class 14: Thursday, October 11

Required reading: 7.0-7.5.2; 7.7.0-7.7.1.

The above required reading is important, but the absolute essentials of propositional logic are covered in Sections 2, 3, and 4 of the document describing the third programming assignment, available here as clue.pdf. In class, we will step through the relevant parts of this document.

Sample exam questions:

Class 15: Thursday, October 18

Exam 2.

Class 16: Tuesday, October 23

Please take the mid-semester survey.

Required reading: 7.5.2 (again).

Lecture notes on resolution are available.

Sample exam questions: see previous class.

Class 17: Thursday, October 25

Required reading: 8.1-8.5.

Lecture notes on first order logic are available.

Results of mid semester survey are available.

Sample exam questions:

Examples of realistic applications of first-order logic (taken from the textbook's bibliography) -- these are for interest only, feel free to glance at the abstracts, but reading the actual papers would be excessive:

Class 18: Tuesday, October 30

This class was canceled due to the storm. The philosophy and ethics discussion originally scheduled for this class will now take place on Tuesday, December 4.

Class 19: Thursday, November 1

Required reading: 9.1, 9.2.1.

Lecture notes on inference in first order logic are available.

Sample exam questions:

Classes 20 and 21

Paper presentations.

Class 22: Tuesday, November 13

Announcements.

Required reading:

Lecture notes on nearest neighbors and decision trees are available.

Class 25: Tuesday, November 27

Lecture notes on Bayesian networks are available.

Ungraded homework questions: 13.8, 14.1, 14.6(a)-(d), and the exercises in the lecture notes.

Class 26: Thursday, November 29

The informal presentation on artificial neural networks is available. You can also read the book chapter available on Moodle (MacCormick 2012, Chapter 5) for some additional details.

Class 27: Tuesday, December 4

Required reading:

There is an excellent Wikipedia page on the Chinese Room.

Class 28: Thursday, December 6

Required reading/viewing: