ABM for Complex Systems

We have devised an innovative ABM computational model and developed a MABS simulation infrastructure: Alchemist. The main domains of application we are working on are:

Case study described in the MABS 2015 submission

A video example of a simulation run in the domain of Pervasive Computing can be downloaded here: it shows a case of crowd steering in London, whose model is available here. For interested readers, the source code of the conditions/actions/reactions that appear in the model are available respectively at:

Obiettivi

Primo obiettivo di questo lavoro è quello di sperimentare, attraverso un caso di studio ben documentato in letteratura, le caratteristiche dell'approccio multiagente alla modellazione di sistemi complessi.

Modello Preda&Predatore: ODE vs ABM

Fasi di sviluppo

Modello ODE

In questa fase ci si propone di comprendere il modello ODE del sistema preda&predatore, sia relativamente alle scelte alla base del modello (e.g. assunzioni, obiettivi del modello ecc) sia rispetto ai risultati forniti da una prima analisi qualitativa (analitica: punti di equilibrio, anche bifurcation diagram) e dalla simualzione numerica.

ABM

Definite le caratteristiche del sistema reale, e stabiliti gli stessi obiettivi del modello ODE, definire un ABM del caso prey-predator. A tal fine si propongono i seguenti passi:

  • definizione delle regole che determinano il comportamento interno ed interattivo degli agenti, nonché della struttura e della dinamica dell'ambiente (domain model). Obiettivo di questa prima fase è definire comportamenti e caratteristiche delle singole entità, secondo un approccio bottom-up, fedeli alla nozione di località, e trascurando completamente quelle features con cui il modello potrebbe essere arricchito, ma che vengono dal comportamento globale atteso o noto che si ha del sistema.
  • formalizzazione dell'ABM con un opportuno framework formale (da definirsi) per ottenere una descrizione rigorosa del modello (design model).
  • implementazione del modello (operational model). A questo scopo è ancora da definirsi la piattaforma di simulazione più adeguata. Possono essere prese in considerazione:
    • NetLogo, il cui aspetto più interessante sta nella possibilità di descrivere con un linguaggio in pseudo-codice  (??? nn so se il termine è corretto) i comportamenti degli agenti e dell'ambiente, rimanendo liberi dai problemi (trick) connessi con l'implementazione in e.g. Java.</li>
    • MASON, già un po' noto, ma poco utilizzato, e sembra anche poco "aggiornato".</li>
    • Repast, che sembra essere forse lo strumento più ricco, molto utilizzato, ma che richiede un'implementazione del modello direttamente in Java.</li>
  • Obiettivo quindi di questo terzo punto è la valutazione della piattaforma più opportuna e la successiva implementazione del modello.
Analisi e confronto con ODE

Con questa fase ci si propone di fornire un insieme di considerazioni, feedback, sull'adozione di ABM. Queste considerazioni hanno l'obiettivo di fornire una lettura critica di tutte le fasi di realizzazione del modello. Dovrebbero rispondere a domande del tipo:

  • cosa significa pensare di reallizzare un modello in termini di agenti e ambiente?
  • è possibile descrivere in modo rigoroso (matematico) un ABM?
  • quanto intuitivo è realizzare un modello di questo tipo?
  • quanto complesso è implementarlo?
Analisi dei risultati delle simulazioni

A questo punto è necessario studiare la dinamica del sistema. In un modello ODE abbiamo a disposizione un insieme di tool che permettono di fare, come già anticipato, un'analisi sulla dinamica del sistema di tipo qualitativo, che non richiede cioè di eseguire il modello, ma fornisce già considerazioni sulle proprietà dinamiche del sistema (riepeto: punti di eq ecc)
Esiste uno strumento analogo lato ABM?
Se esiste, cosa significa utilizzarlo e quali risultati fornisce?

Dopodiché il modello deve essere lanciato e si studiano le dinamiche nel tempo delle componenti del sistema: numero di prede, numero di predatori, più altre proprietà che possono essere di interesse (da definirsi). Fare CONFRONTO con dinamica del modello ODE.
Raffinare eventualmente il modello se i risultati non sono buoni.
Obiettivo di questa fase è riprodurre l'andamente ottenuto con ODE

Arricchimento del modello: aggiungere features, vincoli

Con questa fase ci si propone di sperimentare la possibilità di arricchire il modello originario con nuovi comportamenti, caratteristiche ecc.
Questa operazione può essere fatta sia lato agenti sia lato ambiente.

Ambiente. Nei vari step di complessità l'ambiente ha anche una sua dinamica (es. feromoni che evaporano)
Si può pensare di aggiungere dei vincoli che descrivono leggi globali:  se all'inizio tutti i comportamenti sono definiti sulla base di principi di località, ai potrebbero mettere in campo nell'ambiente griglia delle connessioni tra parti diverse dell'ambiente anche lontane che fungano da vincoli per l'evoluzione globale del sistema.

Cosa significherebbe fare la stessa cosa con modello ODE?
quanto è più semplice (se lo è) fare questa operazione con modello ABM rispetto ODE?

Tags:
Partita IVA: 01131710376 - Copyright © 2008-2022 APICe@DISI Research Group - PRIVACY