PROGRAMMING TECHNIQUES

Prof. Carlo Tasso

A.A. 1996/97


PART 1. INTRODUCTION

1. Introduction to Artificial Intelligence (AI) and Knowledge-Based Systems (KBS).

(5 lectures)

Introduction to basic problems of Artificial Intelligence. Traditional approach and AI approach to computer programming. Turing test. The knowledge representation (KR) problem: fundamentals, Smith's hypotheses, evaluation criteria of KR methods. Main research and application areas of AI.

A definition of KBS.. Comparison with traditional software systems. Basic architecture of a KBS. Kernel and empty system. Peripheral parts of a KBS. Classification of KBSs. Traditional software development vs. KBS development.

[G. & T. 94]

PART B. DEVELOPMENT OF KNOWLEDGE-BASED SYSTEMS

2. Software engineering, life cycle and development methodology (3 lectures)

Process model for software development and use: primary, supporting and managing processes. Motivations for a life cycle. Traditional software life cycle. Waterfall and spiral models. Requirements for a KBS life cycle. Reference life cycle: organization, phases, tasks. Development methodologies: organization, activities and methods.

[G. & T. 94, G. & T. 89]

3. Processes for the development of KBSs (30 lectures)

Primary analysis processes. Opportunity analysis: steps and tasks. Process-structure model of an organization: areas, domains, knowledge-intensive domains and knowledge problems. Analytical evaluation of opportunity and master plan.

Plausibility study: steps and tasks. The concept of plausibility and its evaluation. Goals, requirements, specifications and acceptance criteria for a KBS. Technical feasibility and preliminary project. Organizational impact and design. Project planning. Economic evaluation, cost/benefit ratio. Realizability, opportunities and risks, evaluation of domain experts. Global plausibility.

Primary development processes. Demontrator development: steps and tasks. Types of demonstrators. Demonstrator specifications. Design and development. Preparation, execution, and evaluation od a demonstration.

Prototype development: steps and tasks. Design principles: conceptual model, logical model, design space. Design paradigms: model-based, tool-based and task-based.Development tools: basic development environment and development support system. Tool selection. Design of the conceptual model: top-down vs. bottom-up approach. Technical design. Construction, evaluation, refinement,and documentation of the prototype.

Implementation, installation, and delivery of the target system: steps and tasks. Approaches to target system implementation.

Primary operational processes: maintenance and extension: steps and tasks. Approaches to maintenance.

Processi di supporto e di gestione. Controllo di qualità: definizione di qualità, ambito e pianificazione degmli interventi di controllo della qualità. Verifica e validazione: definizione, attributi comportamentali ed ontologici per la verifica e tecniche per la loro valutazione, testing e ispezione; validazione tecnica e sociale. Documentazione. Gestione di un processo di sviluppo di un SBC: gruppo di lavoro, pianificazione del progetto, regole di gestione.Training.

[G. & T. 94]

Parte C. Tecniche di Base dell'Intelligenza Artificiale

4. Metodi di base: Rappresentazione della Conoscenza e Algoritmi di Ragionamento (14 ore)

Cenni alla Logica come metodo di rappresentazione.

Le reti semantiche: struttura e caratteristiche, la relazione IS-A, ragionamento basato su reti (intersection search e eredità), valutazione delle reti. Le triple O-A-V.

I frame: struttura e caratteristiche, ragionamento basato su frame (defualt reasoning e attaccamento procedurale), valutazione critica dei frame.

Regole di produzione: struttura e caratteristiche, ragionamento basato su regole (deduzione, induzione e giustificazione), strategie forward, backward, e ibride, valutazione critica. Meccanismi di unificazione ed instanziazione delle regole. Valutazione delle regole. Metodi ibridi di rappresentazione I sistemi di produzioni Architettura di un sistema di produzioni. Ciclo di base recognize-act (matching, risoluzione dei conflitti ed esecuzione). Spazio di ricerca, motori inferenziali non deterministici. Conosenza di controllo, metaconoscenza. Reti inferenziali, alberi and/or, stretegie di ricerca. Modelli di ragionamento approssimato. Analisi critica dei sistemi basati su regole e confronto con i LdP tradizionali.

[App., Fum 94]

5. Grafi Concettuali (4 ore)

Definizoni di base. Gerarchia dei tipi. Referenti. Relazioni. Base Canonica. Operazioni sui grafi concettuali. Realzioni con il calcolo dei predicati del primo ordine. Esempi. Metodologia di costruzione dei grafi concettuali. Valutazioni critiche.

[App., Sowa 84]

6. Sistemi per il Ragionamento Non Monotono (10 ore)

Ragionamento monotono. Ragionamento non monotono basato su belief e su ritrattazione. Sistemi per il mantenimento della consistenza (TMS).

Sistema basato su giustificazioni (JTMS): architettura generale,nodi, giustificazioni, funzionalità principali, etichettatura dei nodi, liste di supporto, premesse, giustificazioni monotone, assunzioni come giustificazioni non monotone, rappresentazione dei nodi, reti di dipendenza, procedura di truth maintenance, trattamento della circolarità, backtracking guidato dalle dipendenze, confronto con il backtracking cronologico, valutazioni critiche.

Sistema basato su assunzioni (ATMS): ragionamento ipotetico, nodi, assunzioni, giustificazioni, ambienti, nogood, reticolo degli ambienti, contesti, etichette, obiettivi dell'ATMS, tipi di nodi, rappresentazione dei nodi, premesse, assunzioni, nodi derivati, funzionamento, confronto con JTMS e valutazioni critiche.

Esempi d'uso di JTMS e ATMS. Applicazioni dei TMS.

[Doyle 79, De Kleer 86]

7. Architetture a Blackboard (2 ore)

Modello generale di problem solving basato su memoria condivisa (blackboard). Architettura a blackboard, sorgenti di conoscenza (KS). Problema della schedulazione delle KS. Applicazioni. Shell basati su blackboard.

[Nii 86a e b]

8. Classificazione Euristica e Task Generici (4 ore)

Compiti tipici dei sistemi basati sulla conoscenza (SBC), compiti analitici e sintetici, interpretazione dati, envisionment, monitoraggio, diagnosi, decision making, pianificazione, progetto, compilazione di azioni. Compiti complessi come combinazione di compiti più elementari.

Modelli di problem solving. Classificazione semplice. Classificazione euristica: astrazione (qualitativa, per definizione e per generalizzazione) e raffinamento, legami euristici, strategie di ragionamento.

Task generici: classificazione gerarchica, matching di ipotesi, passaggio di informazioni guidato dalla conoscenza, assemblaggio abduttivo.

[G. & T. 94, Chandr. 86, Clancey 85, Steels 90]

9. Acquisizione della Conoscenza (10 ore)

Il problema dell'acquisizione della conoscenza nello sviluppo di SBC. Il processo di acquisizione della conoscenza nell'ambito del ciclo di vita di un SBC. Acquisizione campionaria ed acquisizione estensiva.

Tipi delle conoscenze da acquisire: conoscneze fattuali, relazionali, fenomenologiche e strategiche. Livelli di astrazione delle conoscenze da acquisire: livello linguistico, concettuale ed epistemologico. Sorgenti della conoscenza: dati verbali, documenti scritti, osservazione naturalistica.Conoscenza esplicita e conoscenza tacita.

Organizzazione generale del processo di acquisizione: metodi top-down e bottom-up. Metodologia per l'acquisizione della conoscenza: pianificazione del processo di acquisizione, classificazione e scelta delle tecniche di elicitazione.

Tecniche di elicitazione diretta: intervista tutoriale, focalizzata, strutturate, simulazione, thinking-aloud, osservazione inquisitiva, commentari, simulazioni, teach-back, paper review, revisioni. L'intervista degli esperti: comunicazione efficace, preparazione ed esecuzione dell'intervista.

Tecniche di elicitazione indiretta: card sorting, multidimensional scaling, personal construct theory a griglie di repertorio. Esempi e valutazioni.

Il caso degli esperti multipli.

Automazione del processo di acquisizione. Classificazione degli strumenti per l'acquisizione automatica. Tecniche basate sull'induzione: inferenza induttiva, algoritmo ID3, applicabilità dei metodi basati sull'induzione.

[G. & T. 94]

Parte D. Rappresentazione di Sistemi Fisici e Diagnostica

10. Sistemi di Rappresentazione Basati sull'Uso di Conoscenza Profonda (2 ore)

Limitazioni dei sistemi basati su conoscenza superficiale. Motivazioni tecniche e cognitive allo studio della conoscenza profonda. Conoscenza profonda: requisiti e definizione. Confronto fra conoscenza superficiale e profonda. Limitazioni dei sistemi basati su conoscenza profonda. Approcci basati su integrazione di conoscenza superficiale e profonda, approcci basati su compilazione di conoscenza. Approcci quantitativi e qualitativi. Vantaggi e limitazioni dei due approcci. Terminologia per la classificazione della conoscenza profonda: conoscenza strutturale, conoscenza comportamentale, conoscenza funzionale, conoscenza teleologica.

[Guida 86]

11. Fisica Qualitativa (3 ore)

Definizione ed obiettivi della fisica qualitativa. Caratteristiche comuni ai diversi approcci esistenti. Un approccio specifico: QSIM. Concetti di base: reasonable function, landmark, distinguished time-point, stato qualitativo, comportamento qualitativo, P-transizioni, I-transizioni, vincoli. La simulazione qualitativa: analisi degli algoritmi usati in QSIM. Principali limitazioni di QSIM.

[Kuipers 86]

12. Tecniche di Diagnosi Basata su Modello (3 ore)

Descrizione intuitiva del problema diagnostico. Definizione formale. Approcci diagnostici tradizionali: ATE e sistemi basati su conoscenza superficiale. Gli approcci basati su conoscenza profonda: diagnosi basata su modello. Studio di un approccio specifico: GDE. Concetti di base: sintomo, conflict, candidate, minimal candidate. Utilizzo dell'ATMS in GDE. Il ragionamento diagnostico in GDE: conflict recognition, candidate generation, prescrizione di test. Principali limitazioni di GDE.

[De Kleer & W. 86]

Parte E. Applicazioni e Progetti di Ricerca nel Campo dei Sistemi Basati sulla Conoscenza

13.Interfacce Intelligenti e Modellizzazione dell'Utente nei Sistemi di Reperimento dell'Informazione: i Progetti FIRE, UMT e IFT (8 ore)

Introduzione alle interfacce a sistemi di information retrieval. Il sistema FIRE. Sottosistema di modellizzazione dell'utente. Non monotonicità del processo di modellizzazione. Il sistema UMT - uno shell per la realizzazione di sistemi di modellizzazione non monotona: architettura, moduli principali, basi di conoscenza e funzionamento. Utilizzo di ATMS per il modulo di gestione della consistenza del modello d'utente. Valutazione critica. Il sistema IFT per il filtraggio di informazione basato su modellizzazione di utente.

[Brajnik & T. 94]

14. Sistemi Tutoriali Intelligenti: il Progetto ET (8 ore)

Introduzione ai sistemi tutoriali intelligenti confrontati con l'approccio classico del CAI. Architettura classica: modulo esperto, modellatore dello studente, modulo tutoriale. Non monotonicità del processo di modellizzazione dello studente. Il sistema ET per l'apprendimento delle lingue. Uso dell'ATMS nel modellatore di ET.

[Fum & al. 88, Tasso & al. 92]

15. Rappresentazione Multimodello dei Sistemi Fisici (2 ore)

Motivazioni tecniche e cognitive all'utilizzo di modelli multipli nei sistemi basati su conoscenza profonda. Gli approcci esistenti e le loro limitazioni. Studio di un approccio specifico: il multi-modeling. Concetti di base: ontologie, assunzioni rappresentazionali, tipi epistemologici, livelli d'aggregazione, legami tra modelli. Modelli strutturale, comportamentale, funzionale, teleologico. Relazioni esistenti fra i modelli. Diagnosi basata su modelli multipli. Il sistema DYNAMIS.

[Chittaro & al. 93]

Materiale didattico

Testo adottato:

[G. & T. 94] Guida, G., Tasso, C. Design and Development of Knowledge-Based Systems: From Life Cycle to Methodology. John Wiley & Sons, Chichester, UK, 1994.

[App.] Appunti delle lezioni.

Bibliografia

Bohem, B., W. A Spiral Model of Software Development and Enhancement. Computer, May 1988, pp. 61-72.

[Brajnik & T. 94] Brajnik, G., Tasso, C. A Shell for Developing Non-Monotonic User Modeling Systems. International Journal of Human-Computer Studies, 40, 31-62, 1994.

[Chandr. 86] Chandrasekaran, B. Generic Tasks in Knowledge-Based Reasoning: High Level Building Blocks for Expert System Design. IEEE Expert 1(3), 23-30, 1986.

[Chittaro & al. 93] Chittaro L., Guida G., Tasso C. e Toppano E. Functional and Teleological Knowledge in the Multimodeling Approach for Reasoning about Physical Systems: A Case Study in Diagnosis, IEEE Transaction on Systems, Man and Cybernetics, 23(6), 1718-1751, 1993.

[Clancey 85] Clancey, W. J. Heuristic Classfication. Artificial Intelligence 27(3), 285-350, 1985.

[De Kleer 86] De Kleer, J. An Assumption-based TMS. Artificial Intelligence 28, 127-162, 1986.

[De Kleer & W. 86] De Kleer J. e Williams B.C. Diagnosing multiple faults. Artificial Intelligence 32, 97-130, 1987.

[Doyle 79] Doyle, J. A Truth Maintenance System. Artificial Intelligence 12, 231-272, 1979.

[Fum 94] Fum, D., Intelligenza Artificiale. Il Mulino, Bologna, 1994.

[Fum & al. 88] Fum, D., Giangrandi, P., Tasso, C. ET: An Intelligent Tutor for Foreign Language Teaching. Proceedings of ITS-88 - International Conference on Intelligent Tutoring Systems, Montreal, Canada, June 1-3, 462-468, 1988.

[G. & T. 89] Guida, G., Tasso, C. (a cura di) Expert system design: Methodolgies and Tools. North-Holland, Amsterdam, NL, 1989.

[Guida 86] Guida G. Reasoning about physical systems: Shallow versus deep models. In A. Mamdani, J. Efstathiou (a cura di) Expert Systems and Optimization in Process Control, Technical Press, Aldershot, UK, 135-159, 1986.

Jackson, P., Introduction to Expert Systems - Second Edition, Addison-Wesley, Reading, MA, 1990.

Jackson, A.H. Machine learning. Expert Systems 5(2), 132-149, 1988.

[Kuipers 86] Kuipers B. Qualitative Simulation. Artificial Intelligence 29, 289-338, 1986.

[Nii 86a] Nii, H. P. Blackboard Systems: The Blackboard Model of Problem Solving and the Evolution of Blackboard Architectures. The AI Magazine 7(3), 38-53, 1986.

[Nii 86b] Nii, H. P. Blackboard Systems: Blackboard Systems from a Knowledge Engineering Perspective. The AI Magazine 7(3), 82-106, 1986.

Rich, E., K. Knight, Artificial Intelligence, Second Edition, McGraw Hill, New York, NY, 1991.

[Sowa 84] Sowa, J.F., Conceptual Structures: Information Processing in Mind and Machgine. Addison-Wesley, Reading, MA, 1984.

[Steels 90] Steels, L. Components of Expertise. AI Magazine 11(2), 29-49, 1990.

[Tasso & al. 92] Tasso, C., Fum, D., Giangrandi, P. The Use of Explanation-Based Learning for Modeling Student Behavior in Foreign Language Tutoring. In M.L. Swartz, M. Yazdani (a cura di) Intelligent Tutoring Systems for Foreign Language Learning, Springer Verlag, New York, 1992.