Come utilizzare le dimostrazioni CDF
scaricad PedestrianAnticipatoryModel.cdf
scarica PedestrianAnticipatoryModel.nb (Mathematica notebook) – non ancora disponibile
Panoramica
In questa simulazione interattiva, creata con il software Wolfram Mathematica, viene riprodotto un modello previsionale per la dinamica di una folla di pedoni.
La simulazione può essere utilizzata interattivamente tramite il programma gratuito CDF Player (si veda la pagina “Come utilizzare le dimostrazioni CDF” per informazioni sull’installazione del CDF Player).
Il 26 Marzo 2015 la simulazione è stata accettata e pubblicata da Wolfram Demonstration Project (si veda questa pagina del sito).
È inoltre possibile visualizzare il seguente video dimostrativo di youtube per avere un’idea di cosa si può fare con la simulazione interattiva.
Il modello
Il modello matematico utilizzato in questa simulazione è basato sull’articolo:
A universal power law governing pedestrian interactions
di Ioannis Karamouzas, Brian Skinner, and Stephen J. Guy
pubblicato il 2 Dicembre 2014 nella rivista Physical Review Letters
L’articolo e qualche altro interessante materiale sono anche disponibili nel sito Applied Motion Lab, University of Minnesota.
Si possono anche consultare alcuni altri articoli divulgativi sulla ricerca, come questo o questo.
Il modello esposto nell’articolo si basa sul principio fondamentale secondo cui la forza di interazione tra due pedoni non dipende tanto dalla loro distanza spaziale (come avverrebbe ad esempio per una coppia di elettroni) ma piuttosto sul tempo previsto per la loro eventuale collisione. In questo senso i pedoni devono valutare e prevedere le loro reciproche posizioni future nei prossimi secondi e reagire (deviando il loro percorso) solamente nel caso in cui una collisione sia imminente.
Pertanto in questo modello i pedoni che si dovessero trovare a distanza ravvicinata l’uno dall’altro non saranno necessariamente soggetti a una forza repulsiva, a meno che le loro traiettorie non siano tali da produrre un imminente impatto. Questo rende possibile la formazione di gruppi di pedoni che camminano fianco a fianco come succede nel mondo reale.
Al contrario, pedoni destinati a una imminente collisione cercheranno di deviare la loro traiettoria o la loro velocità per evitare l’impatto.
Utilizzo
Al momento la simulazione presenta due diversi ambienti per l’analisi delle interazioni tra i pedoni: il cortile (courtyard) e la porta di uscita (exit door).
Nell’ambiente cortile i pedoni, che possono solo muoversi in un area chiusa di forma quadrata, hanno una posizione iniziale casuale e una velocità iniziale casuale (sia in direzione e verso che in modulo). Il loro successivo movimento sarà determinato dalle interazioni con gli altri pedoni e con le pareti, in accordo con la scelta di alcuni parametri descritti nella successiva sezione controlli.
Il ruolo principale di questo ambiente di simulazione è quello di valutare il possibile sviluppo di processi di sincronizzazione nel moto dei pedoni.
Nell’ambiente porta d’uscita i pedoni sono posizionati casualmente nella parte di sinistra di una sala rettangolare e cercano di guadagnare l’uscita attraverso una stretta apertura collocata al centro della parete di destra. Per far questo essi tendono a dirigersi verso un punto d’arrivo, in accordo con la scelta di alcuni parametri descritti nella successiva sezione controlli.
I pedoni che riescono ad uscire dalla sala sono poi ricreati lungo le pareti della sala in posizione casuale e con direzione della velocità casuale.
Il ruolo principale di questo ambiente di simulazione è quello di confrontare l’efficacia (tasso di uscita) di diversi stili di accodamento e di visualizzare le diverse dinamiche di moto collettivo che nascono nelle situazioni di denso affollamento che si creano di fronte alla porta d’uscita.
In entrambi gli ambienti di simulazione i pedoni tendono a ristabilire, dopo ogni interazione, la loro velocità iniziale (in modulo).
Infatti, dato che la forza di interazione tra i pedoni dipende essenzialmente dal tempo (tempo previsto che li separa da un prossima eventuale collisione), questa forza non è conservativa e, senza un’azione correttiva, l’energia non sarebbe conservata.
Ciò significa che, senza un ristabilimento delle velocità i pedoni tenderebbero progressivamente a rallentare e a perdere progressivamente la loro iniziale energia cinetica. Nel modello matematico è quindi stata introdotta una forza aggiuntiva di ristabilimento della velocità, necessaria per mantener viva la dinamica pedonale.
Controlli:
Le informazioni principali sull’uso e sul significato dei controlli sono visualizzate (in inglese) quando si posiziona il mouse in prossimità delle etichette dei controlli stessi.
Controlli generali:
dt: intervallo di tempo utilizzato dall’integratore discreto; valori più alti di questo parametro rendono la simulazione più veloce ma anche meno precisa.
initial speed variance (varianza del modulo della velocità iniziale): l’intervallo per i moduli delle velocità iniziali (generate casualmente con una distribuzione uniforme) è moltiplicato per il modulo della velocità media iniziale.
walls damping coeff. (coefficiente di smorzamento per le pareti): se questo coefficiente è impostato a 0 l’interazione tra i pedoni e le pareti sarà quello di una forza perfettamente elastica. Valori più elevati di questo coefficiente corrispondono alla presenza di una forza di attrito che si somma alla forza elastica. Tale forza di attrito riduce l’effetto di rimbalzo elastico contro le pareti e, oltre ad essere più realistica nel riprodurre situazioni reali, può anche creare effetti di sincronizzazione e di raggruppamento tra i pedoni potenzialmente interessanti.
anticipatory force strength (intensità della forza predittiva di interazione tra i pedoni): coefficiente moltiplicativo per l’intensità della forza di interazione tra i pedoni.
Controlli specifici all’ambiente “cortile”:
free direction (direzione libera): con questa opzione i pedoni non hanno una direzione predefinita privilegiata e seguiranno liberamente la direzione risultante dalla forza di interazione.
initial (0) or xy (1) direction (direzione iniziale (0) o xy (1): coefficiente per cambiare o modulare il comportamento dei pedoni da una direzione privilegiata dipendente dalla sola velocità iniziale (0) a una direzione privilegiata orientata lungo le direzioni orizzontale/verticale (1). Nel primo caso, per permettere un rimbalzo “naturale” gli angoli privilegiati per il vettore velocità al tempo t saranno , dove è l’angolo del vettore velocità iniziale.
Controlli specifici all’ambiente “porta d’uscita”:
british queuing (coda all’inglese): coefficiente usato per spostare all’indietro, rispetto al varco di uscita, il punto “obiettivo” verso cui i pedoni orientano la loro velocità, anche in funzione della loro attuale posizione, in modo da consentire la formazione di una coda più ordinata nello stile britannico. Comunque, quando i pedoni avranno raggiunto il corridoio immaginario della linea di coda ideale, orienteranno la loro velocità verso la porta di uscita.
Indicatori:
energy (energia): dato che la forza di interazione tra i pedoni dipende essenzialmente dal tempo (tempo previsto che li separa da un prossima eventuale collisione), e non è una forza conservativa la dinamica libera di questo modello produrrebbe una progressiva perdita di energia cinetica (assorbita nelle interazioni tra le particelle). Nel modello matematico è quindi stata introdotta una forza aggiuntiva di ristabilimento della velocità, necessaria per mantener la dinamica pedonale. La differenza tra l’energia cinetica della condizione iniziale (al tempo t=0) e l’energia cinetica al tempo t rappresenta la quota di energia correntemente assorbita nelle interazioni tra i pedoni.
colori delle particelle: le particelle di colore rosso sono quelle con velocità iniziale (e preferenziale) più elevata. Le altre tonalità intermedie (dall’arancione al giallo al verde all’azzurro al blu) rappresentano particelle con velocità decrescenti. Le particelle blu sono quindi quelle più lente.
clusters: se questa opzione è attivata verranno mostrati i cluster di pedoni in forma di cerchi grigi tratteggiati in cui lo spessore e l’opacità è proporzionale alla numerosità dei membri del cluster. I clusters sono calcolati mediante la funzione di Mathematica “FindClusters”.
sync index (indice di sincronizzazione, mostrato solo nell’ambiente “cortile”): è una misura del livello di sincronizzazione nel movimento dei pedoni. È elevato (sopra il 40/50%) quando le particelle tendono a muoversi con un moto circolare omogeneo attorno al centro di massa del sistema. Il valore massimo teorico del 100% corrisponderebbe alla situazione in cui tutte le particelle si muovessero di moto circolare con lo stesso verso orario (colore rosso) o antiorario (colore blu) attorno al centro di massa del sistema.
exits rate (tasso di uscita, mostrato solo nell’ambiente “porta di uscita“): numero di particelle uscite/tempo. Il tempo è calcolato a partire dall’istante della prima uscita .
Note:
Processo di sincronizzazione (nell’ambiente “cortile“)
La sincronizzazione nel moto dei pedoni deriva essenzialmente dal fatto che la forza repulsiva previsionale non ha praticamente alcun effetto quando le persone camminano fianco a fianco ma ha invece i suoi maggiori effetti nel caso si prevedano imminenti collisioni. Questo implica che gruppi di pedoni con velocità parallele potranno procedere indisturbati e avranno quindi una maggiore probabilità di formarsi e stabilizzarsi.
La sincronizzazione del flusso pedonale deriva essenzialmente dal fatto che la forza repulsiva previsionale non ha praticamente alcun effetto quando le persone camminano fianco a fianco ma ha invece i suoi maggiori effetti nel caso si prevedano imminenti collisioni. Questo implica che gruppi di pedoni con velocità parallele potranno procedere indisturbati mentre gruppi di pedoni in rotta di collisione tra loro saranno soggetti a forti interazioni che tenderanno a rompere le correlazioni di movimento tra i membri dei gruppi collidenti.
Il processo evolutivo darà quindi ai gruppi più coordinati una maggiore probabilità di sopravvivenza e stabilizzazione.
Il processo di sincronizzazione avviene solitamente attraverso le seguenti fasi:
1) nella prima fase si formano gruppi poco numerosi di pedoni con direzioni di movimento simili. Qualcuno di questi gruppi può crescere in numerosità interagendo con altri singoli pedoni “randagi” e costringendoli a seguire lo stesso tipo di movimento.
2) può quindi accadere che si creino 2 o 3 grandi gruppi principali aventi, tra loro, direzioni di movimento disomogenee. Ci saranno allora scontri e battaglie epiche in cui ogni grande gruppo cercherà di far prevalere la propria direzione di moto.
3) I “vincitori” formeranno quindi un gruppo gigante di pedoni conformisti che tenderanno a ruotare attorno al centro di massa con un moto circolare omogeneo di verso orario o antiorario. Se questo accade l’indice di sincronizzazzione (sync index) potrà raggiungere un valore molto elevato (superiore al 50%).
… ma la storia non finisce qui…
Qualche pedone ribelle può separarsi dal flusso principale della folla e stringere alleanza con qualche altro eccentrico pedone vagante. Contemporaneamente può accadere che nella folla maggioritaria, giunta nei pressi di uno degli angoli del cortile, si creino addensamenti critici e che il maggior livello di interazione (tra i pedoni e tra questi e le pareti) produca una tale confusione da mettere a serio rischio il precedente stato di pacifica coesistenza in un placido flusso circolare. L’indice di sincronizzazione scenderà rapidamente fino a quando si possa ristabilire un certo nuovo stato d’ordine.
Ma, anche se la circostanza è piuttosto improbabile, tali fluttuazioni dall’equilibrio possono anche determinare, in un tempo futuro e lontano, un completo rovesciamento dell’ordine stabilito (con, ad esempio, un cambio di verso del moto circolare) causato dall’azione combinata di qualche ardito gruppo di ribelli che si lancia contro la massa pedonale e favorito dalle tensioni interne alla maggioranza che si producono negli angoli del cortile.
Stili di accodamento (nell’ambiente “porta d’uscita“)
Con lo stile britannico di accodamento alcune persone che raggiungono la soglia della porta d’uscita ma che vengono poi sospinte lateralmente dalla sopravvenienza di altri pedoni tenteranno di riaccodarsi in una posizione più arretrata. Questo meccanismo produce un interessante moto di riflusso che ricorda il processo di formazione di vortici descritto della fluidodinamica.
Se invece lo stile di accodamento è di tipo “disordinato” (all’italiana), i pedoni tendono ad affollarsi di fronte alla porta di uscita innalzando il livello di interazione. Questo normalmente produce una maggiore dispersione nelle direzioni delle velocità, una maggiore difficoltà dei pedoni ad imboccare la porta di uscita e un tasso di uscita inferiore.
Una caratteristica inattesa che si può osservare in questa situazione è la lenta oscillazione in direzione verticale, lungo la parete di destra, della massa pedonale assiepata di fronte alla porta di uscita.
Crediti
1) La principale ispirazione per la creazione di questa simulazione è il libro:
Steven Strogatz, Sync – The Emerging Science of Spontaneous Order, Penguin Books, 2004
Traduzione italiana:
Steven Strogatz, Sincronia. I ritmi della natura, i nostri ritmi, Rizzoli, 2003
È uno dei più interessanti e intriganti testi scientifici (a livello divulgativo) che ho letto negli ultimi anni (e non vedo l’ora di affrontare la prossima lettura di Nonlinear Dynamics and Chaos dello stesso autore, già presente nella coda di attesa del mio scaffale). Tra l’altro, se ricordo bene, ho saputo dell’articolo “A universal power law governing pedestrian interactions” da un twit di Steven.
2) Il cuore principale del notebook di Mathematica da cui è stata esportata questa simulazione in CDF è un integratore a tempo discreto realizzato tramite una funzione compilata altamente ottimizzata.
Senza questa funzione compilata la simulazione della dinamica del sistema di pedoni sarebbe stata molto più lenta e praticamente inutilizzabile in modalità interattiva (cosa comprensibile se si considera che, ad esempio, per 80 particelle/pedoni ci potrebbero essere fino a 802=6400 interazioni e che ciascuna di queste deve essere ricalcolata per ogni minuscolo intervallo temporale dell’integratore).
L’integratore che ho utilizzato è stato costruito a partire da uno simile utilizzato in una dimostrazione pubblicata nel sito Wolfram Demonstration Project (Approach of a System of Particles towards Thermal Equilibrium), realizzata da Ulrich Mutze e Stephan Leibbrandt.
Grazie Ulrich e Stephan!
Autore: Luca Moroni – Febbraio 2015