APPLICAZIONI DI INTELLIGENZA ARTIFICIALE

Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita all’anno accademico di tuo interesse? Ecco come fare >>
English course description
Anno accademico
2014/2015
Docente
FABRIZIO RIGUZZI
Crediti formativi
6
Periodo didattico
Secondo Semestre
SSD
ING-INF/05

Obiettivi formativi

L'obiettivo principale del corso consiste nel rendere gli studenti in grado di progettare sistemi di Intelligenza Artificiale (con particolare riferimento a sistemi basati sulla conoscenza) che risolvano problemi quali pianificazione automatica, classificazione e apprendimento automatico, soddisfacimento di vincoli e di ottimizzazione.
Le principali conoscenze acquisite sono relative a:
pianificazione automatica
ragionamento induttivo e tecniche di apprendimento automatico
programmazione logica a vincoli
Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) sono:
capacità di modellare problemi di pianificazione e utilizzare sistemi di pianificazione automatica per risolverli
capacità di analizzare dati a fini predittivi, inclusi dati incerti e relazionali, estraendone conoscenza con l’applicazione delle tecniche di apprendimento automatico
capacità di modellare problemi di soddisfacimento di vincoli e ottimizzazione e risolverli applicando risolutori incorporati in linguaggi logici.

Prerequisiti

E’ necessario avere acquisito e assimilato le seguenti conoscenze fornite dal corso "Fondamenti di Intelligenza Artificiale”:
logica del primo ordine
programmazione logica
soluzione di problemi mediante ricerca
architettura dei sistemi basati su conoscenza
modelli di rappresentazione della conoscenza.

Contenuti del corso

Il corso prevede 48 ore di didattica frontale parte in aula e parte in laboratorio.
Pianificazione automatica (8 ore) (Prof. Lamma) (pianificazione come deduzione, ricerca nello spazio degli stati e pianificatori lineari, ricerca nello spazio dei piani e Partial Order Planning)
Ragionamento induttivo e tecniche di apprendimento automatico (24 ore) (Prof. Riguzzi) (richiami di teoria della probabilità, introduzione all’apprendimento, apprendimento di concetti e ordinamento da generale a specifico, alberi di decisione, reti bayesiane, apprendimento basato sulle istanze, apprendimento di regole proposizionali, apprendimento di regole del primo ordine, linguaggi logico probabilistici)
Programmazione Logica a Vincoli (16 ore) (Prof. Gavanelli) (Vantaggi e limiti dei linguaggi logici, problemi di soddisfacimento e di ottimizzazione, CLP(FD), tecniche di consistenza, bound consistenza, vincoli globali, insiemi in CLP(FD), ricerca ed ottimizzazione, applicazioni, implementazione di nuovi risolutori, CLP(R)).

Metodi didattici

Il corso è diviso in 48 ore di lezione parte in aula e parte nel laboratorio di informatica.
Le lezioni riguardano gli argomenti del corso e includono esercitazioni guidate al calcolatore.
Le esercitazioni in laboratorio riguardano in particolare l’uso di Prolog per modellare e risolvere problemi di pianificazione, l’uso del sistema Weka per risolvere problemi di apprendimento automatico a partire da esempi, e l’uso di sistemi di Constraint Logic Programming (CLP) quali ECLiPSe e SICStus Prolog per modellare e risolvere problemi a vincoli.

Modalità di verifica dell'apprendimento

L'obiettivo della prova d'esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati.
L'esame consiste in una prova scritta e in una prova di programmazione (con voto complessivo di 30/30). E’ facoltativo richiedere un orale per approfondire un argomento (l’orale comporta un incremento massimo di 2 punti).
Prova scritta: domande ed esercizi su pianificazione automatica e apprendimento automatico (punti 22 su 30)
Prova di programmazione: esercizio su sistemi a vincoli, con redazione di un programma CLP, svolta in laboratorio, nello stesso giorno della prova scritta, con la quale costituisce parte integrante dell’esame (punti 8 su 30)
Prova orale: riguarda l’esposizione e la discussione di un articolo di ricerca assegnato da uno dei docenti del corso. Prima della discussione, lo studente deve inviare al docente un riassunto in inglese di al piu’ quattro pagine dell’articolo. Comporta un incremento massimo di 2 punti rispetto al voto della prova scritta+laboratorio.
Il voto finale e’ la somma dei punteggi ottenuti nelle prove.

Testi di riferimento

T. M. Mitchell, “Machine Learning”, McGraw-Hill, 1997
Dispense dei docenti.
Testi per consultazione e approfondimento:
S. J. Russel, P. Norvig: "Intelligenza Artificiale: Un approccio moderno", vol. 2, Pearson - Prentice Hall, 2005.
K. Apt, M. Wallace: Constraint Logic Programming using Eclipse. Cambridge University Press, 2007.