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.
|
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.
|
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.
|
|
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.
|
|
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.
|
Problem Solving
Uninformed Search |
Feb 12 |
Greedy best-first and A*.
Completeness, optimality and complexity of A*.
Comparisons with other strategies.
|
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.
|
Beyond Classical Search |
Feb 19 |
Genetic algorithms.
problem encodings, combination and mutation.
Examples.
|
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.
|
|
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.
|
Logical Agents
Propositional Logic |
Mar 12 Mar 14 |
Notes on the midterm.
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.
|
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.
|
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.
|
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.
|
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.
|
Learning |
Apr 25 |
Neural network topologies.
Multilayer feed-forward networks.
Perceptrons.
The perception learning algorithm.
Properties.
|
Neural Networks |
Apr 25 |
Midterm II |
|
Apr 30
May 2 |
Project work |
|