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

Readings:

  • Chap. 1

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

Readings:

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

Readings:

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.

Readings:


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.

Readings:

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.

Readings:


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

Readings:

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

Readings:

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


Readings:

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


Beyond Classical Search
 

Copyright: Cesare Tinelli, The University of Iowa, 2018