Course Syllabus
Obiettivi
Gli studenti apprenderanno nuovi modelli, astrazioni e meccanismi utili per la modellazione di sistemi complessi e anche strumenti pratici per la progettazione e realizzazione di sistemi informatici (prevalentemente ma non esclusivamente) volti alla simulazione di sistemi complessi secondo un approccio orientato agli agenti.
Contenuti sintetici
Il corso intende fornire agli studenti strumenti concettuali e computazionali sviluppati nelle aree delle Scienze della Complessità e dell'Intelligenza Artificiale Distribuita con finalità di simulazione di sistemi complessi o progettazione di sistemi caratterizzati dalla presenza di componenti autonome interagenti (agenti). In particolare, saranno presentati e discussi modelli basati su automi-cellulari e sistemi multi-agente, sempre più utilizzati e diffusi negli studi di sistemi complessi (quali i sistemi biologici, sociali, economici), ma che definiscono anche astrazioni e meccanismi utili per la progettazione di sistemi informatici distribuiti (ad esempio per il monitoraggio e controllo, per la progettazione di "smart environment", per la realizzazione di sistemi di supporto al lavoro cooperativo, in sistemi web avanzati).
Programma esteso
- Introduzione al concetto di agente e sistemi multi-agente: dal singolo agente intelligente ad un sistema multi-agente; architetture di agente; modelli di interazione fra agenti; agenti ed ambiente
- Automi cellulari e simulazione di sistemi complessi: sistemi complessi e sistemi complicati; automi cellulari monodimensionali e bidimensionali e loro applicazioni a casi paradigmatici di sistemi complessi: simulazione di traffico veicolare e di dinamiche di popolazione in sistemi biologici
- Dagli automi cellulari ai sistemi multi-agente: modellazione e simulazione basata su agenti; modellazione e simulazione di pedoni e folle con agenti situati; social simulation; integrazione di modelli eterogenei; altri casi di studio
- Agenti che apprendono: cenni di apprendimento per rinforzo e applicazioni di esempio
- Validazione di simulatori di sistemi complessi; esempi di tecniche di analisi di comportamenti collettivi in sistemi complessi
- Cenni su agenti deliberativi
- Cenni su altre applicazioni di sistemi basati su agenti e multi-agente
Prerequisiti
Nessuno in particolare. Competenze di base di programmazione possono essere utili al fine della realizzazione del progetto d'esame.
Modalità didattica
I temi trattati saranno presentati in relazioni agli aspetti teorici e metodologici ma anche discussi in relazione ad esempi pratici e casi di studio; saranno presentati e discussi in opportune esercitazioni alcuni strumenti per la realizzazione di simulatori basati su modelli e approcci discussi a lezione; saranno inoltre di volta in volta date indicazioni per approfondimenti nella letteratura scientifica del settore. Il corso è in lingua italiana, sebbene il materiale didattico sia in lingua inglese.
Materiale didattico
Libro di testo, per la prima parte del corso (punto 1 del programma dettagliato): Multi-Agent System: An Introduction to Distributed Artificial Intelligence. Jacques Ferber, Harlow: Addison Wesley Longman, 1999, ISBN 0-201-36048-9
Ulteriore materiali didattici: slide presentate a lezione e rese disponibili tramite piattaforma di eLearning, articoli scientifici suggeriti.
Periodo di erogazione dell'insegnamento
Secondo semestre.
Modalità di verifica del profitto e valutazione
Viene richiesta la realizzazione di un approfondimento in relazione ai temi trattati durante il corso che comporta la realizzazione di un progetto (realizzazione e sperimentazione di un simulatore in forma prototipale), con una discussione orale estesa a tutti i temi trattati nel corso.
Il tema dell'approfondimento e del progetto viene di norma concordato con il docente, anche durante lo svolgimento del corso; il docente fornisce una valutazione dell'adeguatezza e della difficoltà del lavoro ipotizzato, e propone delle indicazioni utili alla impostazione del lavoro.
Orario di ricevimento
Mercoledì mattina dalle 9:30 alle 11:30 o altro orario su appuntamento, eventualmente anche per via telematica.
Sustainable Development Goals
Aims
Students will learn new models, abstractions and mechanisms for the modeling of complex systems but also practical tools for the design and development of systems (not exclusively aimed at the simulation of complex systems) based on an agent-based approach.
Contents
This course aims at introducing conceptual and computational models and instruments developed in the contexts of the Sciences of Complexity and Distributed Artificial Intelligence supporting simulation of complex systems or the design of systems characterized by the presence of autonomous interacting components (agents). Cellular Automata and multi-agent system models are growingly diffused in the study of complex systems (such as biological, socioeconomic systems), but they also represent useful abstractions and mechanisms for the design of distributed computer systems (e.g. monitoring and control systems, smart environments, computer supported cooperative work systems, advanced web applications).
Detailed program
- Introduction to the concepts of agent and multi-agent system (from single intelligent agent to a multi-agent system, agent architectures, agent interaction models, agents and environments)
- Cellular Automata and complex systems modeling: complex vs. complicated systems, 1D and 2D cellular automata and their application to paradigmatic case studies (traffic and population dynamics)
- From cellular automata to multi-agent systems: agent-based modeling and simulation of crowds of pedestrians; social simulation; integration of heterogeneous approaches; additional case studies
- Learning agents: brief introduction to reinforcement learning and sample applications
- Validation of complex systems simulators; examples of techniques for the analysis of collective behaviours in complex systems
- Brief introduction to deliberative agents
- Brief discussion of other applications of agent based and multi-agent systems
Prerequisites
None. Basic computer programming proficiency could be useful to implement the project required for the final assessment.
Teaching form
Theoretical and methodological aspects will be presented along with practical examples and case studies, employed to exemplify the introduced topics; specific tools for the realization of simulators based on presented models and approaches will be presented; suitable references to the relevant and recent scientific literature will be given for supporting an in depth study of the treated topics. The course is in Italian although the teaching material is in English.
Textbook and teaching resource
Text book (for point 1 of the detailed course program): Multi-Agent System: An Introduction to Distributed Artificial Intelligence. Jacques Ferber, Harlow: Addison Wesley Longman, 1999, ISBN 0-201-36048-9
Additional teaching material: slides made available through the eLearning platform and links to scientific papers.
Semester
Second semester.
Assessment method
The learning assignments are essentially related to the production of an essay related to the introduced topics, that implies the realization of a project (a practical implementation and experimentation of prototypical simulator) and its discussion in an oral exam that concerns all the topics introduced throughout the course.
The topic of the essay and project is typically agreed upon with the instructor, even during the course; the instructor provides an assessment of the adequacy and level of difficulty of the proposed work, and he proposes indications for the organization of work.
Office hours
Wednesday from 9:30 to 11:30 or other days/times always by appointment, potentially also via teleconferencing systems.