Finalità del corso:
Introdurre alle tematiche dei sistemi basati sulla conoscenza
e dell'ingegneria del software. In particolare quindi vengono
introdotti i meccanismi di rappresentazione della conoscenza e
gli algoritmi di ragionamento, le tecniche di modellizzazione
concettuale e di acquisizione della conoscenza, e vengono altresì
esaminate alcune applicazioni significative, quali le interfacce
intelligenti, i sistemi diagnostici, e i sistemi tutoriali intelligenti.
Per quanto riguarda l'ingegneria del software, vengono illustrati
i concetti fonadamentali su cui si basa il processo di produzione
industriale di software, e viene quindi trattata in dettaglio
una metodologia per lo sviluppo dei sistemi basati sulla conoscenza.
Elenco strutturato di tematiche:
Introduzione alle problematiche dell'Intelligenza Artificiale. Definizione di Sistema Basato sulla Conoscenza. Rappresentazione della Conoscenza e Algoritmi di ragionamento. Le reti semantiche. I frame. Le regole di produzione. Grafi Concettuali. Sistemi per il Ragionamento Non Monotono. ATMS. JTMS. Architetture a Blackboard. Tecniche di modellizzazione concettuale. Classificazione Euristica e Task Generici. Acquisizione della Conoscenza. Sistemi di Rappresentazione Basati sull'Uso di Conoscenza Profonda. Fisica e Simulazione Qualitative. QSIM. Tecniche di Diagnosi Basata su Modello. GDE. Interfacce Intelligenti e Modellizzazione dell'Utente nei Sistemi di Reperimento dell'Informazione: i Progetti FIRE, UMT e IFT. Sistemi Tutoriali Intelligenti: il Progetto ET. Rappresentazione Multimodello dei Sistemi Fisici. Il sistema DYNAMIS.
Ingegneria del Software. Modello dei processi
per la realizzazioine e l'uso del software, processi primari,
di supporto e di gestione. Modello a cascata e a spirale. Metodologie
di sviluppo: organizzazione, attività e metodi. Processi
per lo Sviluppo dei Sistemi Basati sulla Conoscenza. La metodologia
KLIC. Processi primari di analisi. Analisi di opportunità.
Studio di plausibilità. Processi primari di sviluppo. Sviluppo
del dimostratore. Sviluppo del prototipo. Implementazione, installazione
ed avvio del sistema finale. Processi primari operativi: manutenzione
ed estensione. Processi di supporto e di gestione. Controllo di
qualità. Verifica e validazione. Documentazione. Gestione
di un progetto di sviluppo di un SBC: gruppo di lavoro, pianificazione
del progetto, regole di gestione. Training.
Testo consigliato:
Guida, G., Tasso, C. Design and Development
of Knowledge-Based Systems: From Life Cycle to Methodology.
John Wiley & Sons, Chichester, UK, 1994.