Universita’di Torino

Corso di Laurea in Informatica

SISTEMI INTELLIGENTI

Programma del corso A.A. 2003/2004

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

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 ; 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 completa0 , risoluzione di problemi mediante soddisfacimento di vincoli.

Per ciascun approccio si discutono le principali strategie di ricerca (ampiezza., profondita, iterative deepening, Min-Max) con particolare attenzione a quelle guidate da euristiche (A*, IDA*, Alfa-beta)

Generalita Rich cap. 2 (TUTTO); Russel 3.1, 3.2 , 3.3 leggere), 3.4, 3.5, 3.6

Spazio degli stati Russel 4.1 , 4.2 (leggere), 4.3(esclusa SMA*); Rich 3.1, 3.3.1, 3.3.2

Giochi: Russel 5.1 , 5.2, 5.3 (leggere), 5.4

Soddisfacimento di vincoli: Rich 3.5, 14.3; Russel 3.7

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 6.1, 6.2 (leggere), 6.3, 6.4, 7.1, 7.3 (leggere), 8.1 (leggere), 8.2 (leggere), 8.4 (leggere limitatamente alla rappresentazione delle categorie, oggetti composti, sostanze ed oggetti), 9.1, 9.2, 9.3, 9.4, 9.6

Rich 5.1

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,

Russel 10.5

Formalismi strutturati

Rich cap 4.2, 9.1 (eccetto 9.1.4) , 9.2

Russel 10.6, 10.7 (leggere)

 

4) Apprendimento automatico

Vengono introdotte solo nozioni elementari con particolare riguardo all'apprendimento da esempi (in particolare apprendimento di alberi di decisione). Viene infine fatto un brevissimo cenno alle reti neuronali.

Russel 18.1, 18.2 , 18.3

Russel 19.1 19.2

 

I testi a cui si fa riferimento sono:

I testi sono consultabili presso la Biblioteca del Dipartimento di Informatica.

Gli esempi utilizzati a lezione sono in gran parte quelli ripresi dai libri di testo sopra elencati.

Il materiale utilizzato a lezione che non trova corrispondenza sui libri di testo e’ reperibile elettronicamente

Ricerca nello spazio degli stati: missionari e cannibali

Algoritmo A*

Esempi di impatto euristiche su A*

Calcolo proposizionale: un esempio di KB e di risoluzione

Calcolo dei predicati del primo ordine: esempio di KB scritta come clausole di Horn

Regole di produzione: un esempio di KB (regole senza variabili)

Regole di produzione: un esempio di KB (regole con variabili scritte in CLIPS)

Seminario su Ontologie (tenuto da Dr. Correndo) si guardi http://www.di.unito.it/~correndo/ cliccando su Presentations