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 Lecture synopsis Notes
Jan 16

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

Jan 18

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

Intelligent Agents
Jan 23

Classes of agents, from simple reflex agents to utility-based agents.
A quick introduction to F#. General design and philosophy. Basic types and operators. Basic expressions and type checking. Tuple types. Variable binding. Immutable and mutable variables.


Intelligent Agents
Jan 25

More on F#. Variable scope ands scoping rules. Function definitions. Recursive functions. Pattern matching. Patterns in let expressions and in function definitions. The match construct. Meaning and common uses. Scoping of pattern variables in match.


Jan 30

Algebraic datatypes (ADT), or discriminated unions, in F#. Basic uses. Pattern matching with ADTs. Functions accessing and manipulating ADTs. Using ADTs to encode arithmetic expressions. Simple evaluators of arithmetic expressions. Parametric types in F#. Motivation and uses. Parametric algebraic datatypes. F# Lists. Basic features and examples. Using pattern matching and recursion to implement functions over lists.


Feb 1

More on F#. Association lists. Using lists to implement other data types. Maps as association lists. Sets as lists with no repeated elements. Option types. Motivation and uses. Immutable maps. Mutable and immutable records. Pattern matching with records. Mutable variables and imperative code.

Problem solving agents. General view. Problem solving as search.


Problem Solving
Feb 6
Feb 8

Modeling problems as search problems. Search space and strategies. General search algorithm. 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*.


  • Chap. 3

Uninformed Search

Informed Search
Feb 13

Completeness, optimality and complexity of A*. Comparisons with other strategies.
Search heuristics. Devising and comparing search heuristics. Problem relaxations.


  • Chap. 3

Informed Search
Feb 15

Local search procedures and optimization problems. Hill-climbing, simulated annealing, beam search and so on. Genetic algorithms. problem encodings, combination and mutation. Examples.


  • Chap. 3
  • Chap. 4.1,3,4

Beyond Classical Search
Feb 20
Feb 22

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

Constraint Satisfaction Problems
Feb 28
Mar 2

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


  • Chap. 7

Logical Agents

Propositional Logic
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.
High order functions in F#. Storing, passing and creating closures. Multi-argument functions as higher-order functions. Partial application. Examples. Common higher-order functions over lists (map, fold, filter, forAll, etc.) Examples.


Propositional Logic
Mar 14
Mar 16

Spring break

Mar 20

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

First-order Logic
Mar 22


All of the above
Mar 27
Mar 29

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.


  • Chap. 8

First-order Logic
Apr 3
Apr 5

Notes on the midterm.
Agents acting under uncertainty. The qualification problem. Sources of uncertainty. The inadequacy of logic-based approaches and the need for probabilistic methods. Basic introduction to Probability Theory. Reasoning with full joint probability distributions. 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.


  • Chap. 13, 14 (except 14.6)

Uncertainty (revised)

Probabilistic Reasoning
Apr 10
Apr 12

Computing various conditional and unconditional probabilities from belief networks. Examples and exercises. 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. Rejection sampling.


  • Chap. 14 (except 14.6)

Probabilistic Reasoning (revised)
Apr 17

More on direct sampling methods. Likelihood weighting and Markov chain Montecarlo.
Introduction to machine learning. Learning agents and forms of learning. Learning from examples. Decision trees. Definition, uses and examples. Learning decision trees. Information theoretic measures: Entropy/information gain. Choosing attributes based on information gain. Examples. Generalization and overfitting. Extensions of the basic DT learning algorithm.
Evaluating and choosing the best hypothesis.


  • Chap. 14 (except 14.6)
  • Chap. 18.1-4

Probabilistic Reasoning (revised)

Apr 24
Apr 26

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.
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.6-7

Neural Networks
May 7

Final Exam

All of the above

Copyright: Cesare Tinelli, The University of Iowa, 2018