• Non ci sono risultati.

Rappresentare la complessità dei fenomeni sociali: i modelli di simulazione basati su

3.1 La simulazione basata su agenti come approccio di ri cerca

3.1.3 Logica, struttura e dettagli di un metodo

La logica degli ABM

L’elemento che caratterizza gli ABM, li distingue da altri metodi di simulazione e ne guida la logica di costruzione e di sviluppo è la già citata dinamica ‘dal micro al macro’ nella generazione degli effetti osservabili a livello globale.

Quando ci si dispone a creare un ABM ci si dedica innanzi tutto alla definizione del fenomeno sociale di interesse che è il target della simulazione. Definizione del target significa individuazione dei confini e dei componenti del sistema che ap-

pare condizionarne il comportamento. L’obiettivo della simulazione è creare un modello del target che sia, ovviamente, più semplice ma sufficientemente somi- gliante all’originale da consentire che i risultati delle osservazioni compiute su di esso possano ragionevolmente ritenersi validi anche per il target stesso (Gilbert

et al. 2001).

prietà e conformazioni cambiano nel tempo. I modelli (concettuali e operativi) che si utilizzano per lo studio di queste entità devono quindi essere altrettanto dinamici. Si consideri in questo senso il confronto tra ABM e modelli statistici OLS (Ordinary Least Suqares) sulla base delle logiche sottese all’esercizio di mo- dellizzazione, figura 5.

Figura 6. La logica sottesa agli esercizi di modellizzazione (adattamento da Gilbert, 2005)

Si individuano caratteristiche simili in entrambi i modelli:

- un processo di astrazione che consente di isolare le componenti rilevanti per l’ipotesi esplicativa contenuta nel modello;

- il momento della raccolta dati che consente di descrivere la situazione reale del processo (target) che si vuole studiare;

- il processo di generazione dei dati che in un caso è la stima dei parametri e nell’altro l’esecuzione del software di simulazione;

- il confronto tra i dati stimati/simulati con i dati reali per avere un’idea della bontà del modello realizzato.

Sotto quasi tutti gli aspetti la logica è la stessa, al netto del metodo di generazione dei dati: stima Vs simulazione. La differenza è però di grande portata nell’ottica di spiegazione dei fenomeni sociali.

I modelli statistici si concentrano sulle correlazioni tra le variabili del fenomeno sociale misurate a livello di sistema globale (macro) in un preciso momento e procedono quindi ad applicare i parametri stimati per produrre i dati relativi al comportamento futuro del sistema. I modelli ABM si focalizzano sui processi micro (interazioni tra gli agenti individuali) che secondo le teorie interpretative applicate si ritiene siano all’origine del fenomeno. Incorporano a quel livello gli aspetti dinamici che produrranno nel tempo i dati a livello macro, disegnando così con approccio bottom-up le traiettorie evolutive del sistema.

Gli elementi costitutivi degli ABM

Un ABM è composto da numerosi, a volte numerosissimi, elementi combinati tra loro che si riconducono però a tre categorie: agenti, ambiente e regole (Epstein 1996).

Gli agenti sono i componenti elementari delle società artificiali. Ognuno di essi

è dotato di stati interni (di proprietà o attributi che lo definiscono rispetto agli altri) e di regole di comportamento. Alcuni degli attributi sono fissi (sesso) altri si modificano lungo il corso della vita (ricchezza, età...) attraverso le interazioni con gli altri agenti e con l’ambiente, interazioni che avvengono sulla base di regole prestabilite ma passibili di evoluzione;

L’ambiente è il contesto di azione degli agenti all’interno del quale gli agenti agisco-

no e interagiscono. Può essere un riferimento geofisico oppure una struttura più astratta quale una rete di comunicazione, un setting istituzionale. Quale che sia la sua implementazione, l’importante è che l’ambiente sia chiaramente specificato come elemento nettamente separato dagli agenti con cui questi interagiscono. Le regole di comportamento esistono sia per gli agenti che per l’ambiente, ov-

vero per le proprietà e le specificazioni geografiche che lo declinano all’interno dell’ABM (i.e. aree delimitate dello spazio). Le regole possono essere molto sem- plici (automa cellulari) o avere un elevato livello di elaborazione. In ogni caso sono le istruzioni che governano l’azione e l’interazione degli agenti e posso- no essere regole agente-ambiente, ambiente-ambiente o agente-agente a seconda degli

elementi coinvolti nell’interazione. Sono attributi propri degli agenti e possono evolvere attraverso meccanismi di apprendimento.

Questi elementi possono essere utilmente rappresentati in una struttura a strati, da intendersi come modello concettuale e guida all’implementazione informatica, figura 6.

Nello schema sono rappresentati i tre componenti fondamentali di un ABM e i rapporti che intercorrono tra loro. Lo schema è stato concepito ad un livello di astrazione tale da esser applicabile a qualsiasi contesto di simulazione ma si può facilmente declinare nello specifico della modellizzazione di fenomeni sociali. Leggendo da destra verso sinistra, in ordine decrescente di astrazione, si trovano:

- i generatori di regole, che rappresentano l’intreccio dei fattori (culturali, nor- mativi, contingenti) che producono un determinato orientamento di con- dotta (o pratica sociale);

- i gestori di regole, che attribuiscono agli agenti le regole definite dal gene- ratore in base ad algoritmi di assegnazione che possono essere casuali o ricercare coerenza tra regole e caratteri specifici degli agenti (es. strategie di ricerca di un posto di lavoro non verrebbero assegnate ad un pensionato); - gli agenti, che vengono definiti nelle loro proprietà fondamentali e in base a

queste ricevono le regole dal gestore;

- l’ambiente, che rappresenta il contesto (fisico o sociale) in cui gli agenti ven- gono collocati in specifiche posizioni che influenzeranno le loro modalità di azione e interazione.

Nello specifico di figura 6, il generatore di regole ‘A’ definisce dei patterns com- portamentali che sarà poi cura dei gestori di regole ‘a’ e ‘b’ attribuire sulla base della diversa considerazione di alcuni fattori (caratteristiche proprie degli agenti, causalità...) ai diversi agenti di tipo 1 e 2.

Merita soffermarsi sugli agenti, elementi cruciali per rendere la simulazione un efficace strumento di rappresentazione della complessità dei sistemi sociali. A stretto rigore se definiamo un agente come un ente in grado di compiere un’a- zione, tutti gli elementi riportati nello schema ERA sono dotati di tale possibilità e quindi possono essere definiti come agenti. Sarà quindi un agente, l’individuo che cerca lavoro o l’impresa che decide l’investimento ma sarà un agente anche la locazione spaziale che li ospita dotata della possibilità di incrementare le infra- strutture che la caratterizzano oppure l’ambiente nel suo insieme nel momento in cui cambia il valore di una delle variabili di contesto in cui gli altri agenti operano. Una distinzione però è necessaria, per esigenze di chiarezza concettuale e imple- mentativa, ed è possibile considerando una definizione più restrittiva di agente come un ente definito da tre caratteristiche (Gilbert e Terna 2001): agency che è il

grado di autonomia dell’agente misurata nei termini della natura dell’interazione con gli altri; mobilità che è la possibilità di decidere come e quando muoversi sulla

rete o nello spazio a disposizione; intelligenza che è la capacità di apprendere e

elaborare informazioni.

Intelligenza significa che ogni ABM contempla per i propri agenti una dotazione

di capacità cognitive, più o meno consistente a seconda delle esigenze di model- lizzazione. Gli agenti cioè hanno una mente pensante nel senso che hanno capacità

di apprendimento e di adattamento, ovvero esercitano meccanismi decisionali di scel-

ta basati sull’elaborazione di informazione. Questa informazione può proveni- re dall’esperienza passata, dalle proprie capacità percettive, dall’interazione con gli altri agenti e con l’ambiente. La dotazione di intelligenza va dalla semplicità

estrema di un’azione informata a paradigmi comportamentisti stimolo-reazione fino alla rappresentazione di agenti cognitivi complessi in cui la scelta scaturisce dall’incrocio di elementi culturali pregressi, desideri contingenti e intenzioni ra- zionali (BDI - Beliefs, Desires , Intentions) (Balke et al. 2014).

L’intelligenza degli agenti è fondamentale per la costruzione di simulazioni sociali

che abbiano la pretesa di rappresentare dinamiche complesse. Tali dinamiche, infatti, dipendono dalle interazioni tra gli agenti e sono legate alle loro dotazioni cognitive. La capacità interazionale di un agente, infatti, si misura sulla capacità “...di includere gli agenti con cui interagisce e il contesto sociale in cui è immer- so in qualità di proprietà strutturali grazie alle quali l’azione sociale è elaborata” (Terna et al. 2006).

Il ciclo di modellizzazione

Scegliere un approccio di modellizzazione per lo studio dei fenomeni sociali significa intraprendere un percorso creativo e disciplinato ad un tempo.

Se questi sono caratteri distintivi dell’indagine scientifica in generale, nel ristretto contesto della modellizzazione questi due caratteri dell’attività di ri- cerca vanno alimentati e considerati entrambi, pena la costruzione di modelli che non spiegano e non illustrano nulla, per poca creatività o per sciagurata realizzazione pratica.

La parte creativa consiste nella fantasia e immaginazione necessarie per indi-

viduare le caratteristiche che si ritiene utile candidare a elementi esplicativi del fenomeno indagato (il target). Le caratteristiche vanno intese come proprietà,

comportamenti e interazioni che nel loro insieme rappresentano il sistema e non, come in altri contesti metodologici, le variabili che ne descrivono alcuni aspetti isolatamente.

La disciplina consiste nella quanto più possibile ordinata esecuzione dei passi

necessari per passare dall’idea alla sua realizzazione pratica, con l’attenzione rivolta a bilanciare l’esigenza di rappresentare l’eterogeneità del mondo con la necessità di semplificarne la rappresentazione per renderla una praticabile ipotesi di modello.

Una ricerca sociale basata sullo sviluppo di un modello si risolve essenzialmen- te in tre fasi (Gilbert et al. 2005):

1. La progettazione del modello, che consiste nel decidere, rispetto al target quali elementi considerare e quali elementi escludere dalla nostra simu- lazione. Il punto è cruciale perché il rischio è di ricadere negli estremi di un modello molto dettagliato oppure eccessivamente semplificato. Nel

primo caso, la specificazione di modelli eccessivamente particolareggiati con una gran quantità di dati utilizzati per la riproduzione in scala il più possibile reale del mondo può creare seri problemi in fase di verifica e validazione e aggiungere poco alla conoscenza del fenomeno oggetto di indagine. All’altro estremo, si rischia la costruzione di mondi artifi- ciali e slegati dalla realtà in cui le interazioni e i comportamenti non pos- sono essere plausibilmente ricondotti ad agenti sociali. Non esistono regole precise di scelta del grado di dettaglio se non la ragionevolezza applicata a queste considerazioni, in massima parte legata all’esperienza del modellista, ma anche al suo background di ricerca e, non ultimo e

unico elemento oggettivo, dalla quantità di dati disponibile. 2. La costruzione del modello, che implica due fasi:

la formalizzazione delle proprietà e delle regole degli agenti e

del sistema, ovvero il passaggio dalla narrativa con cui si descrive il funziona-

mento del modello, alla sua formulazione matematica che prevede: identifi- cazione delle variabili che descrivono gli agenti e l’ambiente; identificazione dei parametri per l’inizializzazione della simulazione; individuazione delle equazioni comportamentali degli agenti;

lo sviluppo di codice informatico ricorrendo ad uno dei linguaggi per la modelliz-

zazione che sono stati predisposti negli ultimi vent’anni anni per facilitare la scrittura dei programmi. Sebbene la comunità dei modellisti abbia cercato di abbassare il livello di accesso alla programmazione degli ABM, delle minime competenze sono comunque necessarie, proprio perché la specificità di ogni modello rispetto alle domande di ricerca e alla teoria che si vuole testare in risposta a queste domande non lascia spazio alla standardizzazione del pro- cesso implementativo.

3. La verifica e validazione del modello ovvero:

• il controllo sul corretto funzionamento del codice e sulla sua corrisponden- za con la formalizzazione matematica del modello (verifica)

• il confronto tra dati simulati e dati osservati ove possibile e richiesto dalle finalità della ricerca (validazione)

Le fasi del processo di modellizzazione vera e propria possono poi essere, in coerenza con questi tre blocchi di attività, utilmente dettagliate e poste all’in- terno di un flusso circolare e iterativo di costruzione incrementale del modello (Grimm 2012).

Figura 8. Il ciclo di modellizzazione

L’idea è convincente nella misura in cui restituisce il profilo iterativo del proces- so di ricerca che è fatto di fasi di avanzamento e di feedback, di riformulazioni della domanda iniziale e di revisioni nella specificazione di ipotesi.

Questi i singoli tasks del processo:

1. Formulare la domanda, che deve essere chiara per quanto possibile in quanto

condiziona le scelte successive;

2. Assemblare le ipotesi di spiegazione, ovvero individuare quali sono gli elementi

esplicativi (processi, proprietà degli agenti e strutture) che ricombi- nandosi danno forma a meccanismi che riteniamo abbiano influenza nella spiegazione del fenomeno aggregato. In questa fase è buona norma iniziare lo sviluppo dal più semplice modello plausibile che si riesce a individuare. Nelle successive iterazioni del ciclo ci sarà modo di emendare il disegno aggiungen- do dettagli, scendendo di livello o integrando processi temporaneamente esclusi; 3. Scelta della struttura del modello che è il primo momento dell’effettiva formaliz-

zazione in cui vengono decisi:

• le entità, ovvero quali elementi/agenti includere;

• le variabili di stato, ovvero di quali attributi descrittivi dotare gli agenti per renderli individui distinti,

• i processi, ovvero le regole di comportamento degli agenti e dell’am- biente e le modalità di interazione;

• le scale, ovvero come rappresentare il mondo in senso spazio-temporale; • i parametri, ovvero quelle specificazioni globali di valori che entrano nei

e produrre risultati (es. tasso di interesse);

4. Implementazione del modello che è la parte più tecnica in cui si formalizza il modello e le sue specificazioni utilizzando i linguaggi della mate- matica e si procede alla sua implementazione in codice informatico (verificato ed ] validato);

5. Analisi del modello, ovvero la fase, la più impegnativa, di analisi e considerazione dei risultati alla ricerca di risposte alla domanda inziale; 6. Comunicazione dei risultati, che non implica la chiusura del ciclo ma può essere

uno step intermedio per la restituzione di quanto si è fatto sino ad un certo mo-

mento dello sviluppo del lavoro.

Qualora i risultati non fossero significativi o soddisfacenti, o anche nel caso lo fossero ma le ipotesi implementate siano ulteriormente specificabili, il ciclo può riavviarsi. È bene sottolineare come il loop non vada inteso come

ordinata successione di stadi, bensì come la possibilità, su traiettorie anche più brevi (i.e. dall’analisi alla scelta della struttura) di reiterare parti del processo di modellizzazione.

Il punto cruciale e più controverso dell’intero processo su cui maggiormente insistono i critici sono le operazioni di verifica e validazione del modello, ovvero il

corretto funzionamento del codice sviluppato e il confronto degli output simu- lati con le corrispondenti misure rilevate nel mondo reale.

La verifica è un’operazione di debugging cui dedicare l’accuratezza dovuta allo

sviluppo di qualsiasi codice informatico. Bisogna innanzi tutto controllare la presenza di errori in runtime, è necessario cioè testare il codice affinché, pur

sintatticamente corretto, non si blocchi durante l’esecuzione a causa di contraddizioni nella logica di implementazione (es. elaborazione di una va- riabile non ancora inizializzata o valorizzata con tipi di dati che non consento- no determinate operazioni). Se il codice si esegue senza interruzioni (non crasha)

si può passare a considerare un aspetto anche più rilevante ai fini della significatività del modello in costruzione: verificare che i processi simulati corrispondano alle intenzioni del modellista, ovvero che gli agenti si comporti- no come previsto dalle ipotesi di modellizzazione e producano risultati coerenti. La validazione è la prova della validità del modello implementato, qualora il mo-

dello sia stato sviluppato con obiettivi di spiegazione di fenomeni reali (modello esplicativo). In questo caso, infatti, solo la corrispondenza tra i dati simulati

e quelli reali (o quantomeno tra le distribuzioni dei due set di dati) è la condizione imprescindibile per affermare la correttezza delle ipotesi esplicative e dei meccanismi simulati nel modello.

Nel processo di validazione è bene tenere a mente alcuni elementi che possono pregiudicarne il buon esito (Gilbert e Troitzsch 2005):

- i processi simulati e quelli reali sono stocastici, dipendono q u i n d i da una componente casuale che impedisce in ogni caso una perfetta corrispondenza e il problema in questo caso è l’individuazione di qua- le distribuzione stocastica si può ragionevolmente ritenere implicata nella generazione dei risultati. Se quella reale può essere conosciuta è difficile immaginare quella simulata.

- I processi simulati sono path-dependent cioè strettamente vincolati allo stato iniziale per cui i risultati risultano fortemente influenzati dall’inizia- lizzazione del modello.

- I risultati simulati possono riprodurre quelli reali ma questo non as- sicura che non vi siano aspetti del fenomeno target che il modello

non riesce a intercettare. Ciò significa che siamo in presenza di una corrispondenza casuale, che si perderebbe quando usassimo lo stesso modello per simulare lo stesso fenomeno ma in un altro contesto spa- zio-temporale.

- Un’imprecisa attività di verifica del codice può interferire pesantemente con l’attività di validazione del modello. I risultati prodotti possono es-

sere attribuiti a ipotesi esplicative errate quando invece l’errore sta nella loro traduzione nel linguaggio di programmazione.

Una volta terminata la fase di costruzione del modello e dopo aver prov- veduto alla sua verifica e validazione, si può avviare la fase dell’analisi.

Questa consiste principalmente in un’analisi di sensitività, ovvero nel considerare le variazioni degli output del modello in risposta a variazioni di alcune condizioni di funzionamento che in genere sono: i parametri

o le variabili globali che, in base ai presupposti teorici che hanno guidato la

costruzione del modello, si ritiene abbiano influenza sui comportamenti degli agenti (es. effetti variazione tasso di interesse su occupazione); le condizioni ini- ziali (effetti dell’età media della popolazione sul livello di consumo, effetti della

residenza sulla struttura delle reti).

La robustezza del modello può essere messa in dubbio qualora i risultati si mostrassero eccessivamente sensibili a variazioni insignificanti dei pa- rametri. In tale evenienza bisognerebbe infatti procedere ad una profonda revisione del modello prima di considerare l’ipotesi di essere di fronte ad effetti soglia.

Se il modello si mostra robusto, invece, l’analisi di sensitività consente di te- stare la validità delle assunzioni fatte al momento della progettazione. Ciò significa esplorare in ottica sperimentale i comportamenti del sistema simulato in presenza di cambiamenti delle variabili e dei parametri in cui quelle assunzioni sono state operazionalizzate.

Terminate le analisi, il ciclo si chiude con la pubblicazione dei risultati che per

la poca standardizzazione della metodologia non è una ‘banale’ questione di comunicazione ma investe la riconoscibilità scientifica stessa dell’impiego degli ABM.

Non esistono ancora, infatti, degli strumenti ben consolidati di comunicazione dei risultati e della struttura dei modelli ABM e nella comunità dei mo- dellisti sembra ancora regnare l’anarchia. È un problema che in parte si sta cercando di risolvere con la creazione di standard per la descrizione del mo- dello. Un protocollo che possa garantire, se non la riproducibilità, quanto meno la comprensione delle dinamiche simulate e il confronto tra modelli pensati, formalizzati e implementati in maniera diversa.

3.2 La modellizzazione ad agenti nella tradizione di ricerca