Intelligenza Artificiale I - a.a. 2001-2002
Docente
Maurizio Martelli.
Collaboratori
Viviana Mascardi.
Il corso e' autocontenuto
anche se e' opportuno aver seguito
i corsi fondamentali di informatica del
biennio.
Parole chiave del corso: Intelligenza Artificiale classica;
Prolog; Agenti intelligenti.
Lo scopo del corso e' di analizzare alcune problematiche classiche
della Intelligenza Artificiale dimostrando come esse possono essere
affrontate e risolte mediante l'uso di Programmazione Logica
(in particolare Prolog).
Verranno pertanto fornite le conoscenze
necessarie a realizzare programmi Prolog complessi
e verranno poi introdotti diversi problemi classici dell'intelligenza
artificiale
dimostrando l'utilizzo di Prolog come strumento per
risolvere tali problemi. Verranno anche affrontati temi di ricerca piu' recenti
quali i sistemi ad agenti e le loro relazioni con ingegneria del software.
La struttura dell'esercitazione verra' decisa in seguito.
-
Programmazione Logica (PL), Multi-Agent Systems (MAS),
applicazioni di PL
risoluzione di problemi di Intelligenza Artificiale (AI)
-
Il linguaggio PROLOG
- Cenni di
logica matematica (Calcolo dei Predicati del Primo Ordine)
- Cenni su
unificazione, risoluzione SLD e Clausole Horn
- Interpretazione
procedurale di programmi logici
- Aritmetica, I/O, predicati metalogici, cut e
predicati extra-logici in PROLOG
- Metaprogrammazione, Metainterpreti e Teorie
Multiple
-
Agenti intelligenti
- Introduzione.
- Interazioni con ingegneria del software.
-
Possibili applicazioni di LP in AI
- Problem solving.
- Tecniche euristiche.
- Algoritmi di ricerca.
- Giochi.
- Rappresentazione della conoscenza.
- Sistemi esperti.
- Pianificazione e scheduling.
- Ragionamento approssimato.
- Riconoscimento del linguaggio naturale.
-
Cenni a Constraint Logic Programming (CLP)
Prolog
-
Levi G., Patricelli F. PROLOG:
linguaggio, applicazioni ed implementazioni,
Scuola Superiore G. Reiss
Romoli, L'Aquila, 1993. (ISBN 88 85280 15 3). In italiano
- Console L., Lamma E., Mello P., Milano M.
Programmazione Logica e PROLOG,
UTET Università, 1997. In italiano
-
Lloyd J. Foundations
of Logic Programming,
Springer-Verlag, 1987. In italiano
-
Sterling
L., Shapiro E. The art of Prolog,
TheMIT Press,
1986.
Intelligenza Artificiale
-
Russel S., Norvig P.Intelligenza Artificiale: un approccio moderno,
Translated by Luigia Carlucci Aiello,UTET Llibreria Srl., 1998
-
Nilson N.J. Artificial intelligence: A new Synthesis,
Morgan Kaufmann Pub., 1998.
-
Luger G.F.,
Stubblefield W.A. Artificial Intelligence and the design of expert
systems,
The Benjamin/Cummings Pub. Comp. Inc.,
1989.
-
Chang C.-L., Lee
R.C.-T. Symbolic Logic and Mechanical Theorem Proving ,
Academic
Press, 1973. In italiano
-
Genesereth M.R., Nilson N.J. Logical foundations of
Artificial intelligence,
Morgan Kaufmann Pub., 1987.
-
Luogo delle lezioni: Aula 217 il Martedi' e Aula 704 il Giovedi'
-
Orario settimanale:
Mar 15-17 (A 217), Gio 14-17 (A 704).
- 6/11/01 - Mar. 15-17 (Maurizio)
- Obiettivi del corso, modalita' di esame.
- Presentazione del corso Intelligenza Artificiale I.
- 8/11/01 - Gio. 14-17 (Maurizio)
- Introduzione alla programmazione logica.
- Cenni di Logica del prim'ordine.
- Richiami dei concetti base di programmazione logica (fatti, regole,
programmi, goal).
- Sostituzioni.
- 13/11/01 - Mar. 15-17 (Viviana)
- Introduzione al concetto di agente.
- 15/11/01 - Gio. 14-17 (Viviana)
- MAS e loro applicazioni.
- Linguaggi per agenti.
- 20/11/01 - Mar. 15-17 (Maurizio)
- Esempi di programmi Prolog.
- Sostituzioni e unificazione.
- Principio di risoluzione.
- 22/11/01 - Gio. 14-17 (Maurizio)
- Clausole di Horn.
- Risoluzione SLD.
- Esempi di programmazione ricorsiva.
- 27/11/01 - Mar. 15-17 (Maurizio)
- Programmazione Logica.
- Interprete astratto per programmi logici.
- 29/11/01 - Gio. 14-17 (Maurizio)
- Interprete Prolog.
- Aspetti computazionali.
- Prolog: predicati di sistema.
- Predicati metalogici.
- 4/12/01 - Mar. 15-17 (Maurizio)
- CUT e predicati extralogici.
- 6/12/01 - Gio. 14-17 (Maurizio)
- Programmazione avanzata.
- Nondeterminismo.
- programmazione al second'ordine.
- Amalgamazione.
- 11/12/01 - Mar. 15-17 (Viviana)
- Esercizi di LP in preparazione al compito.
- 13/12/01 - Gio. 14-17 (Maurizio-Viviana)
- Amalgamazione e metainterpreti (Maurizio, 2 h).
- Esercizi su programmazione di agenti (Viviana, 1 h).
- 18/12/01 - Mar. 15-17 (Viviana)
- 20/12/01 - Gio. 14-17 (Maurizio)
- Mondi multipli.
- Metainterpreti e strumenti.
- Metainterpreti per ES shells.
- 8/1/02 - Mar. 15-17 (Maurizio)
- Metainterpreti per altri strumenti.
- Sistemi esperti.
- 10/1/02 - Gio. 14-17 (Maurizio)
- Metainterpreti e sistemi basati sulla conoscenza.
- Vincoli d'integrita'.
- Rappresentazione della conoscenza.
- Teorie della certezza.
- 15/1/02 - Mar. 15-17 (Maurizio)
- Problem solving e sue applicazioni.
- Tecniche di ricerca sui grafi di stato.
- 17/1/02 - Gio. 14-17 (Viviana)
- Esercizi si metaprogrammazione e manipolazione di programmi.
- 22/1/02 - Mar. 15-17 (Viviana)
- 24/1/02 - Gio. 14-17 (Maurizio)
- Alberi di ricerca per giochi e tecniche euristiche.
- 7/2/02 - Gio. 14-17 (Viviana)
- Esercizi su strategie di ricerca e link is-a.
- 12/2/02 - Mar. 15-17,30 (Viviana)
- 19/2/02 - Mar. 15-16 (Viviana)
- Consegna compiti.
- Consegna testo esercitazione.
- Il corso prevede 3 compitini che verranno valutati con voti nel range
[0..34].
- Per chi ha sostenuto e superato tutti i compitini il voto finale e'
attribuito come media matematica dei voti dei compitini.
- I compitini saltati o insoddisfacenti vanno recuperati con un orale. Il voto
della prova orale verra' utilizzato al posto del voto del compitino saltato nel calcolo
della media finale.
- L'esercitazione verra' valutata con un incremento/decremento nel range [-1,+3]
sul voto cosi' ottenuto.
- Sara' attribuita la lode a chi avra' un voto complessivo (ottenuto come
sopra) maggiore di 30.