Intelligenza Artificiale - a.a. 2006-2007
Docenti titolari del corso
Prof. Maurizio Martelli
Dott. Viviana Mascardi
Collaboratori
Dott. Valentina Cordì
Dott. Roberto Montagna
Indice degli argomenti
Si assume la conoscenza del linguaggio Java (i cui fondamenti si apprendono nel corso di Linguaggi di Programmazione (2°LT) e che quindi tutti gli studenti dal terzo anno in poi conoscono), nel quale verranno implementati una parte degli algoritmi mostrati a lezione
Parole chiave del corso:
Agenti intelligenti; Strumenti per ingegnerizzare ed implementare agenti; conoscenza e ragionamento;
risoluzione di problemi; giochi; pianificazione; conoscenza incerta; apprendimento; comunicazione; riconoscimento del linguaggio naturale; percezione e azione (cenni)
Contenuti del corso:
- Introduzione
(2 ore)
- Organizzazione del corso, modalità di esame
- Cos'è l'intelligenza artificiale (IA)
- I fondamenti dell'IA
- La storia dell'IA
-
Agenti intelligenti (8 ore)
- Gli agenti intelligenti: un concetto unificante per l'IA moderna
- Storia, origini e applicazioni degli agenti intelligenti
- Architetture e linguaggi per agenti
- Ingegnerizzazione del Software orientata agli agenti (Agent-Oriented Software Engineering, AOSE)
- Piattaforme per implementare sistemi con più agenti (Multiagent systems, MAS)
-
Conoscenza e ragionamento: due elementi fondamentali per realizzare agenti intelligenti (14 ore)
- Agenti logici e Prolog
- Rappresentare la conoscenza mediante ontologie
-
Agenti che risolvono problemi (8 ore)
- Risolvere i problemi con la ricerca
- Ricerca informata ed esplorazione
- Ricerca con avversari: i giochi
-
Altre attività tipiche degli agenti intelligenti (8 ore)
- Pianificazione
- Conoscenza incerta
- Apprendimento
-
Comunicazione, percezione e azione (8 ore)
- Comunicazione come azione
- Elaborazione del linguaggio naturale
- Ontologie e linguaggio naturale
- Percezione e Azione (robotica): cenni
-
Per la parte di Intelligenza Artificiale, il testo adottato è:
Russel S., Norvig P.Intelligenza Artificiale: un approccio moderno,
Traduttore: Gaburri S.; Editore: Pearson Education Italia; Data di Pubblicazione: 2005
Il materiale a supporto della versione in inglese si trova qui .
-
Per la parte di Prolog, si consigliano i seguenti testi:
Sterling
L., Shapiro E. The art of Prolog,
The MIT Press,
1986.
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
-
Luogo delle lezioni: 710
-
Orario settimanale:
Lun 16-18, Mer 14-16.
-
COPYRIGHT DISCLAIMER
Le slide del corso possono contenere materiale protetto da copyright.
In particolare, molte slide sulla parte di Intelligenza Artificiale sono tratte dal materiale reso disponibile su Web da Russel e Norvig, come parte integrante del
testo Artificial Intelligence: A Modern Approach.
Le slide su Prolog sono basate sul materiale che il Professore Peter
Schachte ha reso disponibile su Web
per il Logic and
Computation Course tenuto al Computer Science Department of the
University Melbourne.
Tale materiale è disponibile su Web solo per garantire una efficace diffusione tra gli studenti del corso
di Intelligenza Artificiale tenuto presso il Dipartimento di Informatica (DISI) dell'università degli Studi di Genova, ed è mirato al loro esclusivo uso personale.
Ogni utilizzo diverso da quello personale da parte degli studenti è proibito.
The material prepared for the lessons may contain material protected by copyright laws.
In particular, many lessons are based on the material that Russel and Norvig made available on the Web, as part of
their book Artificial Intelligence: A Modern Approach
The slides on Prolog are based on the material that Professor Peter
Schachte made available on the Web
as part of the Logic and
Computation Course at the Computer Science Department of the
University Melbourne.
This material is available on the Web only to ensure timely dissemination among
the students of the AI Course at the Computer Science Department of
the University of Genova, and is meant only for students’ personal use.
Any use different from the student's personal use is prohibited.
Introduzione
- 2/10/06 - Lun. 16-18, 2 h (Martelli) - L1, L2
- Obiettivi del corso, modalita' di esame
- Presentazione del corso Intelligenza Artificiale I
- Cos'è l'intelligenza artificiale (IA)
- I fondamenti dell'IA
- La storia dell'IA
- Materiale didattico
Introduction-printable.zip (versione stampabile)
- Codice
Nessuno
Agenti Intelligenti
- 4/10/06 - Mer. 14-16, 2 h (Mascardi) - L3, L4
- Introduzione agli agenti intelligenti: un concetto unificante per l'IA moderna
- Storia, origini, architetture e teorie per gli agenti intelligenti
-
Materiale didattico
AgentsAndMASs.zip (versione stampabile)
- Codice
Nessuno
- 9/10/06 - Lun. 16-18, 2 h (Mascardi) - L5, L6
- Linguaggi per agenti
- Applicazioni di agenti e MASs
- Materiale didattico
Lo stesso della lezione precedente
- Codice
Nessuno
- 11/10/06 - Mer. 14-16, 2 h (Mascardi) - L7, L8
- Ingegnerizzazione del Software orientata agli agenti (Agent-Oriented Software Engineering, AOSE)
- Metodologie
- Notazioni
- Infrastrutture
- Materiale didattico
AOSE.zip (versione stampabile)
- Codice
Nessuno
- 16/10/06 - Lun. 16-18, 2 h (Mascardi) - L9, L10
- Laboratorio: dimostrazione dell'uso di SICStus, tuProlog, PDT e JADE
- Materiale didattico
labo-16-10-2006.doc
- Codice
Disponibile nella cartella 16-10-2006
Conoscenza e ragionamento
- 18/10/06 - Mer. 14-16, 2 h (Mascardi) - L11, L12
- Pagine 1-30 delle slide Prolog1.pdf:
- Predicates
- Making Queries
- Variables
- Multiple Directions
- Compound Queries
- Constraints
- Clause Bodies
- Recursive Predicates
- Querying Recursive Predicates
- Disjunction
- Logic Databases
- Database Queries
- Not Equals
- Typeless language
- Atoms and Numbers
- Variables
- Exercises
- Materiale didattico
Prolog1.zip
- Codice
Alcuni esempi di programmi Prolog sono disponibili nella cartella 16-10-2006
Gli esercizi svolti a lezione sono disponibili nella cartella 18-10-2006
- 23/10/06 - Lun. 16-18, 2 h (Montagna) - L13, L14
- Pagine 31-49 delle slide Prolog1.pdf:
- Compound Terms
- Variables in Terms
- Anonymous Variables
- Unification
- Data Structure Construction and Access
- Argument Passing
- Groundness
- Recursive Structures
- Programming Numbers as Terms
- Example Queries
- Lists
- List Membership
- Member in Action
- List Concatentation
- Append in Action
- Materiale didattico
Quello della lezione precedente (Prolog1.pdf)
- Codice
Gli esercizi svolti a lezione sono disponibili nella cartella 23.25-10-2006
- 25/10/06 - Mer. 14-16, 2 h (Montagna) - L15, L16
- Pagine 50-72 delle slide Prolog1.pdf:
- Resolution
- The Basic Algorithm
- Example (without backtracking)
- Backtracking
- Backtracking Example
- Example: Search Tree
- Generate and Test
- Reverse
- Reverse Goes Wrong
- Reverse Example
- Reverse Body Reordered
- Accumulator variables
- Removing an item from a list
- Materiale didattico
Quello della lezione precedente (Prolog1.pdf)
- Codice
Gli esercizi svolti a lezione sono disponibili nella cartella 23.25-10-2006
- 30/10/06 - Lun. 16-18, 2 h (Mascardi) - L17, L18
- Prolog3.pdf, tutto, più alcune parti di Prolog2.pdf
- Clauses
- Horn clauses
- Definite and negative Horn clauses
- Substitutions
- Unification
- M.G.U.
- SLD resolution
- SLD tree
- How the Prolog Interpreter works (Pagine 50-54 di Prolog2.pdf)
- Procedural vs declarative view of Prolog programs
- Materiale didattico
Prolog2.zip
Prolog3.zip
- Codice
Nessuno
- 6/11/06 - Lun. 16-18, 2 h (Mascardi) - L19, L20
- 8/11/06 - Mer. 14-16, 2 h (Mascardi) - L21, L22
- Teoria: Le librerie DCaseLP per integrare agenti logici in JADE
- Laboratorio: Esercizi su agenti Prolog integrati in JADE
- Materiale didattico
labo-8-11-2006.doc
- Codice
Disponibile nella cartella 8-11-2006
- 13/11/06 - Lun. 16-18, 2 h (Cordì) - L23, L24
Comunicazione, percezione e azione
- 15/11/06 - Mer. 14-16, 2 h (Mascardi) - L25, L26
- Comunicazione come azione; implementazione di grammatiche in Prolog
- Materiale didattico
Communication-NLP-Prolog.zip (versione stampabile)
- Codice
Gli esercizi svolti a lezione sono disponibili nella cartella 15.20-11-2006
- 20/11/06 - Lun. 16-18, 2 h (Mascardi) - L27, L28
- Elaborazione del linguaggio naturale
- Materiale didattico
Lo stesso della lezione precedente
- Codice
Lo stesso della lezione precedente
- 22/11/06 - Mer. 14-16, 2 h (Cordì) - L29, L30
Agenti che risolvono problemi
- 27/11/06 - Lun. 16-18, 2 h (Martelli) - L31, L32
- Risolvere i problemi con la ricerca
Un sottoinsieme dei seguenti argomenti:
- definizione, classificazione e rappresentazione dei problemi
- ricerca in ampiezza
- ricerca guidata dal costo
- ricerca in profondità
- ricerca in profondità limitata
- ricerca in profondità con approfondimenti successivi
- ricerca bidirezionale
- Materiale didattico
RisolvereProblemiConLaRicerca-printable.zip
(versione stampabile)
Riferimento bibliografico: Capitolo 3 del testo di Russel e Norvig, edizione in italiano
- Codice
Si veda lezione del 4/12/06
- 29/11/06 - Mer. 14-16, 2 h (Martelli) - L33, L34
- Ricerca informata ed esplorazione
Un sottoinsieme dei seguenti argomenti:
- best-first search
- greedy search
- algoritmo A*
- iterative deepening A*
- hill climbing search
- simulated annealing
- Materiale didattico
RicercaInformataEsplorazione-printable.zip (versione stampabile)
Riferimento bibliografico: Capitolo 4 del testo di Russel e Norvig, edizione in italiano
- Codice
Si veda lezione del 4/12/06
- 4/12/06 - Lun. 16-18, 2 h (Mascardi) - L35, L36
- Esercizi su problem solving e strategie di ricerca
- Materiale didattico
Quello delle due lezioni scorse
- Codice
ps.pl
- 6/12/06 - Mer. 14-16, 2 h (Martelli) - L37, L38
- Ricerca con avversari: i giochi
Un sottoinsieme dei seguenti argomenti:
- Giochi perfetti
- Decisioni minimax
- alpha-beta pruning
- Limitazioni di risorse e valutazioni approssimate
- Giochi nondeterministici (casuali)
- Giochi a informazione imperfetta
- Materiale didattico
GamePlaying-printable.zip (versione stampabile)
- Codice
Si veda lezione del 20/12/06
Altre attività razionali tipiche degli agenti intelligenti
- 11/12/06 - Lun. 16-18, 2 h (Martelli) - L39, L40
- Pianificazione
Un sottoinsieme dei seguenti argomenti:
- Definizione della pianificazione
- Pianificazione nel situation calculus
- Pianificazione in STRIPS
- Partial Order Planning (POP)
- Pianificazione come soddisfacibilità proposizionale (SAT)
- Materiale didattico
Planning-printable.zip (versione stampabile)
- Codice
Si veda lezione del 20/12/06
- 13/12/06 - Mer. 14-16, 2 h (Martelli) - L41, L42
- Conoscenza incerta
Un sottoinsieme dei seguenti argomenti:
- Incertezza
- Probabilità
- Assiomi della probabilità
- Inferenza probabilistica per enumerazione
- Indipendenza
- Regola di Bayes
- Utilizzo della regola di Bayes
- Materiale didattico
Uncertainty-printable.zip (versione stampabile)
- Codice
Si veda lezione del 20/12/06
- 18/12/06 - Lun. 16-18, 2 h (Paolo Ferraris) - L43, L44
- Answer Set Programming
- Introduzione al seminario, nozioni di background (30 min, Martelli)
- stable model semantics
- comparison with Prolog
- answer set programming (ASP)
- comparison with Prolog, satisfiability and constraint programming
- evolution in the syntax of ASP
- comparison between different extensions
- general definition of a stable model
- Materiale didattico
Le slide del seminario verranno rese disponibili a breve
- Codice
Nessuno
- 20/12/06 - Mer. 14-16, 2 h (Cordì) - L45, L46
- Esercizi su pianificazione e conoscenza incerta
- Materiale didattico
Quello delle lezioni del 6, 11 e 13 dicembre
- Codice
Disponibile a breve
- Lezione jolly (recupero della lezione persa il 1 novembre)
2 h (Cordì o Montagna) - L47, L48
- Descrizione della esercitazione
Prospetto dei voti
- Camasta: scritto 27 (16/2/07); esercitazione --; voto finale --
- Casu: scritto 25.5 (16/2/07); esercitazione 2; voto finale 27
- De Pascale: scritto 24 (20/06/07); esercitazione 1 (a.a. 03/04); voto finale 25
- Ferretti: scritto 30 (26/09/07); esercitazione 3; voto finale 30 lode
- Marchese: scritto 25.5 (26/09/07); esercitazione 3+; voto finale 29
- Panozzo: scritto 27 (9/1/07); esercitazione 3+; voto finale 30 lode
- Poggi: scritto 32 (26/09/07); esercitazione 3; voto finale 30 lode
- Romagnoli: scritto 24.5 (17/07/07); esercitazione 2.5; voto finale 27
- Zini: scritto 31 (20/06/07); esercitazione 3; voto finale 30 lode
Totale ore del corso
Totale ore svolte dal Prof. Martelli: 12h + 30 minuti di introduzione al seminario di Paolo Ferraris
Totale ore svolte dal Dott. Mascardi: 22
Totale ore svolte dalla Dott. Cordì: 6 (8 se descrive l'esercitazione)
Totale ore svolte dal Dott. Montagna: 4 (6 se descrive l'esercitazione)
Totale ore svolte da ricercatori invitati: 1,30 svolta da Paolo Ferraris
Totale: 48 ore
- Il corso prevede 1 compito che verrà valutato con voti nel range
[0..28] ed una esercitazione che verrà valutata nel range [0..5].
- Per chi ha sostenuto e superato il compito il voto finale è
attribuito come somma del voto del compito e dell'incremento dovuto alla esercitazione.
- Sarà attribuita la lode a chi avrà un voto complessivo (ottenuto come
sopra) maggiore di 30.
- In rari casi, su richiesta dello studente, si può prevedere un orale al posto o a integrazione del compito.
|
|