Paolo Frasconi, DINFO, via di S. Marta 3, 50139 Firenze
email: .
Monday, 10:45-12:45.
The course will introduce problems and basic algorithmic techiques in the following areas:
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.
B003368 (Algorithms and Data Structures)
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.
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 |
---|---|---|
2023-09-18 | What is AI? Agents, environments, rationality. Goal-driven agents: problem formulation. Search graphs. |
|
2023-09-20 | Search trees. General best-first algorithm. Blind search algorithms: DFS, BFS, Uniform Cost. Analysis. |
|
2023-09-25 | Iterative Deepening. Bidirectional search. Heuristics. Algorithm A* and conditions for optimality. Dominance and empirical evaluation of heuristics. Pattern databases. |
|
2023-09-27 | More on designing heuristics. Beam search. Local search: Hill climbing, local beam search, simulated annealing. |
|
2023-10-2 | Constraint satisfaction problems. Inference for CSPs (constraint propagation): Arc consistency, AC-3 and its analysis. |
|
2023-10-4 | Path-consistency and k-consistency. Backtracking search. Heuristics for variable and value ordering. |
|
2023-10-09 | Inference during backtracking: maintaining arc consistency and forward checking. Solving tree problems. Cutset conditioning. Dual problems and cluster trees. Construction of junction trees for triangulated graphs. |
|
2023-10-11 | Cliques in triangulated graphs. Triangulation via variable elimination. Recup of the junction tree solver. |
|
2023-10-11 | Constraint modeling with Minizinc and CPMpy. |
|
2023-10-16 | No class today |
|
2023-10-18 | Introduction to logic. Formulae. Knowledge bases. Syntax and semantics of propositional and first order logic. Entailment. Decidability of propositional logic. |
|
2023-10-23 | Valid and satisfiable formulae. Logical equivalence. Conjunctive normal form. Reduction of entailment and CSP to SAT. DPLL algorithm. Randomized k-SAT and phase transition. WalkSAT. |
|
2023-10-25 | Theorem proving. Inference rules and theorem proving as search. Soundness and completeness. Resolution. Ground resolution theorem. Definite and Horn clauses. Forward and backward chaining. |
|
2023-10-30 | Limitations of logic under uncertainty. Probabilities, distributions, beliefs. Patterns of probabilistic reasoning. Updating beliefs from evidence using Bayes' rule. Conditional independence. Introduction to graphical models. |
|
2023-11-01 | No class today |
|
2023-11-06 | Markov networks. Compatibility functions. Examples. I-maps and D-maps. Hammersley-Clifford theorem. Limitations of undirected networks. Directed graphical models. Examples. |
|
2023-11-08 | Conditional independence entailment. D-separation and conditional independence in directed networks. Conditional probability tables. Examples. |
|
2023-11-13 | Junction trees for probabilistic inference. Initialization, message passing, inserting evidence. Construction of junction trees for probabilistic inference: moralization. Introduction to hidden Markov models for part-of-speech tagging. |
|
2023-11-15 | The Hugin system for probabilistic reasoning |
|
2023-11-15 | Markov blankets. Max propagation vs. sum propagation. The Viterbi algorithm for the decoding problem in HMMs. Parameter learning in graphical models. Maximum likelihood estimation. |
|
2023-11-20 | No class today |
|
2023-11-22 | Frequentist and bayesian parameter learning. The problem with incomplete data. Beta distribution. Laplace smoothing. |
|
2023-11-27 | Dirichlet priors. Structure learning for Bayesian networks. Naive Bayes and its discrimination surface. Supervised learning |
|
2023-11-29 | Supervised learning. Empirical risk minimization. Loss functions. Hyperplanes and the perceptron algorithm. Block-Novikoff theorem. Voted perceptron. Dual form of the perceptron algorithm. |
|
2023-12-04 | Decision trees for classification. Greedy top-down algorithm. Impurity measures. Hyperparameters. Bias-variance tradeoff. Bagging. Random forests. |
|
2023-12-06 | Adaboost and its analysis. Learning decision stumps. |
|
2023-12-13 | Introduction to Scikit-Learn. |
|
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.