Scheda insegnamento
-
Docente Ugo Dal Lago
-
Moduli Maurizio Gabbrielli (Modulo 1)
Francesco Gavazzo (Modulo 2)
Ugo Dal Lago (Modulo 3)
-
Crediti formativi 12
-
SSD ING-INF/05
-
Modalità didattica Convenzionale - Lezioni in presenza (Modulo 1)
Convenzionale - Lezioni in presenza (Modulo 2)
Convenzionale - Lezioni in presenza (Modulo 3)
-
Lingua di insegnamento Italiano
-
Campus di Bologna
-
Corso Laurea Magistrale in Artificial intelligence (cod. 9063)
Anno Accademico 2021/2022
Conoscenze e abilità da conseguire
Al termine dell'attività formativa, lo studente comprende le principali tecniche linguistiche ed algoritmiche usate nel contesto dell'AI, inclusi gli aspetti principali dei linguaggi funzionali, dei linguaggi logici e della programmazione con vincoli, sia negli aspetti teorici di base che per le relative applicazioni pratiche. Lo studente ha una comprensione dei principi di base dei modelli e degli algoritmi distribuiti, dei problemi di consenso e degli algoritmi a larga scala per l'analisi di grandi quantità di dati.
Contenuti
Modulo 1
Introduzione alla logica matematica. Unificazione. Risoluzione.
Introduzione alla programmazione logica. I linguaggi Prolog.
Programmazione logica con vincoli e programmazione concorrente con vincoli. Programmazione con vincoli. Il linguaggio MiniZinc.
Modulo 2
Il paradigma della programmazione e dell'apprendimento nei linguaggi per l'inferenza. Introduzione al linguaggio Scheme/Racket e sue estensioni probabilistiche Church/Gamble. Modelli generativi come programmi probabilistici. Programmazione bayesiana in Church/Gamble. L'apprendimento come inferenza condizionale. Algoritmi di inferenza (campionamento del rifiuto e Metropolis Hastings). Semantica operativa e inferenza per valutazione. Tempo permettendo, una panoramica della programmazione differenziabile.
Modulo 3
Introduzione alla teoria della calcolabilità e alla teoria della complessità. Indecidibilità. Le classi P, NP e EXP. Un modello formale di apprendimento: PAC learning. Apprendimento mediante convergenza uniforme. Il tredeoff bias/complexity. La dimensione VC.
Testi/Bibliografia
Modulo 1
Dirk van Dalen. Logic and structure. 4th edition, Springer.
K. Doets. From Logic to Logic Programming. The Mit
Press.Russell, Norvig. Artificial Intelligence: A Modern Approach (any edition). Pearson.
Modulo 2
N. D. Goodman, J. B. Tenenbaum, and The ProbMods Contributors (2016). Probabilistic Models of Cognition (1st ed.). (available at http://v1.probmods.org/index.html)
Jan-Willem van de Meent, Brooks Paige, Hongseok Yang, Frank Wood, An introduction to probabilistic programming (available at https://arxiv.org/abs/1809.10756).
Modulo 3
Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach. Cambridge University Press, 2009.
Michael Kearns, Umesh. Vazirani. An Introduction to Computational Learning Theory. MIT Press, 1994.
Shai Shalev-Shwartz and Shai Ben-David. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press, 2014.
Metodi didattici
Lezioni frontali ed esercitazioni.
Modalità di verifica e valutazione dell'apprendimento
Esame orale e/o scritto alla fine di ogni modulo. Possibile progetto.
Strumenti a supporto della didattica
Esercitazioni in aula.
Orario di ricevimento
Consulta il sito web di Ugo Dal Lago
Consulta il sito web di Maurizio Gabbrielli
Consulta il sito web di Francesco Gavazzo