PHYSARUM POLYCEPHALUM: UN ALGORITMO NATURALE PER

Transcript

PHYSARUM POLYCEPHALUM: UN ALGORITMO NATURALE PER
FACOLTÀ DI SCIENZE
MATEMATICHE FISICHE E NATURALI
Corso di Econosica
PHYSARUM POLYCEPHALUM:
UN ALGORITMO NATURALE PER LA
PROGETTAZIONE A BASSO COSTO DELLE
RETI DI TRASPORTO DI UNA CITTÀ
Gabriele D'Acunto
Anno Accademico 2015/2016
Indice
1 Physarum Polycephalum
5
2 Simulazione
7
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Modello matematico . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Com'è nato questo ABM ? . .
2.2 Il Modello . . . . . . . . . . .
2.2.1 Denizioni . . . . . . .
2.2.2 Setup . . . . . . . . .
2.2.3 Go . . . . . . . . . . .
2.3 Analisi dei risultati . . . . . .
2.4 Conclusione e Futuri sviluppi
3 Bibliograa
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
7
9
9
10
13
17
18
21
1 Physarum Polycephalum
1.1
Introduzione
Organismo unicellulare costituito da innumerovoli nuclei coordinati tra loro, la
P hysarum P olycephalum è una mua mucillaginosa dal colore giallastro che prospera in ambienti freschi ed umidi e che si nutre di spore e batteri.
Sebbene non possegga un sistema nervoso, la P hysarum P. mostra interessanti comportamenti, oggetto di studi di recenti ricerche. Infatti, come riportato da un esperimento condotto dai ricercatori T. Nakagaki, H. Yamada e A. Toth, tale mua, dopo
essere stata posizionata in un labirinto alle cui uscite era stata posta dell'avena (di
cui la P hysarum P. è ghiotta), ha dimostrato la capacità di ricostruire il tragitto
più breve congiungente le due fonti di cibo.
Pur variando la complessità del labirinto, la mua ha saputo individuare il percorso
risolutivo ottimale.
Figura 1: Labirinto risolto dalla P hysarumP.
1.2
Modello matematico
A partire da tali studi, A. Tero, R. Kobayashi e T. Nakagaki proposero un modello
matematico per descrivere tale comportamento. Essi schematizzarono la testé citata mua come un rete di tubi attraversata da un uido soddisfacente l'assunzione
standard di P oiseuille della uidodinamica. Quest'ultima è dovuta al fatto che esso,
essendo caratterizzato da un basso numero di Reynolds, si trova in regime laminare.
La P hysarum P. è dunque rappresentata da un grafo G(N, E) in cui:
• Ni∈(1,...,N ) ∈ N rappresentano i nodi (nuclei della mua e fonti di cibo stesso);
• ei,j∈(1,...,N ) ∈ E rappresentano i capillari;
5
Considerando ora i nodi Ni e Nj , indichiamo con Dij (t) e Lij rispettivamente la
conduttività e la lunghezza del capillare congiungente i nodi.
Da qui segue che:
Rij (t) =
Lij
Dij (t)
(1)
è la resistenza del singolo lamento.
Supponendo che ogni nodo abbia pressione pi (t), in approssimazione di P oiseuille
la quantità di usso attraverso un capillare, che descriverà la dinamica di contrazione
ed espansione del lamento stesso, sarà:
Qij (t) =
(pi (t) − pj (t))
.
Rij (t)
(2)
Imponendo ora la conservazione del usso, avremo:
 P
−1

 Pi Rij (pi − pj ) + I = 0 per j = 1
−1
i Rij (pi − pj ) − I = 0 per j = 2

P

−1
per j =
6 1, 2
i Rij (pi − pj ) = 0
(3)
dove N1 e N2 indicano i pezzi di avena tra cui la mua si autorganizzerà. Inne,
la dinamica della conduttività Dij (t) nel tempo sarà:
D˙ij (t) = f (|Qij (t)|) + Dij(t)
(4)
dove f è una funzione crescente con f (0) = 0.
1.3
Obiettivi
Questo progetto ha come target quello di simulare tramite NetLogo il comportamento della P hysarum P. come processo di autorganizzazione. L'assunzione fondamentale è dunque la stessa che portò A. Turing nel 1952 a sviluppare tale tipo
di processo, ovvero l'idea che l'ordine individuale possa causare l'ordine globale. In
particolare, quest'ultimo scaturisce dalla mutua interazione delle parti, tramite ad
esempio processi di cooperazione e competizione.
Uno dei campi in cui i processi alla T uring trovano impiego è la morfogenesi. Tramite essi, ad esempio, è possibile spiegare (e simulare) fenomeni come la formazione
di macchie negli animali oppure delle sinapsi che si dipartono dagli occhi per poi arrivare al cervello. Nel caso specico della P hysarum P., le singole parti (gli agenti)
saranno i nuclei della testé citata mua. Rispettando la semplice conservazione del
usso Qij , essi faranno emergere la disposizione nale dell'organismo che risulterà
essere una rete congiungente in maniera ottimale i pezzi d'avena. Taluni, come intuito da A. Tero, R. Kobayashi e T. Nakagaki, potrebbero essere l'equivalente dei
punti di una città che si vogliono connettere attraverso una rete di trasporti.
6
2 Simulazione
2.1
Com'è nato questo
ABM
?
Il processo di maturazione, che mi ha portato alla realizzazione del modello che sarà
esposto nel paragrafo successivo, si compone di tre steps.
Nella sua forma iniziale, fu pensato senza agenti. Sia la Physarum P. che i pezzi di
avena erano rappresentati da patches. Ad ogni componente della mua, occupante
l'intero mondo (chiuso), era assegnata una variabile energia la cui variazione era determinata da un processo di competizione tra patches stesse. Assegnato ad ognuna
un receptive eld, esse erano "eccitate" dalle connessioni con le patches in cui si era
vericato il passaggio di nutrienti ed inibite dalla degradazione dovuta al trascorrere
del tempo (nel caso di mancato approvvigionamento).
Successivamente, viste le dicoltà emerse nell'ottenere una rappresentazione graca del comportamento della Physarum P. soddisfacente, iniziai a sviluppare un
secondo modello alquanto dierente. In esso entrarono in gioco due specie di agenti
rappresentanti:
• il fronte dei capillari: tali agenti permettevano di simulare l'espansione spaziale
della mua in cerca di cibo;
• i nutrienti: collocati sulle patches rappresentanti l'avena, il loro usso era azio-
nato dal passaggio del fronte di capillari, rappresentante il fatto che la mua
aveva individuato la fonte di cibo e poteva dar via alla fase di consolidamento.
Figura 2: Secondo Modello: avena in rosso, sostanze nutritive in blu, fronte di capillari in
giallo.
L'idea alla base di questo secondo modello era la seguente: simulare la dinamica
dei nutrienti utilizzando i risultati ottenuti dallo studio di un Ant Colony. A fermarmi, in questo caso, è stata la realizzazione del meccanismo di ritorno dei nutrienti
ai pezzi di avena originari. In particolare, poiché sarebbe stato poco realistico permettere alle sostanze nutritive di distinguere fonti di cibo uguali tra loro, gli agenti
risultavano confusi in caso di vicinanza di esse e dunque incapaci di creare un cammino ottimo.
7
Pur non avendo proseguito nello sviluppo dei due precedenti ABM, resto convinto
del fatto che, con opportune modiche, si possa riuscire a simulare il comportamento
della Physarum P. tramite essi. A sostegno di ciò espongo due hints:
• Arricchire il primo creando una sequenza di azione delle patches, ovvero farle
agire ordinatamente partendo da quelle più vicine ai pezzi di avena ;
• Modicare il secondo non richiedendo ai nutrienti di far ritorno alle fonti di
cibo originarie e risolvere il problema della loro vicinanza argomentando che,
qualunque essa sia, è possibile studiare il problema con un opportuno scaling.
8
2.2
Il Modello
2.2.1 Denizioni
Dopo aver brevemente descritto come sia giunto alla sua realizzazione e soprattutto
cosa mi abbia spinto a farlo, analizziamo da vicino il terzo modello, oggetto di questo
progetto.
Com'è possibile notare nel listato riportato di seguito, ai capillaries del modello
precedente si aggiungono:
• nodes, caratterizzati da:
1. una propria pressure (secondo quanto riportato nel modello matematico
di A. Tero, R. Kobayashi e T. Nakagaki);
2. una variabile food-source-number che distingue i nuclei della mua dall'avena;
3. un agentset di nodes, in-range-neighbors, con i quali ogni node creerà
legami;
4. una variabile binaria on? che indica se il node è attivo o meno.
• node-links, caratterizzati da:
1. un proprio ow, rappresentante la quantità di uido che attraversa ogni
capillare;
2. una e-pressure, dierenza tra le pressures dei nodes agli estremi del link ;
3. una variabile PrevThickness che registra lo spessore del node al tick precedente, utile per l'integrazione dell'equazione (4).
Proprio quest'ultimi sono la peculiarità di questo modello. Infatti essi, essendo
già muniti in NetLogo di thickness e link-length, agevolano e rendono più intuitivo
l'intero codice. Tramite di essi, i nodes potranno interagire, facendo emergere la
congurazione nale della mua.
9
Figura 3: Code. Denizions
2.2.2 Setup
Consideriamo innanzitutto il blocco setup-patches. In esso è inizialmente creata
la prima fonte di cibo, la quale sarà il node 0, distinta dalla seconda grazie al foodsource-number. Successivamente sono posizionati, in base ad una density-of-nodes
scelta dall'utente, i nuclei della mua, inizialmente nascosti. Nel caso in cui ve ne
siano di isolati, un messaggio di errore viene presentato all'utente.
Per quanto riguarda invece il blocco setup-links, dopo aver assegnato ad ogni node
l'agentset in-range-neighbors attraverso la funzione ellipse-in (con raggi modicabili
dall'esterno), sono creati i node-links. Da notare come si evitino le doppie connessioni
e come si escluda il node stesso dall'agentset. Inne è imposta la thickness iniziale
tra [0, 1) e creati capillaries equamente direzionati.
10
Figura 4: Code. Setup
11
Figura 5: Code. Setup
12
2.2.3 Go
Analizziamo ordinatamente cosa succede ad ogni tick.
Innanzitutto è aggiornata la variabile life di ogni patch, la quale viene incrementata
dal passaggio del fronte dei capillaries. Inoltre essa tende lentamente a zero col
passare del tempo, creando un gradevole eetto graco che rende l'idea del passaggio
dalla fase di espansione a quella di sfoltimento e successivo consolidamento della
Physarum Polycephalum.
A tal punto i capillaries avanzano di un passo, attivando, qualora fossero presenti, i
nodes della mua e mostrando i node-links aventi ambo gli estremi accesi. Da notare
che essi muoiono quando l'intero mondo è stato esplorato, momento in cui la fase di
sfoltimento ha inizio. Ciò è formalizzato dall'imposizione di i pari ad uno.
Consideriamo ora il blocco update-pressure. Dopo essere stati riorganizzati in
base alla loro distanza dal node 0 (ordine crescente), i nodes aggiornano in sequenza
la loro pressure. In particolare, per ogni node j, i coecienti A e B rappresentano:
(
−1
A = Rij
−1
B = Rij
pi
(5)
dove Rij−1 = (thickness)/(link − length).
Dati dunque i due coecienti, ogni node j aggiorna la sua pressure in accordo con
il sistema (3). Inoltre, nel caso in cui esso rimanga isolato, viene eliminato. Dopo
essersi aggiornato, il node j si spegne.
È ora possibile calcolare il ow Qij per ogni node-link ed integrare la dinamica (4).
Tale operazione viene eseguita tramite:
n+1
n
n
n
Dij
= Dij
+ (|Qij (Dij
, Pijn+1 )| − Dij
)dt
(6)
con dt = 5 × 10−3 .
Inne, vengono spenti i links prossimi allo zero e vericata la convergenza del
sistema, raggiunta quando:
n+1
n
Dij
= Dij
.
13
(7)
Figura 6: Code. Go
14
Figura 7: Code. Go
15
Figura 8: Code. Go
16
2.3
Analisi dei risultati
Figura 9: A partire da sinistra: a) inizializzazione, b) ricerca di cibo, c) inizio dello
sfoltimento delle connessioni.
Com'è possibile notare nella gura in alto, si è scelto di inizializzare il sistema ad
una density-of-nodes medio-alta. Essendo le dimensioni del mondo (chiuso) 13 × 13,
la lunghezza delle connessioni è pari al massimo delle coordinate x ed y. Durante
la fase di espansione della Physarum P. sono attivati e mostrati i nodes ed i nodelinks. Nel momento in cui l'intero spazio è stato esplorato (o meglio quando tutti
i nodes ed i node-links sono attivi) si da il via alla fase di sfoltimento e successivo
consolidamento delle connessioni.
Figura 10: Raggiungimento della convergenza alla traiettoria ottima.
Come evidenziato nei plots in Figura 10, il cutting delle connessioni è molto più
veloce rispetto alla fase di reinforcement. Il sistema converge inne alla traiettoria
ottima. È interessante inoltre studiare il caso di connessioni con raggio minore,
lasciando inalterata la density-of-nodes.
17
Figura 11: Connessioni a corto raggio.
Dalla Figura 11 si evince che in tal caso il sistema non converge ad un'unica
soluzione. Ciò è dovuto al fatto che tra i vari modi di connettere le due fonti di cibo
non sia presente quello ottimale. In tal modo viene meno l'unicità della soluzione
ed il sistema risulta (giustamente) incapace di scegliere tra percorsi aventi "costo"
equivalente. Nel caso specico, anché il sistema converga alla traiettoria ottima, è
necessario elevare ad un valore di 80 la densità dei nodes.
2.4
Conclusione e Futuri sviluppi
Essendo ben noto quanto sia necessario lo sviluppo di tecnologie da applicare a reti
complesse come quella dei trasporti, gli obiettivi futuri di questa ricerca sono:
• Migliorare l'integrazione dell'equazione (4) ricorrendo all'utilizzo di un algo-
ritmo di integrazione di ordine più elevato. Un modo possibile di attuare tale
operazione è combinare l'utilizzo di NetLogo con quello di R.
• Ridurre i tempi della fase di consolidamento. Come evidenziato dai plots in
Figura 10, essa rappresenta circa i 2/3 delle iterazioni necessarie al sistema per
convergere.
• Generalizzare il modello al caso di più fonti di cibo, rappresentanti i quartieri
di una città.
In particolare, una possibile via da percorrere per realizzare quest'ultima estensione sarebbe quella di lasciar "ordinare" alla Physarum P. le fonti di cibo
durante la sua fase di espansione. Per meglio dire lasciarle assegnare ad ognuna il proprio food-source-number, distinguendo così nodes di immissione e di
scarico. A tal proposito riporto il seguente blocco di codice:
18
Figura 12: Code. Generalizzazione
Ogniqualvolta la mua incontra un pezzo di avena (i quali inizialmente hanno
tutti food-source-number pari a 3), lo classica in base al food-source-number di
quello più vicino (precedentemente incontrato).
L'ABM analizzato mostra chiaramente come l'ordine macroscopico emerga dal
basso verso l'alto, tramite l'assegnazione di una singola regola ad ogni agente. Ciò
rende essibile l'analisi del comportamento della Physarum P., presentando all'utente un ampio panorama di risultati da interpretare, che aiuta a comprendere meglio
il fenomeno.
19
3 Bibliograa
Riferimenti bibliograci
[1] V. Bonifaci, K. Mehlhorn, and G. Varma. Physarum can compute shortest
paths Journal of Theoretical Biology, 309:121-133, 2012.
[2] X. Zhang, Y. Zhang, Z. Zhang, S. Mahadevan, A. Adamatzky, Y. Deng. Rapid Physarum Algorithm for shortest path problem. Applied Soft Computing,
23:19-26, 2014.
[3] Wilensky,
U.
(2003).
NetLogo
Fur
http://ccl.northwestern.edu/netlogo/models/Fur. Center for
model.
Connected
Learning and Computer-Based Modeling, Northwestern University, Evanston,
IL.
[4] Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Cen-
ter for Connected Learning and Computer-Based Modeling, Northwestern
University, Evanston, IL.
[5] https://www.youtube.com/watch?v=czk4xgdhdY4.
21