This page gives highlights of past lectures and provides lecture notes, reading assignments, and exercises.

Chapters and sections in the readings are from the textbook, unless specified otherwise.

Dates Topics Readings
Jan 17

Course introduction and administration. Overview of course topics.
Definition of AI. Defining intelligence. Operational definition of AI. Systems that think/act like humans. Systems that think/act rationally. Why study AI. Difficulty of AI tasks.

- Chap. 1
- Class notes 1
Jan 19

Intelligent agents. (Ideal) Rational agents. Performance measure. Environment, percept sequence, actions, internal knowledge, autonomy. Examples of natural and artificial agents. Agents as mappings. Environment features.

- Chap. 2
- Class notes 2
Jan 24
Jan 26

Classes of agents, from simple reflex agents to utility-based agents.
A quick introduction to Scala. General design and philosophy. Basic types and control constructs. Scoping rules. Tuples and lists. Pattern matching.

- Chap. 2
- Class notes 2
- Scala examples - Intro to Scala
Jan 31

More on Scala. Combining recursion and pattern matching. Recursive methods over lists. Classes and objects in Scala. Inheritance. Subtype and parametric polymorphism. Case classes. Using pattern matching and recursion with user-defined case classes. Examples.

- Scala examples
- Intro to Scala
- Scala tutorial
Feb 2

Problem solving. Problem solving agents. Problem solving as search. Modeling problems as search problems. Search space and strategies. General search algorithm.

- Chap. 3
- Class notes 3
- Class notes 3a
Feb 7
Feb 9

Search strategies. General assumptions on environments and cost functions. Uninformed strategies: breadth-first, depth-first, uniform-cost, iterative-deepening search. Completeness, optimality and complexity. Comparisons.
Informed, best-first strategies. Greedy best-first and A*. Completeness, optimality and complexity. Comparisons.
Search heuristics. Devising and comparing search heuristics.

- Chap. 3
- Class notes 3a
- Class notes 3b
Feb 14
Feb 16

Local search procedures and optimization problems. Hill-climbing, simulated annealing, beam search and so on. Genetic algorithms. problem encodings, combination and mutation. Examples.
Searching with non-deterministic actions. And-or search trees. Example: faulty vacuum cleaner. Search with partial observations. Searching over a space of belief states. Solving partially observable problems.

- Chap. 4.1,3,4
- Class notes 4
Feb 28
Mar 2

Constraint satisfaction problems. Classical example: map coloring. Representing problems as CSPs. Hard and soft (preference) constraints. Global constraints. Constraint satisfaction vs. constraint optimization.
Backtracking search for CPSs. Variable and value ordering heuristics. Constraint propagation. Various notions of consistency (node, arc consistency, ...). Interleaving search and constraint propagation. Intelligent backtracking and constraint learning. Exploiting problem structure to reduce search. Independent subproblems. Constraint satisfaction methods for problems with a tree structure. Cut set conditioning. Tree decomposition. Value symmetries and symmetry elimination.
Local search methods for CSPs. The min-conflict heuristic. The phase transition phenomenon.

- Chap. 6
- Class notes 6
Feb 28
Mar 2

Knowledge-based agents. Knowledge and reasoning as symbolic representation and manipulation. Knowledge inference. Examples: the Wumpus world. Logical agents. Introduction to logic. Propositional logic. Syntax and semantics. Properties. Inference systems for propositional logic.

- Chap. 7
- Class notes 7
- Class notes 7a
Mar 7
Mar 9

Sound and complete inference systems for propositional logic. Inference-based procedure and model-based procedure for propositional (un)satisfiability. Conjunctive normal form. The resolution rule for CNF knowledge bases. Examples of inferences. A sound, complete and terminating resolution-based procedure for CNF satisfiability. Horn clauses. Linear methods for Horn clause problems: forward and backward propagation.
Model-based procedure for propositional satisfiability. The DPLL procedure. Parallels with CSP solvers. Basic procedure and enhancements. Examples and discussion. The WalkSAT procedure. Strengths and weaknesses. Agents based on propositional logic. Representing and reasoning about the Wumpus World in PL.

- Chap. 7
- Class notes 7a
Mar 14
Mar 16

Spring break

Mar 21


All of the above
Mar 23

Introduction to first-order logic (FOL). Pros and cons of propositional logic (PL). Extending PL to FOL. Syntax and semantics of FOL. Entailment, validity and satisfiability.

- Chap. 8
- Class notes 8
Mar 28
Mar 30

Quantifiers and their use. Equality. Using first-order logic to model the world. Formalizing English statements in FOL. Typed vs. untyped versions of FOL. Examples and exercises. Knowledge engineering in FOL. Logic-based agents. Example: the Wumpus world.

Apr 4

Guest lecture by Andrew Reynolds on quantifier instantiation-based methods for FOL.

Talk slides
(not required)
Apr 6

Agent acting under uncertainty. The qualification problem. Source of uncertainty. Inadequacy of logic-based approaches and the need for probabilistic methods. Basic introduction to Probability Theory. Reasoning with full joint probability distributions.

- Chap. 13
- Class notes 13
Apr 11
Apr 13

More on conditional probability. Conditional and unconditional independence between random variables.
Representing and reasoning about joint probability distributions efficiently. Introduction to Bayesian/belief networks. Main idea and examples. Generating belief networks. Variable ordering heuristics. Computing various conditional and unconditional probabilities from belief networks. Examples and exercises.

- Chap. 13, 14
- Class notes 13
- Class notes 14
Apr 18

Efficient representation of conditional distribution with Bayesian networks. Query and inference in Bayesian networks. Exact inference methods. The variable elimination algorithm. Clustering algorithms. Examples. Complexity of exact reasoning.
Approximate inference. Direct sampling methods. Markov chain simulations.

- Chap. 14
- Class notes 14
Apr 20

Introduction to machine learning. Learning agents and forms of learning. Learning from examples. Decision trees. Definition, uses and examples. Learning decision trees.

- Chap. 18.1-2
- Class notes 18
Apr 25

More on decision tree learning. Information theoretic measures: Entropy/information gain. Choosing attributes bases in information gain. Examples. Generalization and overfitting. Extensions of the basic DT learning algorithm.
Evaluating and choosing the nest hypothesis.

- Chap. 18.3-4
- Class notes 18
Apr 27

Artificial neural networks. Motivation and uses. Units, links, weights and activation functions. Examples. Neural network topologies. Multilayer feed-forward networks. Perceptrons. The perception learning algorithm. Properties.

- Chap. 18.7
- Class notes 18a
May 2

Representational power of multilayer feed-forward networks. Learning in multilayer networks. The back-propagation learning procedure and its interpretation in terms of gradient descent search.

- Chap. 18.7
- Class notes 18a
May 4

Introduction to statistical learning. Bayesian learning. Optimality of Bayesian learning. Approximations with MAP hypotheses.
Learning from complete data. Maximum-likelihood parameter learning.

- Chap. 20.1-2
- Russel's notes
May 10  

Final Exam

All of the above