B003725 - Artificial Intelligence - Fall 2019
Bachelor degree in Computer Engineering, University of Florence
Paolo Frasconi, DINFO, via di S. Marta 3, 50139 Firenze
email: (please do not use my address @unifi.it, it was forcibly moved to gmail by the central administration and it has all sorts of problems: messages may be replied with delay or not replied at all)
Please do not email me about office hours, just check the School of Engineering Website for (unlikely) changes
You will learn about the basic concepts and the main research areas of AI. Broad topics that are covered include: searching, constraint programming, logic, probabilistic reasoning, and machine learning.
B003368 (Algorithms and Data Structures)
- Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. 3rd edition. Pearson, 2010.
- D. Barber. Bayesian Reasoning and Machine Learning. Cambridge University Press, 2012.
- T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning. Data Mining, Inference, and Prediction. 2nd edition. Springer, 2009.
- David L. Poole, Alan K. Mackworth. Artificial Intelligence: Foundations of Computational Agents. 2nd edition. Cambridge University Press, 2017.
- Rina Dechter. Constraint Processing. Morgan Kaufmann, 2003.
- F. Jensen. Introduction to Bayesian Networks, 1997
There is a final project and a final oral exam.
The final project will be assigned by the teacher on one of the main topics of the course (Learning, Searching, Constraints, Logic programming, Graphical Models). The topic will be decided discussing with the student. The project typically consists of modeling or application of AI techniques to simple real problems, or it could involve the implementation and the verification of algorithmic techniques described in the course. Students should be ready to answer questions about their project during the oral exam.
The oral exam covers the rest of the course. During the exam, students should prove they can master both theoretically and practically the methods and the algorithmic techniques described in the course.
Schedule and reading materials
|2019-09-23||Administrivia. Introduction to Artificial Intelligence. Intelligence and rationality. Some basic theoretical computer science notions.||
|2019-09-26||No class today||
|2019-09-30||Agents, percepts and actions. The agent function. Rational agents. Environment types (discrete, static, deterministic, etc.). Examples. Structure of agents. Reflex agents. Using a model. Goal based agents. Examples of search problems.||
|2019-10-03||Formulation of a search problem. Search graphs and search trees. General structure of the tree-search procedure.||
|2019-10-07||Blind search. DFS, BFS, Uniform Cost Search, Iterative Deepening, Bidirectional Search. Proof of optimality for UCS. Analysis in terms of completeness, optimality, running time, and space.||
|2019-10-10||Heuristics. Greedy best first search. Admissibility and consistency. A*. Optimality of A*. Performance measures. Designing heuristics. Pattern databases.||
|2019-10-14||Python practice on blind and heuristic search.||
|2019-10-14||Performance measures. Local search. Hill climbing. Beam seach.||
|2019-10-17||No class today||
|2019-10-21||Simulated annealing. Introduction to constraint programming. Constraint satisfaction problems. Examples. Inference for CSPs (constraint propagation). Node and arc consistency. AC-3 and its analysis.||
|2019-10-24||Limitations of arc-consistency. Path and k-consistency. Backtracking search. Variable and value ordering.||
|2019-10-28||Maintaining arc consistency. Forward checking. Directed arc consistency. Solving tree problems. Cutset conditioning. Dual problems and their networks.||
|2019-10-31||Constraint modeling with Minizinc and Numberjack.||
|2019-11-04||Junction trees for constraint programs. Logic-based agents. Knowledge bases. Formulae, syntax, semantics. Entailment and logical inference.||
|2019-11-07||Propositional logic and propositional theorem proving. Resolution. Conjunctive normal form.||
|2019-11-11||Proofs by resolution. Ground resolution theorem. Definite clauses. Forward and backward chaining. SAT and the DPLL procedure. Random SAT problems.||
|2019-11-14||Beliefs, probabilities, and probabilistic reasoning. Examples.||
|2019-11-18||Patterns of probabilistic reasoning. Updating beliefs from evidence using Bayes' rule. Conditional independence. Examples.||
|2019-11-21||Directed graphical models (Bayesian networks). Semantics. Examples. Conditional independence entailment.||
|2019-11-25||D-separation and conditional independence in directed networks. Examples. Introduction to probabilistic inference.||
|2019-11-28||Junction trees for probabilistic inference. Maximum likelihood parameter learning (complete and iid data).||
|2019-12-02||Bayesian parameter learning. Priors and posteriors. Beta distribution. Bayesian conjugacy. Hyperparameters and pseudo-counts. Dirichlet distribution. Structure learning.||
|2019-12-05||No class today||
|2019-12-09||Supervised learning and the Naive Bayes classifier. Laplace smoothing. Estimating the true error using a test set or cross-validation. Naive Bayes as a linear classifier. Hyperplanes and the perceptron algorithm. Block-Novikoff theorem. Voted perceptron.||
|2019-12-12||Decision trees. Top down induction algorithm. Handling continuous attributes. Pruning. Splitting criteria (Gini, entropy, why classification error does not work).||
Full text of linked papers is normally accessible when connecting from a UNIFI IP address.
Use the proxy
proxy-auth.unifi.it:8888 (with your credentals) if you are connecting from outside the