Home | Search | Help  
Home PageUniversitą di Genova

Intelligenza Artificiale - a.a. 2003-2004

Docente

Prof. Maurizio Martelli.

Collaboratrice

Dott. Viviana Mascardi.


Indice degli argomenti




Prerequisiti

Il corso e' autocontenuto anche se e' opportuno aver seguito i corsi fondamentali di informatica del biennio.


Descrizione

Parole chiave del corso: Prolog; Agenti intelligenti e sistemi multi-agente, Intelligenza Artificiale classica.

Lo scopo del corso e' di analizzare alcune problematiche 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 (circa 20 ore del corso) e verranno poi introdotti diversi problemi propri dell'intelligenza artificiale. Verra' mostrato l'utilizzo di Prolog come strumento per la modellazione e risoluzione di alcuni di tali problemi. In particolare, si dedicheranno circa 10 ore a introdurre temi di ricerca molto recenti quali i sistemi ad agenti, i linguaggi adatti a modellarli ed implementarli e le loro relazioni con l'ingegneria del software. Verranno dedicate le restanti ore del corso ad argomenti di intelligenza artificiale classica quali sistemi esperti, problem solving, rappresentazione della conoscenza, ragionamento approssimato, riconoscimento del linguaggio naturale (si selezionera' un sottoinsieme di questi argomenti in quanto il tempo a disposizione non consente di affrontarli tutti).


Programma del Corso

  • Programmazione Logica (PL), Multi-Agent Systems (MAS), risoluzione di problemi di Intelligenza Artificiale (AI)

    • Introduzione

  • Il linguaggio PROLOG

    • Cenni di logica matematica (Calcolo dei Predicati del Primo Ordine).
    • Cenni su unificazione, risoluzione SLD e Clausole Horn.
    • Introduzione al Prolog.
    • Interpretazione procedurale di programmi logici.
    • Aritmetica, I/O, cenni a predicati metalogici, cenni a cut e predicati extra-logici in Prolog.

  • Agenti intelligenti

    • Introduzione.
    • Architetture per agenti.
    • Linguaggi per modellare ed implementare agenti.

  • Intelligenza artificiale classica

    • Problem solving.
    • Tecniche euristiche.
    • Algoritmi di ricerca.
    • Giochi.
    • Cenni a rappresentazione della conoscenza.
    • Cenni a sistemi esperti.
    • Cenni a ragionamento approssimato.



Testi di riferimento

    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.



Argomenti delle lezioni del Corso

  • Luogo delle lezioni: Aula 216

  • Orario settimanale: Lun 16-18, Mar 14-17.

  1. 6/10/03 - Lun. 16-18 (Prof. Martelli) - L1, L2
    • Obiettivi del corso, modalita' di esame.
    • Presentazione del corso Intelligenza Artificiale I.
  2. 7/10/03 - Mar. 14-17 (Prof. Martelli) - L3, L4, L5
    • Introduzione alla programmazione logica.
    • Cenni di Logica del prim'ordine.
    • Richiami dei concetti base di programmazione logica (fatti, regole, programmi, goal).
  3. 13/10/03 - Lun. 16-18 (Prof. Martelli) - L6, L7
    • Esempi di programmi Prolog.
    • Sostituzioni.
    • Principio di risoluzione.
  4. 14/10/03 - Mar. 14-17 (Prof. Martelli) - L8, L9, L10
    • Unificatori ed MGU.
    • Clausole di Horn.
    • Risoluzione SLD.
    • Esempi di programmazione ricorsiva.
  5. 20/10/03 - Lun. 16-18 (Prof. Martelli) - L11, L12
    • Programmazione Logica.
    • Interprete astratto per programmi logici.
    • Interprete Prolog.
  6. 21/10/03 - Mar. 14-17 (Dott. Mascardi) - E1, E2, E3
    • Prolog: predicati di sistema.
    • Esercizi
  7. 27/10/03 - Lun. 16-18 (Prof. Martelli) - L13, L14
    • Predicati metalogici, cut.
  8. 28/10/03 - Mar. 14-17 (Prof. Martelli) - L15, L16, L17
    • Predicati extralogici.
  9. 3/11/03 - Lun. 16-18 (Dott. Mascardi) - E4, E5
    • Introduzione al concetto di agente
    • Architetture per agenti
  10. 4/11/03 - Mar. 14-17 (Dott. Mascardi) - E6, E7, E8
    • Esercizi in preparazione al primo compitino
  11. 10/11/03 - Lun. 16-18 (Dott. Mascardi) - E9, E10
    • Primo compitino
  12. 11/11/03 - Mar. 14-17 (Dott. Mascardi) - E11, E12, E13
    • Sistemi multi-agente
    • Applicazioni
  13. 17/11/03 - Lun. 16-18 (Dott. Mascardi) - E14, E15
    • Estensioni della logica classica per modellare agenti
    • situation calculus
    • logica modale
    • logica deontica
    • logica temporale
    • logica dinamica
    • logica lineare
  14. 18/11/03 - Mar. 14-17 (Dott. Mascardi) - E16, E17, E18
    • Linguaggi basati sulla logica computazionale per agenti
    • Ehhf
    • Agent-0
    • IMPACT
  15. 24/11/03 - Lun. 16-18 (Prof. Martelli) - L18, L19
    • Introduzione alla metaprogrammazione
    • Mondi multipli
  16. 25/11/03 - Mar. 14-17 (Prof. Martelli + Prof. Gottlob) - L20, L21
    • Utilizzo di Prolog per la implementazione di Sistemi esperti (2 ore)
    • Seminario Professor Gottlob (1 h)
  17. 1/12/03 - Lun. 16-18 (Prof. Martelli) - L22, L23
    • Rappresentazione della Conoscenza
  18. 2/12/03 - Mar. 14-17 (Dott. Mascardi) - E19, E20, E21
    • Esercizi in preparazione al secondo compito
  19. 9/12/03 - Mar. 14-17 (Dott. Mascardi) - E22, E23
    • Secondo compito
  20. 15/12/03 - Lun. 16-18 (Prof. Martelli) - L24, L25
    • Problem solving
    • Tecniche euristiche
  21. 16/12/03 - Mar. 14-17 (Prof. Martelli) - L26, L27, L28
    • Algoritmi di ricerca
    • Giochi
  22. 26/1/04 - Lun. 10-13 (Dott. Mascardi) - E24, E25, E26
    • Esercizi in preparazione al terzo compito
  23. 29/1/04 - Gio. 10-12 (Dott. Mascardi) - E27, E28
    • Terzo compito

Totale ore

Totale ore svolte dal Prof. Martelli: 28 teoria
Totale ore svolte da Dott. Mascardi: 28 esercizi (di cui 6 di compiti)
Totale ore svolte dal Prof. Gottlob: 1 (non conteggiata nelle ore del corso)
Totale ore del corso: 28 ore di teoria + 28 ore di esercizi/compiti = 56 ore


Modalita' d'esame

  • 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.



Materiale didattico