Lectures

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 15

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.

Readings:

  • Chap. 1

Introduction
Jan 17

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. Classes of agents, from simple reflex agents to utility-based agents.

Readings:

  • Chap. 2

Intelligent Agents
Jan 22
Jan 24

An introduction to OCaml. General design and philosophy. Basic types and operators. Basic expressions and type checking. Tuple types. Variable binding and scoping rules. Immutable and mutable variables. Function definitions. Pattern matching. Patterns in let expressions and in function definitions. The match construct. Meaning and common uses. Scoping of pattern variables in match. Defining functions by cases with pattern matching.
Algebraic datatypes (ADT), or discriminated unions, in OCaml.

Required readings:

Suggested readings:

Jan 29

Basic uses of 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. Association lists. Using lists to implement other data types. Maps as association lists. Sets as lists with no repeated elements.

Readings:


Jan 31

Class canceled due to inclement weather.

Feb 5
Feb 7

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.

Readings:

  • Chap. 3

Problem Solving

Uninformed Search
Feb 12

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

Readings:

  • Chap. 3

Informed Search
Feb 14

More on OCaml. Mutable and immutable records. Pattern matching with records. Mutable variables and imperative code. Option types. Motivation and uses. Immutable maps.
Local search procedures and optimization problems. Hill-climbing, simulated annealing, beam search and so on.

Readings:

Beyond Classical Search
Feb 19

Genetic algorithms. problem encodings, combination and mutation. Examples.
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.


Readings:

  • Chap. 4.1
  • Chap. 6

Beyond Classical Search

Constraint Satisfaction Problems (revised)
Feb 26 Midterm I
Feb 28

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.

Readings:

Mar 5
Mar 7

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

Readings:

  • Chap. 7

Logical Agents

Propositional Logic
Mar 12
Mar 14

Notes on the midterm.
Model-based procedure for propositional satisfiability. The DPLL procedure. Parallels with CSP solvers. Basic procedure and enhancements. Examples and discussion.

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

Readings:

  • Chap. 7
  • Chap. 8

Propositional Logic

First-order Logic
Mar 19
Mar 21

Spring break

Mar 26
Mar 28

Formalizing facts in FOL. Examples and exercises. Knowledge engineering in FOL. Logic-based agents. The situation calculus. Example: the Wumpus world.

Agents acting under uncertainty. The qualification problem. Sources of uncertainty. The inadequacy of logic-based approaches and the need for probabilistic methods.

Readings:

  • Chap. 8
  • Chap. 13

First-order Logic (revised)

Uncertainty
Apr 2
Apr 4

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.

Readings:

  • Chap. 13
  • Chap. 14 (except 14.6)

Uncertainty

Probabilistic Reasoning
Apr 9
Apr 11

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. Likelihood weighting and Markov chain Montecarlo.

Readings:

  • Chap. 14 (except 14.6)

Probabilistic Reasoning
Apr 16
Apr 18

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.

Artificial neural networks. Motivation and uses. Units, links, weights and activation functions. Examples.

Readings:

  • Chap. 18.1-4

Learning
Apr 25

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.

Readings:

  • Chap. 18.6-7

Neural Networks
Apr 25

Midterm II

Apr 30
May 2

Project work

 

Copyright: Cesare Tinelli, The University of Iowa, 2019