Intelligenza artificiale

Prof. Stefano Cagnoni (1° modulo) E-mail: cagnoni@ce.unipr.it
Prof. Agostino Poggi (2° modulo) E-mail: poggi@ce.unipr.it
   


Finalità

Il corso intende fornire le conoscenze e gli strumenti fondamentali per l'utilizzo di metodologie e tecniche di Intelligenza Artificiale, con particolare attenzione ai linguaggi ed ambienti di sviluppo e di programmazione tipici di questa disciplina. Durante lo svolgimento delle lezioni verro analizzati in dettaglio i contributi scientifici più significativi del settore, mettendo anche in luce le principali problematiche legate alla cosiddetta Ingegneria della Conoscenza, disciplina che giuoca un ruolo centrale nella costruzione dei Sistemi Esperti; verro inoltre descritte le tecniche di base per la soluzione di problemi e per la rappresentazione della conoscenza.

Programma

Introduzione - Cos'è l'intelligenza artificiale. Basi dell'intelligenza artificiale. Storia dell'intelligenza artificiale. Sistemi intelligenti. Campi di applicazione. Tecniche di intelligenza artificiale.
Linguaggi per l'intelligenza artificiale - LISP. PROLOG. Estensioni parallele e orientate agli oggetti del LISP e del PROLOG.
Soluzione di problemi - Formulazione di problemi. Tipi ed esempi di problemi. Soluzione di problemi basata sulla ricerca: ricerca in ampiezza e ricerca in profondità. Metodi di ricerca informata: A*, ricerca in salita e simulated ealing. Risoluzione di giochi basata sulla ricerca: algoritmo minimax e potatura alfa-beta.
Rappresentazione della conoscenza - L'uso della logica dei predicati. Conoscenze strutturate: reti semantiche e frame. Sistemi a produzioni. Rappresentazione di conoscenza incerta: incertezza, reti bayesiane, logiche di default e logica fuzzy.
L'apprendimento - Apprendimento induttivo: alberi di decisione. Apprendimento per rinforzo. Apprendimento guidato da insuccesso. Apprendimento mediante esplorazione. Reti neurali e algoritmi genetici.
La pianificazione - Caratteristiche generali di un sistema di pianificazione. Il mondo dei blocchi. STRIPS. La pianificazione non lineare. Pianificazione basata sul metodo del minimo impiego. Pianificazione gerarchica. Pianificazione nel mondo reale: pianificazione condizionale e controllo dell'esecuzione.
Introduzione ai sistemi esperti - problemi di acquisizione della conoscenza, rappresentazione della conoscenza, applicazione della conoscenza, generazione delle spiegazioni. Ciclo di vita dei sistemi esperti. Strumenti per lo sviluppo di sistemi esperti. Alcuni esempi di sistemi esperti.
Gli agenti e i sistemi multi-agente. Modelli e architetture di agente. I linguaggi per la programmazione orientata agli agenti. Sistemi multi-agente cooperanti e concorrenti. Alcuni esempi di applicazione dei sistemi ad agente.

Attività d'esercitazione

Durante le esercitazioni si realizzero dei piccoli sistemi intelligenti utilizzando sia linguaggi per l'Intelligenza Artificiale e sia linguaggi più tradizionali come il C++ e Java.

Modalità d'esame

Sono previste una prova scritta e una prova orale.

Propedeuticità

Sono considerati propeduitici: Fondamenti di Informatica I, Fondamenti di Informatica II e Calcolatori Elettronici.

Testi consigliati

S. RUSSELL, P. NORVING: " Artificial Intelligence -A Modern Approach ", Prentice Hall, 1995.
E. RICH, K. KNIGHT: " Intelligenza Artificiale ", II edizione, McGraw Hill, 1993.
E. CHARNIAK, D. MCDERMOTT: " Introduzione alla Intelligenza Artificiale ", Masson - Addison Wesley, 1988.

Testi d'approfondimento

J.M. BRADSHAW: " Software Agents ", American Association for Artificial Intelligence, 1997.
K.D. FORBUS, J. DE KLEER: " Building Problem Solvers ", American Association for Artificial Intelligence, 1993.
D.W.Rolston: " Sistemi Esperti Teoria e sviluppo ", Mc-Graw-Hill, 1991.
P. Jackson: " Introduzione ai Sistemi Espert I ", Masson, Addison Wesley, 1988.
G.L. Steele: " Common Lisp - The Language ", Digital Press, 1990.
M.A. Covington, D. Nute, A. Vellino: " Prolog Programming in Depth ", Prentice Hall, 1997.
K. FU, R.C. GONZALES ,C.S.GEORGE: " Lee,Robotica ", McGraw Hill, 1989.


Aggiornato