B003725 - Artificial Intelligence. Fall 2022

Bachelor degree in Computer Engineering, University of Florence

Instructor

Paolo Frasconi, DINFO, via di S. Marta 3, 50139 Firenze

email: .

Office Hours

Wednesday, 14:45-16:45.

Description

The course will introduce problems and basic algorithmic techiques in the following areas:

Learning objectives

You will be able to design and apply simple searching agents, solvers for constraint satisfaction problems, understand and apply simple probabilistic models and solve basic data-driven classification problems. The course will serve as a foundation for further study in AI as well as in engineering areas where AI is becoming predominant.

Prerequisites

B003368 (Algorithms and Data Structures)

Suggested readings

Textbook

Other texts

[B12]
D. Barber. Bayesian Reasoning and Machine Learning. Cambridge University Press, 2012 (free PDF).
[D17]
Hal Daume III A Course in Machine Learning 2017 (free PDF).
[PM17]
David L. Poole and Alan K. Mackworth. Artificial Intelligence: Foundations of Computational Agents. Cambridge University Press. (free online).
[HTF09]
T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning. Data Mining, Inference, and Prediction. 2nd edition. Springer, 2009 (free PDF).
[D03]
Dechter, R. (2003). Constraint Processing. Morgan Kaufmann.
[J96]
Jensen, F. V. (1996). An introduction to Bayesian networks. UCL Press.
Misc
Additional reading materials (papers or book chapters) are often listed on the side of each lecture.

Assessment

There is a final project and a final oral exam.

The final project will be assigned based on a short discussion during office hours. It would often take several iterations by email so please do not ask the project by email. You have some freedom in choosing the area and the modality of your project but not in choosing the exact problem. The project typically consists the application of AI techniques to simple real problems, or it could involve the implementation and the verification of algorithmic techniques described in the course. Your should be ready to answer practical and theoretical questions about your project during the oral exam.

The oral exam covers the rest of the course. During the exam, you should prove that you can master both theoretically and practically the methods and the algorithmic techniques described in the course.

Schedule and reading materials

Relevant sections of the textbook(s) are listed on the right side. You are expected to study these sections thoroughly and be able to discuss their contents during the exam. The listed additional materials (usually papers) are to be studied only when marked as "required" (unless they are relevant to your project work, then you need to study them thoroughly).

Date Topics Readings/Handouts
2022-09-19 Administrivia and covered topics. Agents and environments. Goal-driven agents: problem formulation
  • RN20 1, 2.1-2.4, 3.1-3.2
2022-09-20 Formulation of a search problem. Search graphs and search trees. General best-first algorithm.
  • RN20 3.1-3.3
2022-10-03 Analysis of blind search: DFS, BFS, Uniform Cost, Iterative Deepening, Bidirectional. Heuristics. Algorithm A* and conditions for optimality. Dominance and empirical evaluation of heuristics.
  • RN20 3.4, 3.5.1-3.5.3, 3.6.1, 3.6.2.
  • Optional: RN20 3.5.4-3.5.6
2022-09-30 More heuristics and some strategies for improving heuristic search. Local search: Hill climbing, local beam search, simulated annealing.
  • RN20 3.6, 4.1
2022-10-10 Constraint satisfaction problems. Inference for CSPs (constraint propagation): Arc consistency, AC-3 and its analysis. Path-consistency and k-consistency.
  • RN20 6.1, 6.2
2022-10-11 Backtracking search Heuristics for variable and value ordering. Maintaining arc consistency vs. forward checking. Tree problems. Cutset conditioning.
  • RN20 6.3
2022-10-17 Dual problems and cluster trees. Construction of junction trees for chordal graphs. Triangulation. Min-conflict solver. Introduction to logic. Formulae. Knowledge bases.
  • RN20 6.5, 6.4, 7.1
2022-10-18 Syntax and semantics of propositional and first order logic. Entailment
  • RN20 7.3, 7.4, 8.1, 8.2
2022-10-24 Constraint modeling with Minizinc.
  • RN20 6.4, 7.1
2022-10-24 Procedures for logical inference. Soundness and completeness. Decidability of propositional logic.
  • RN20 7.4
2022-10-25 Conjunctive normal form. Deduction theorem and refutation. Logical equivalences. Inference rules and theorem proving as search. Resolution. # Ground resolution theorem. # Definite and Horn # clauses. Forward and backward chaining.
  • RN20 7.5
2022-11-07 Ground resolution theorem. Definite and Horn clauses. Forward and backward chaining. SAT and the DPLL procedure. WalkSAT.
  • RN20 7.5, 7.6, 12.1
2022-11-08 Random SAT problems. Universal and existential instantiation in first-order logic. Propositionalization. Decidability of first-order logic. Limitations of logic under uncertainty.
  • RN20 ch. 7.6.3, 9.1
2022-11-14 Beliefs, probabilities, and probabilistic reasoning. Updating beliefs from evidence using Bayes' rule. Conditional independence. Directed graphical models (Bayesian networks).
  • RN20 12.1-12-5, 13.1, B12 1., 3.1
2022-11-15 Semantics of directed graphical models. Examples. Conditional independence entailment. D-separation and conditional independence in directed networks.
  • RN20 13.2, B12 3.1, 3.3. Solve exercises 3.1-1.7 in B12.
2022-11-21 Recap of d-separation. Reparameterization with noisy OR. Markov networks: semantics and u-separation. Markov blankets. Junction trees for probabilistic inference. Initialization.
  • RN20 13.2 (except 13.2.3); B12 3.1, 4.2, 4.5, 6.1
  • Optional: B12 23
2022-11-21 The Hugin system for probabilistic reasoning
2022-11-22 Sum and max propagation in junction trees. General ideas for belief propagation in polytrees. Factor graphs. Parameter learning. Recap on maximum likelihood and frequentist parameter estimation.
  • RN20 13.3; B12 6
2022-11-28 Frequentist and bayesian parameter learning. Beta and Dirichlet distribution. Laplace smoothing.
  • RN20 20.1, 20.2; D17 9.
2022-11-29 Structure learning for Bayesian networks. Major machine learning paradigms. Supervised learning.
  • RN20 20.2.7, 19.1, 19.2
2022-12-03 Discrimination surface of Naive Bayes. Hyperplanes and the perceptron algorithm. Block-Novikoff theorem. Voted perceptron. Dual form of the perceptron algorithm and very brief introduction to kernels. Multiclass with one-vs-rest and one-vs-all.
  • RN20 19.6.4, 19.7.1
2022-12-06 Decision trees for classification. Greedy top-down algorithm. Impurity measures. Bias tradeoff variance.
  • RN20 19.3
2022-12-12 Bagging and random forest. Adaboost and its analysis.
  • RN20 19.8
2022-12-13 Introduction to Scikit-Learn.

Note

Full text of linked papers is normally accessible when connecting from a UNIFI IP address. Use proxy-auth.unifi.it:8888 (with your credentials) if you are connecting from outside the campus network.