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

Algoritmo A*

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 Ontologie

Seminario su piattaforma ad agenti JADE

 

 

 

 

https://www.di.unito.it/~torasso/aa06/SistInt/ModellazioneSpazioStati.doc