INTELLIGENZA ARTIFICIALE

Crediti: 
6
Settore scientifico disciplinare: 
INFORMATICA (INF/01)
Anno accademico di offerta: 
2018/2019
Semestre dell'insegnamento: 
Secondo Semestre
Lingua di insegnamento: 

Italiano

Obiettivi formativi

Fornire un'introduzione all'Intelligenza Artificiale (AI) moderna con particolare riferimento alle problematiche relative alle varie forme di ragionamento logico.

Con riferimento agli Indicatori di Dublino.

Conoscenza e capacità di comprensione
Il corso introduce i primi concetti relativi alla AI.
Particolare enfasi è data alla comprensione delle metodologie classiche. Il testo di riferimento è in italiano, ma viene altresì utilizzata durante le lezioni la terminologia in lingua inglese come avviamento alla consultazione di letteratura scientifica internazionale.

Capacità di applicare conoscenza e comprensione
Le conoscenze teoriche presentate vengono sempre applicate alla risoluzione di problemi specifici. Le esercitazioni che affiancano il corso sono incentrate sulla risoluzione di esercizi e problemi. Spesso i metodi risolutivi vengono presentati sotto forma algoritmica, sviluppando negli studenti la capacità di strutturare procedure utili in numerose parti dell'informatica e non solo nello studio della AI.

Autonomia di giudizio
Gli esercizi, che vengono proposti relativamente alla parte teorica svolta a lezione, possono venire risolti individualmente o in gruppo. Il confronto con i compagni di corso, nel lavoro a casa o durante gli svolgimenti in aula, favorisce lo sviluppo di capacità specifiche per poter a chiarire ai compagni o ai docenti le proprie argomentazioni. Spesso gli esercizi proposti possono venire risolti in modi molto diversi e l'ascolto delle soluzioni proposte da altri permette di sviluppare la capacità di individuare strutture comuni, al di là delle apparenti differenze superficiali.

Abilità comunicative
Le numerose discussioni sui diversi metodi per risolvere i problemi proposti consentono di migliorare le capacità di comunicazione. Vengono inoltre abitualmente utilizzate durante le spiegazioni (ed esplicitamente evidenziate in classe) alcune modalità di comunicazione specifiche della tecnologia informatica.

Capacità di apprendimento
Lo studio delle origini delle soluzioni tecnologiche e la loro introduzione motivata da considerazioni qualitative e quantitative contribuisce a realizzare negli studenti la capacità di apprendere in modo profondo e non soltanto superficiale e ripetitivo. Le conoscenze così acquisite non sono mai rigide e definitive, ma sono perfettamente adattabili ad ogni evoluzione e cambiamento di prospettiva e di contesto.

Prerequisiti

Programmazione di base.

Contenuti dell'insegnamento

Intelligenza artificiale e agenti.
Soluzione di problemi mediante ricerca.
Giochi e soluzione di problemi con avversari.
Problemi di soddisfacimento di vincoli.
Agenti basati su teorie logiche.
La pianificazione.
Rappresentazione strutturata della conoscenza.
L'apprendimento.
Reti neurali.
Sistemi multi-agente.

Programma esteso

Intelligenza artificiale e agenti
Capitoli 1 e 2 del testo. Introduzione all'intelligenza artificiale e alla metafora di agente razionale. Soluzione di problemi mediante la ricerca
Capitoli 3 e 4 del testo. Soluzione di problemi basata sulla ricerca nello spazio degli stati. Ricerca in ampiezza e ricerca in profondità. Metodi di ricerca informata: algoritmo A*. Metodi di ricerca locale: algoritmi genetici ed evolutivi.
Giochi e soluzione di problemi con avversari
Capitolo 5 del testo. Risoluzione di giochi basata sulla ricerca: algoritmo minimax e potatura alfa-beta.
Problemi di soddisfacimento di vincoli
Capitolo 6 del testo. Problemi di soddisfacimento di vincoli. Risoluzione mediante backtracking. Tipi di consistenza e algoritmi di arc-consistency. Forward checking e algoritmi di mantenimento della consistenza locale.
Agenti basati su teorie logiche
Capitoli 7, 8 e 9 del testo. Logica proposizionale, clausole e risoluzione. Logica del primo ordine e cenni alla risoluzione e alla programmazione logica.
La pianificazione
Capitolo 11 del testo. Caratteristiche generali di un sistema di pianificazione. Il mondo dei blocchi. STRIPS. Pianificazione nel mondo reale: pianificazione condizionale e controllo dell'esecuzione.
Rappresentazione strutturata della conoscenza
Logica descrittiva e reti ad ereditarietà strutturata. Ontologie e applicazioni al Web semantico.
L'apprendimento
Capitolo 18 del testo. Apprendimento induttivo: alberi di decisione. Apprendimento per rinforzo.
Reti neurali
Percettrone e reti feed-forward. Apprendimento per rinforzo e algoritmo di back propagation.
Sistemi multi-agente
Agenti e i sistemi multi-agente cooperanti e concorrenti. Comunicazione fra agenti e atti linguistici. FIPA e il modello BDI (con cenni alla logica modale).

Bibliografia

Stuart Russell e Peter Norvig. Intelligenza artificiale: un approccio
moderno (traduzione italiana della seconda edizione). UTET Libreria,
1998. A cura di Luigia Carlucci Aiello.

Metodi didattici

Le lezioni e i laboratori verranno svolti presso il Dipartimento di
Matematica e Informatica.
Le attività di laboratorio si svolgeranno negli orari fissati per le lezioni.
Il docente riceve previo appuntamento fissato via e-mail.

Modalità verifica apprendimento

Sapere comprendere e utilizzare in modo appropriato le tecniche di base dell'Intelligenza Artificiale moderna.
L'esame consiste in una prova scritta.