Fondamenti di intelligenza artificiale (2020/2021)



Codice insegnamento
4S008898
Crediti
6
Coordinatore
Alessandro Farinelli
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 5 I semestre Alessandro Farinelli

Vai all'orario delle lezioni

Laboratorio 1 I semestre Alessandro Farinelli

Vai all'orario delle lezioni

Obiettivi formativi

Il corso si propone di fornire paradigmi e tecniche risolutive relative alle rappresentazioni simbolica e probabilistica per la soluzione automatica di problemi. L'obbiettivo è dare alle studentesse ed agli studenti strumenti per ideare, applicare e valutare algoritmi per problemi difficili, nel senso che la loro soluzione meccanica cattura aspetti di intelligenza artificiale o razionalità computazionale. Al termine del corso le studentesse e gli studenti dovranno dimostrare di conoscere e comprendere le principali tecniche di ricerca nello spazio degli stati, comprendere i concetti fondamentali relativi alle reti a vincoli, conoscere i concetti di base relativi al ragionamento probabilistico ed apprendimento per rinforzo. Questo consentirà alle studentesse ed agli studenti di scegliere le tecnica risolutive più adeguate per problemi di diversa natura e di proseguire gli studi in modo autonomo nell’ambito dell’Intelligenza Artificiale, approfondendo argomenti trattati a lezione, sia su altri testi che su pubblicazioni scientifiche.

Programma

Risoluzione di problemi come ricerca in uno spazio di stati: procedure di ricerca non informate; procedure di ricerca euristiche.
Risoluzione di problemi basata sull'elaborazione di vincoli (soddifacibilita' ed ottimizzazione);
Tecniche risolutive basate su ricerca (Backtracking, Branch and Bound) e su inferenza (Join Tree Clustering, Bucket Elimination).
Ragionamento probabilistico: i) rappresentare l'incertezza tramite l'uso della teoria della probabilità; ii) processi decisionali di Markov (definizione e metodi risolutivi principali); iii) apprendimento per rinforzo (concetti di base e metodi risolutivi, Deep Reinforcement Learning).
Implementazione (tramite produzione assistita di software in laboratorio didattico) delle principali tecniche risolutive discusse a lezione, ed in particolare quelle relative alla ricerca nello spazio degli stati ed al ragionamento probabilistico.

Modalità d'esame

Il voto finale del modulo di IA viene conseguito con una prova orale.

La prova orale può essere svolta secondo due modalità: i) prova orale sugli argomenti del corso e sulla parte di laboratorio; ii) prova orale su un progetto assegnato dal docente e sulla parte di laboratorio.

Per la prova orale sugli argomenti del corso il docente chiede alle studentesse ed agli studenti di svolgere alcuni esercizi e pone delle domande al fine di valutare la comprensione degli argomenti trattati durante il corso.

Per la prova orale sul progetto, il docente concorda con la studentessa/studente un progetto che prevede una parte sostanziale di programmazione. La studentessa/studente svolge il progetto e durante la prova orale illustra lo svolgimento al docente che pone delle domande per valutare la comprensione degli argomenti trattati.
Gli argomenti del progetto e le date per le prove orali delle singole studentesse e dei singoli studenti vengono concordate con il docente alla fine delle lezioni.

Per la parte di laboratorio, durante il corso le studentesse e gli studenti implementeranno alcuni degli algoritmi visti durante lo svolgimento delle lezioni. La comprensione della parte di laboratorio viene valutata durante la prova orale. Per questa valutazione le studentesse e gli studenti consegnano al docente il software sviluppato ed il docente pone alcune domande volte a valutare il livello di comprensione del software presentato.