Università di Torino
Corso di Laurea in Informatica
SISTEMI INTELLIGENTI
Programma del corso A.A. 2005/2006
Docente: Pietro Torasso
Scopo
Il corso si propone di fornire una introduzione generale alle problematiche nel settore dell’Intelligenza Artificiale con particolare riguardo alle metodologie di risoluzione automatica di problemi .
Oltre alle strategie classiche di risoluzione di problemi, (compresi gli elementi essenziali sui meccanismi a vincoli) il corso fornisce una introduzione ai formalismi di rappresentazione della conoscenza con particolare riguardo ai formalismi logici, alle regole di produzione e ai formalismi di rappresentazione strutturati (frame).
Le diverse tematiche trovano un inquadramento nella nozione di agente intelligente. In questa ottica il corso si chiude fornendo una descrizione introduttiva dei meccanismi di apprendimento automatico a partire da esempi.
.Data la natura introduttiva del corso e la durata del corso, si precisa che molte problematiche del settore dell’Intelligenza Artificiale non sono discusse nell’ambito del corso in questione, ma trovano collocazione nei corsi previsti per la laurea specialistica "Sistemi per il Trattamento dell'Informazione" (Classe 23/S INFORMATICA), in particolare nel corso di "Intelligenza Artificiale e Apprendimento Automatico" mentre una sperimentazione pratica delle tematiche toccate in questo corso trova la sua collocazione nel corso "Laboratorio di Sistemi Intelligenti)". Tematiche sugli agenti sono approfondite nel corso di "Interazione Uomo macchina: Agenti ed Interazione Linguistica".
Modalita’ d’esame
Esame orale: Individuale
Libro di testo
· Russel, Norvig: "Artificial Intelligence: a modern approach" Second edition Prentice Hall, 2003.
Si noti che la seconda edizione è stata recentemente tradotta in Italiano con il titolo “Intelligenza Artificiale: un approccio moderno” e pubblicato da Pearson, Prentice Hall. La traduzione è in due volumi ed parte del materiale utilizzato nel corso si trova nel secondo volume.
Per alcuni argomenti si veda anche il testo:
Rich, Knight: Artificial Intelligence, second
Edition, McGraw Hill, 1991 (esiste versione italiana)
I testi sono consultabili presso la Biblioteca del Dipartimento di Informatica.
Programma dettagliato del Corso
1) Introduzione all’Intelligenza Artificiale e al concetto di Agente
Intelligente
Russel Cap.1.1, 1.3 (leggere), 1.4 (leggere), cap.2 (tutto) ; Rich cap. 1.1, 1.2(leggere), 1.4 (leggere), 1.5
2) Risoluzione automatica di problemi
In questa parte si affronta la problematica di come definire il concetto
di problema e di soluzione, di distinguere tra soluzione e soluzione ottima.
Sono studiati tre approcci alla risoluzione di problemi: ricerca nello spazio
degli stati, ricerca in spazi con avversario (giochi ad informazione completa)
, risoluzione di problemi mediante soddisfacimento di vincoli.
Per ciascun approccio si discutono le principali strategie di ricerca:
ampiezza., profondità, iterative deepening per le ricerche cieche nello spazio
degli stati, A* e Recursive Best First
Strategy per le ricerche euristiche, Min-Max e Alfa-beta peri gioch icon avversario, forward propagation e
arc consistency per meccanismi basati
su soddisfacimento di vincoli.
Le strategie vengono illustrate
considerando alcuni problemi classici, quali missionari e cannibali, gioco del
15, mondo di blocchi
Russel 3.1, 3.2, 3.3, 3.4,
3.5, 4.1, 4.2 5.1, 5.2 (tranne intelligent backtracking), 6.1, 6.2, 6.3, 6.4
Rich 3.5, 14.3
3) Rappresentazione della conoscenza
Il problema della rappresentazione della conoscenza e dei relativi
meccanismi inferenziali viene affrontato studiando tre approcci alla rappresentazione
della conoscenza: formalismi logici, regole di produzione e rappresentazioni
strutturate. Per quanto riguarda i formalismi logici si vede come sia il
calcolo proposizionale che il calcolo dei predicati del primo ordine possano
essere utilizzati per rappresentare conoscenza sul mondo e si vede come i
meccanismi inferenziali (modus ponens, resolution, etc) possano essere
adoperati per fornire servizi utili (es. risposta a domande, verifica
consistenza, ecc.). Nelle regole di produzione si sottolinea in particolare il
problema della strategia di controllo nella scelta della regola da mandare in
esecuzione. Per quanto riguarda i formalismi strutturati si descrivono in
particolare le tassonomie ed i frames e si analizzano le problematiche dell'ereditarieta'
e delle eccezioni. Vengono inoltre fatti cenni su ontologie e description
logics
Formalismi logici
Russel 7.1, 7.2 (leggere), 7.3, 7.4, 7.5, 8.1, 8.2, 8.3 (leggere), 8.4 (leggere) 9.1, 9.2 (leggere), 9.3 (fino a incremental forward chaining escluso), 9.4 (leggere), 9.5 (fino a completeness of resolution escluso)
Regole di produzione
Rich 6.1 (leggere), 6.2 (leggere), 6.3, 6.4.1(leggere) 6.4.2 (leggere), 6.4.4., 6.5.
Formalismi strutturati
Rich cap 4.2, 9.1 (eccetto 9.1.4) , 9.2
Russel 10.1, 10.2 (leggere), 10.6
4) Apprendimento automatico
Si descrive brevemente come l’apprendimento automatico sia una delle
caratteristiche essenziali per ottenere un agente intelligente. Vengono
introdotte solo nozioni elementari con particolare riguardo all'apprendimento
da esempi (in particolare apprendimento di alberi di decisione). Viene infine
fatto un breve cenno alle reti
neuronali.
Russel 18.1, 18.2 , 18.3, 20.5 (leggere)
MATERIALE ADDIZIONALE
Gli esempi utilizzati a lezione sono in gran parte quelli ripresi dai libri di testo sopra elencati.
Modellazione di problemi nello spazio degli stati
Esempio di impatto euristica su A*
Esempio di inferenza in calcolo preposizionale
Esempio di inferenza nel calcolo dei predicati del primo ordine (Horn Clauses)
Sistemi a regole di produzione (senza variabili)
Sistemi a regole di produzione (con variabili)
Seminario su piattaforma ad agenti JADE
https://www.di.unito.it/~torasso/aa06/SistInt/ModellazioneSpazioStati.doc