3.3 Simulazione ad agenti o Agent-Based Modeling (ABM)
3.3.4 Il protocollo O.D.D
L’idea alla base del protocollo O.D.D. è quella di strutturare le informazioni sempre nella stessa sequenza. Questa consiste in sette elementi raggruppati in tre sezioni: Overview, Design Concepts e Details, di cui il nome del protocollo è l’acro-nimo. La Overview deve fornire una panoramica degli obiettivi e della struttura del modello. Il lettore, leggendo questa parte, dovrebbe essere in grado di scrivere lo scheletro del programma, avendo conoscenza di tutti gli oggetti presenti e uti-lizzati, dei diversi tipi di individui e della successione delle procedure. I Design Concepts non descrivono il modello di per sé, ma i concetti generali che sotten-dono il disegno dello stesso, così da collegarlo alle caratteristiche individuate per i CAS (supra). La terza parte, Details, include tre elementi (Initialization, Inputs e Submodels) che presentano in dettaglio ciò che era stato omesso nella Overview. La logica della sequenza, riassunta nella tabella 3.1, sta nel presentare prima le informazioni generali e di contesto, seguite da considerazioni strategiche e infine dai dettagli tecnici.
Purpose
Prima di tutto è importante esplicitare quali obiettivi si intendono raggiungere con il modello che si sta presentando. In mancanza di questa sottosezione, il lettore non capirebbe perché certi aspetti della realtà sono modellizzati e altri no: essa funge da guida alla descrizione successiva. Dato che in molti articoli l’obiettivo del modello è già descritto nell’introduzione, sarà bene essere concisi.
LA COMPLESSITÀ 59
Entities, State Variables and Scale
In questa sezione andranno specificate: le componenti del modello (entità), che possono essere i singoli agenti/ unità ambientali o gruppi di questi; le variabili di stato, cioè le variabili micro che caratterizzano le micro entità (ad esempio età, sesso, posizione sociale); infine, andrà resa esplicita la scala utilizzata nel modello, sia in termini di orizzonte temporale, sia in termini di estensione del mondo.
E’ importante non confondere le variabili di stato con quelle ausiliarie, cioè quelle variabili che contengono informazioni deducibili dalle variabili micro indicate sopra, e che andranno descritte per seconde. Queste ultime, al contrario, non possono essere dedotte da nulla, perché sono proprietà elementari delle entità.
Process Overview and scheduling
Per capire un ABM è necessario conoscere quali processi ambientali e individuali sono costruiti nel modello. In questa fase sarà sufficiente una descrizione verbale di ogni processo e dei suoi effetti per ottenere una panoramica concisa. Se il numero delle procedure fosse ingente, si può ricorrere a una tabella per migliorarne la leggibilità. Andrà inoltre esplicitata la successione di tali procedure (scheduling); in questa parte si consiglia il ricorso ad uno pseudo-codice, per ottenere lo scopo della prima sezione, cioè la replicabilità, da parte del lettore, dello scheletro del modello.
Design Concept
Grimm propone una lista di design concept che l’autore dovrebbe seguire nel costruire la sua simulazione. Per ogni concetto, egli dovrà descrivere in che modo questo sia presente nel modello. Non tutti i modelli utilizzano la totalità dei design concept, per cui andranno descritti solo quelli effettivamente presenti. Qui di seguito riportiamo la lista di Grimm (2006) aggiornata da Polhill (2010):
• Emergence: quali fenomeni effettivamente emergono dall’interazione tra agen-ti, e quali invece sono imposti dalla struttura del modello?
• Adaptation: quali comportamenti assunti dagli individui in risposta a cam-biamenti personali o dell’ambiente migliorano il raggiungimento dei loro obiet-tivi?
• Objectives: come si comportano gli agenti per aumentare il proprio successo nel raggiungimento dei propri obiettivi?
• Prediction: come stimano gli agenti le conseguenze future delle proprie deci-sioni?
• Sensing: quali sono le variabili di stato proprie e ambientali che gli individui percepiscono o considerano nelle loro decisioni di adattamento?
• Interaction: che tipo di interazione avviene tra gli agenti?
• Stochasticity: quale parte del modello è stocastica, e per quale ragione? • Collectives: Gli individui sono raggruppati in collettività?
• Observation: come sono raccolti i dati dalla simulazione per essere analizzati? • Learning: come cambiano le regole seguite dagli agenti alla luce della loro
esperienza e del successo nel proprio comportamento adattivo?
Initialization
Questa parte illustra come sono stati creati gli agenti e l’ambiente e se i loro valori inziali sono arbitrari o calibrati empiricamente; in questo caso sarà necessario fornirne la fonte.
Input
Le dinamiche di molti modelli ad agenti sono influenzate da condizioni am-bientali che cambiano nello spazio e nel tempo. Un tipico esempio è costituito dalle precipitazioni, che cambiano a seconda della stagione (tempo), o del luogo geografico. Tutte queste condizioni ambientali andranno inserite come input, cioè dinamiche imposte ad alcune variabili di stato. L’output del modello sarà deter-minato dagli input inseriti, la cui presenza, nella compilazione dell’O.D.D., diviene fondamentale per permettere la riproducibilità dello stesso.
Submodels
Qui, tutti i sottomodelli, rappresentati dai processi elencati in “Process overview and scales”, sono descritti in dettaglio, includendo i parametri del modello. La sezione può essere compilata in due modi, a seconda dello spazio a disposizione e della complessità del modello:
• descrivere lo scheletro matematico del modello, cioè le equazioni e regole utilizzate e più tabelle che illustrino i parametri e le misure inserite. Le spiegazioni verbali delle formule devono essere minime.
LA COMPLESSITÀ 61
• offrire una descrizione completa del modello, eventualmente riportando il codice.
Il primo metodo è preferibile in un articolo scientifico, dove lo spazio è ridotto. Se si vuole condividere il codice, opzione sempre consigliata per rispettare un criterio di trasparenza che dovrebbe sempre essere perseguito in ambito scientifico, si potrà indicare al lettore un apposito appendice online.
Il sistema tributario in un modello:
la proposta BoT
Il capitolo illustra il modello BoT (Burden of Taxation), nelle sue due forme: con equazione di consumo lineare (BoT-1) e con equazione di consumo non lineare (BoT-2). La presentazione del modello utilizzerà il protocollo O.D.D. (Overview, Design Concept, Details)1, aggiungendo alla prima parte le assunzioni di base utilizzate nel costruirlo.