Intelligenza Artificiale I - a.a. 2002-2003
Docente
Maurizio Martelli.
Collaboratori
Viviana Mascardi.
Collaboratori
Giorgio Delzanno.
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 710
-
Orario settimanale:
Mar 16-18, Gio 14-17.
- 5/11/02 - Mar. 16-18 (Maurizio)
- Obiettivi del corso, modalita' di esame.
- Presentazione del corso Intelligenza Artificiale I.
- 7/11/02 - Gio. 14-17 (Maurizio)
- Introduzione alla programmazione logica.
- Cenni di Logica del prim'ordine.
- 12/11/02 - Mar. 14.30-16 (Viviana)
- Richiami dei concetti base di programmazione logica (fatti, regole,
programmi, goal).
- Esempi di programmi Prolog.
- Sostituzioni.
- Accenno al principio di risoluzione.
- 14/11/02 - Gio. 14-17 (Maurizio)
- Unificatori ed MGU.
- Clausole di Horn.
- Risoluzione SLD.
- Esempi di programmazione ricorsiva.
- 19/11/02 - Mar. 14.30-16 (Maurizio)
- Programmazione Logica.
- Interprete astratto per programmi logici.
- 21/11/02 - Gio. 14-17 (Maurizio)
- Interprete Prolog.
- Aspetti computazionali.
- Prolog: predicati di sistema.
- Predicati metalogici.
- 28/11/02 - Gio. 14-17 (Giorgio)
- CUT e predicati extralogici.
- 3/12/02 - Mar. 16-18 (Viviana)
- Esercizi su cut e predicati extralogici
- 5/12/02 - Gio. 14-17 (Maurizio)
- Programmazione avanzata.
- Nondeterminismo.
- programmazione al second'ordine.
- 10/12/02 - Mar. 14-16 (Maurizio)
- Set-of, completamento del linguaggio Prolog.
- 12/12/02 - Gio. 14-17 (Viviana)
- Esercizi in preparazione al compitino.
- Introduzione al concetto di agente.
- 17/12/02 - Mar. 14-16 (Viviana)
- 17/12/02 - Mar. 16 - 18 (Maurizio)
- Introduzione alla metaprogrammazione.
- 19/12/02 - Gio. 14-17 (Viviana)
- Sistemi multi-agente
- Applicazione dei sistemi multi-agente
- Linguaggi logici per modellare agenti
- 7/01/03 - Mar. 14-16 (Maurizio)
- 9/01/03 - Gio. 14-17 (Maurizio)
- 14/01/03 - Mar. 14-16 (Viviana)
- Esercizi in preparazione al secondo compito.
- 16/01/03 - Gio. 14-17 (Maurizio)
- Rappresentazione della Conoscenza
- 23/01/03 - Gio. 10-12 (Viviana)
- 31/01/03 - Ven. 10-12 (Viviana)
- Esercizi in preparazione al terzo compito.
- 14/02/03 - Ven. 14-16 (Viviana)
- 13/05/03 - Mer. 14-16 (Viviana)
- 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.