This page references the MIT 6.034 Artificial Intelligence open course (Fall 2010). This course has been taugh by Patrick Winston at Fall 2010. You can view the complete course at http://ocw.mit.edu/6-034F10. Creative Commons BY-NC-SA Licence.

- 1. Introduction and Scope
- 2. Reasoning: Goal Trees and Problem Solving
- 3. Reasoning: Goal Trees and Rule-Based Expert Systems
- 4. Search: Depth-First, Hill Climbing, Beam
- 5. Search: Optimal, Branch and Bound, A*
- 6. Search: Games, Minimax, and Alpha-Beta
- 7. Constraints: Interpreting Line Drawings
- 8. Constraints: Search, Domain Reduction
- 9. Constraints: Visual Object Recognition
- 10. Introduction to Learning, Nearest Neighbors

In this lecture, Prof. Winston introduces artificial intelligence and provides a brief history of the field. The last ten minutes are devoted to information about the course at MIT.

This lecture covers a symbolic integration program from the early days of AI. We use safe and heuristic transformations to simplify the problem, and then consider broader questions of how much knowledge is involved, and how the knowledge is represented.

We consider a block-stacking program, which can answer questions about its own behavior, and then identify an animal given a list of its characteristics. Finally, we discuss how to extract knowledge from an expert, using the example of bagging groceries.

This lecture covers algorithms for depth-first and breadth-first search, followed by several refinements: keeping track of nodes already considered, hill climbing, and beam search. We end with a brief discussion of commonsense vs. reflective knowledge.

This lecture covers strategies for finding the shortest path. We discuss branch and bound, which can be refined by using an extended list or an admissible heuristic, or both (known as A*). We end with an example where the heuristic must be consistent.

In this lecture, we consider strategies for adversarial games such as chess. We discuss the minimax algorithm, and how alpha-beta pruning improves its efficiency. We then examine progressive deepening, which ensures that some answer is always available.

How can we recognize the number of objects in a line drawing? We consider how Guzman, Huffman, and Waltz approached this problem. We then solve an example using a method based on constraint propagation, with a limited set of junction and line labels.

This lecture covers map coloring and related scheduling problems. We develop pseudocode for the domain reduction algorithm and consider how much constraint propagation is most efficient, and whether to start with the most or least constrained variables.

We consider how object recognition has evolved over the past 30 years. In alignment theory, 2-D projections are used to determine whether an additional picture is of the same object. To recognize faces, we use intermediate-sized features and correlation.

This lecture begins with a high-level view of learning, then covers nearest neighbors using several graphical examples. We then discuss how to learn motor skills such as bouncing a tennis ball, and consider the effects of sleep deprivation.