capitolo 1 automi cellulari - Dipartimento di Fisica e Astronomia dell ...
capitolo 1 automi cellulari - Dipartimento di Fisica e Astronomia dell ...
capitolo 1 automi cellulari - Dipartimento di Fisica e Astronomia dell ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CAPITOLO 1<br />
AUTOMI CELLULARI<br />
Nel <strong>capitolo</strong> sono presentati gli Automi <strong>cellulari</strong>, le loro proprietà ed applicazioni.<br />
Col termine automa si intende il mo<strong>dell</strong>o astratto <strong>di</strong> un <strong>di</strong>spositivo il quale può<br />
assumere certi stati, può ricevere stimoli (input) secondo una scala <strong>di</strong>screta del tempo<br />
dall’ambiente in cui è immerso e reagisce a questi stimoli con una transizione <strong>di</strong> stato e<br />
con una risposta (output) secondo una logica prefissata.<br />
Un automa cellulare é un sistema <strong>di</strong>namico <strong>di</strong>screto. Spazio, tempo e stati del sistema<br />
sono <strong>di</strong>screti. Ogni elemento <strong>dell</strong>'automa in una griglia spaziale regolare é detto cella e<br />
può essere in uno degli stati finiti che la cella può avere. Gli stati <strong>dell</strong>e celle variano<br />
secondo una regola locale, cioè lo stato <strong>di</strong> una cella ad un dato istante <strong>di</strong> tempo <strong>di</strong>pende<br />
dallo stato <strong>dell</strong>a cella stessa e dagli stati <strong>dell</strong>e celle vicine all'istante precedente. Gli stati<br />
<strong>di</strong> tutte le celle sono aggiornati contemporaneamente in maniera sincrona. L'insieme<br />
degli stati <strong>dell</strong>e celle compongono lo stato <strong>dell</strong>'automa. Quin<strong>di</strong> lo stato globale<br />
<strong>dell</strong>'automa evolve in passi temporali <strong>di</strong>screti. Secondo questo mo<strong>dell</strong>o un sistema viene<br />
rappresentato come composto da tante semplici parti ed ognuna <strong>di</strong> queste parti per<br />
evolvere ha una propria regola interna ed interagisce solo con le parti ad essa vicine.<br />
L'evoluzione globale del sistema "emerge" dalle evoluzioni <strong>di</strong> tutte le parti elementari.<br />
1.1 Le origini degli <strong>automi</strong> <strong>cellulari</strong><br />
Alla fine degli anni ’40 von Neumann, nel tentativo <strong>di</strong> formulare mo<strong>dell</strong>i per simulare la<br />
complessità dei fenomeni biologici, ed in particolare nel formalizzare il problema <strong>dell</strong>a<br />
riproduzione, si propose la possibilità <strong>di</strong> costruire dei <strong>di</strong>spositivi in grado appunto <strong>di</strong><br />
auto riprodursi (self-replication), nei quali era evidente la struttura <strong>di</strong> sistema parallelo<br />
<strong>di</strong>stribuito.<br />
Egli inizialmente prese in considerazione un mo<strong>dell</strong>o costituito da un insieme <strong>di</strong><br />
componenti con funzioni <strong>di</strong>verse in sospensione in una sorta <strong>di</strong> "brodo primor<strong>di</strong>ale" la<br />
cui evoluzione é definita da una ben precisa serie <strong>di</strong> equazioni alle derivate parziali. Le<br />
componenti principali <strong>di</strong> ogni automa in questo mo<strong>dell</strong>o erano un controllore, un<br />
duplicatore, un costruttore, ed una descrizione del mo<strong>dell</strong>o tramite la quale generare<br />
1
una copia del mo<strong>dell</strong>o stesso. Nessuna <strong>di</strong> queste componenti aveva capacità <strong>di</strong> auto-<br />
riproduzione, ma tramite la loro interazione essi potevano generare una loro<br />
riproduzione. Queste "entità auto-riproducentesi" erano capaci <strong>di</strong> muoversi in questo<br />
spazio in cui vagavano copie <strong>dell</strong>e proprie componenti e poi <strong>di</strong> scegliere gli elementi<br />
necessari per costruire una copia <strong>di</strong> se stessi.<br />
Von Neumann verificò ben presto che il suo mo<strong>dell</strong>o risultava del tutto intrattabile dal<br />
punto <strong>di</strong> vista <strong>dell</strong>a matematica convenzionale, pertanto decise <strong>di</strong> adottare un mo<strong>dell</strong>o,<br />
suggeritogli da Stanislaw Ulam, prettamente <strong>di</strong>screto in cui sia lo spazio, il tempo, e le<br />
variabili fisiche erano soggette ad assumere solo un numero finito <strong>di</strong> valori. Questo<br />
mo<strong>dell</strong>o é basato su un insieme uniforme <strong>di</strong> celle identiche, in cui ogni cella può<br />
assumere solo pochi stati e interagisce solo con alcune celle a<strong>di</strong>acenti. Con l'uso <strong>di</strong><br />
poche semplici regole, una cella calcola il proprio stato nella prossima generazione<br />
usando il suo stato e l'informazione ricevuta dalle celle vicine nella generazione<br />
corrente. Tale idea dava le basi alla prima teoria degli <strong>automi</strong> <strong>cellulari</strong>, vista come<br />
metodo <strong>di</strong> calcolo che in un numero finito <strong>di</strong> operazioni é in grado <strong>di</strong> descrivere nel<br />
tempo l'evoluzione <strong>di</strong> sistemi molto complicati come appunto quelli capaci <strong>di</strong> auto-<br />
riprodursi che si hanno in campo biologico.<br />
Nei primi anni '50, von Neumann definì un automa cellulare bi<strong>di</strong>mensionale capace <strong>di</strong><br />
auto-riprodursi in cui ogni singola cella può assumere 29 stati <strong>di</strong>fferenti. In questo<br />
automa cellulare, il processo <strong>di</strong> auto-riproduzione, che nel precedente mo<strong>dell</strong>o avveniva<br />
tramite il movimento nello spazio primor<strong>di</strong>ale, si ottiene tramite lo scambio <strong>di</strong><br />
informazione tra celle vicine. Il movimento <strong>di</strong> un elemento nello spazio cellulare<br />
avviene semplicemente copiando il suo stato nella cella vicina nella <strong>di</strong>rezione desiderata<br />
e cancellando lo stato nella cella originale.<br />
Questa operazione si può ripetere per un arbitrario numero <strong>di</strong> passi. Per garantire la<br />
auto-riproduzione, von Neumann definì per l'automa cellulare un costruttore universale<br />
che è realizzato nell’automa tramite un insieme <strong>di</strong> celle (pattern) con valori <strong>di</strong> stato<br />
particolari ed una regola <strong>di</strong> transizione <strong>di</strong> stato (programma) per esse. Questo insieme <strong>di</strong><br />
celle costituiscono un automa virtuale costituito sulla griglia <strong>di</strong> celle <strong>di</strong> base che realizza<br />
una macchina <strong>di</strong> calcolo universale, cioè una macchina capace <strong>di</strong> risolvere qualsiasi<br />
problema che un calcolatore può risolvere.<br />
2
Tramite il costruttore universale, l’auto-riproduzione avviene in due fasi: durante la<br />
prima fase il programma viene eseguito (interpretato) per generare una copia del<br />
costruttore, mentre nella seconda fase viene fatta una copia del programma che viene<br />
associata alla copia del costruttore generata nella prima fase.<br />
In realtà, già i primi stu<strong>di</strong>osi <strong>di</strong> cibernetica cominciarono ad intuire la capacità <strong>di</strong> alcuni<br />
meccanismi <strong>di</strong> svolgere funzioni tipicamente umane, in modo particolare quelle relative<br />
ad alcune attività mentali elementari.<br />
Questa intuizione fu resa concretamente possibile dalla costruzione <strong>di</strong> alcuni <strong>di</strong>spositivi<br />
i quali eseguivano dei compiti prefissati. Si deve notare che molti <strong>di</strong> questi meccanismi<br />
automatici risultarono essere stati costruiti prima che tale problematica si ponesse in<br />
questi termini. Uno dei più famosi <strong>di</strong> tali <strong>di</strong>spositivi fu indubbiamente la pascalina, la<br />
quale svolgeva calcoli ad<strong>di</strong>tivi in modo puramente meccanico eseguendo<br />
automaticamente il riporto.<br />
Proprio in connessione con questi stu<strong>di</strong>, comprendenti vari aspetti teorici e pratici <strong>di</strong><br />
natura tipicamente inter<strong>di</strong>sciplinare, von Neumann adottò il termine automa, parola<br />
usata da anni come sinonimo <strong>di</strong> un <strong>di</strong>spositivo in grado <strong>di</strong> agire, in un determinato<br />
contesto, in modo autonomo.<br />
Gran parte del lavoro <strong>di</strong> von Neumann è stato completato ed ampliato da Burks (1970).<br />
Questa linea <strong>di</strong> ricerca sull’automa cellulare è stata sviluppata negli anni sessanta<br />
me<strong>di</strong>ante stu<strong>di</strong> relativi alla costruzione, adattamento, ottimizzazione ed indagini sulle<br />
proprietà puramente matematiche degli AC.<br />
Lo sviluppo degli AC è avvenuto negli anni settanta con l’introduzione <strong>dell</strong>a “game of<br />
the life” <strong>di</strong> John Conway’s ( Gardner, 1970). Life era stato concepito come un semplice<br />
mo<strong>dell</strong>o <strong>di</strong> una ecologia contenete celle le quali erano in grado <strong>di</strong> vivere o morire in<br />
base a pochi semplici ruoli. Questo mo<strong>dell</strong>o ha mostrato avere ricchi “patterns” <strong>di</strong><br />
attività ed è capace <strong>di</strong> sopportare un grande numero <strong>di</strong> strutture complicate.<br />
Un’altra via <strong>di</strong> ricerche - la più rilevante per lo scopo <strong>dell</strong>a presente tesi e che sarà<br />
<strong>di</strong>scussa nei paragrafi successivi - è stata quella che ha stu<strong>di</strong>ato le applicazione degli<br />
<strong>automi</strong> <strong>cellulari</strong> alla fisica (Toffoli, 1977).<br />
Un successivo importante sviluppo, anche con una particolare attenzione alle possibili<br />
applicazioni, si è poi avuto negli anni ’80 grazie a lavori <strong>di</strong> Stephen Wolfram e altri.<br />
3
Gli <strong>automi</strong> <strong>cellulari</strong> sono stati applicati in fisica, chimica, biologia, ecologia e, a partire<br />
dalla fine degli anni ’80, nello stu<strong>di</strong>o <strong>dell</strong>a morfologia urbana e territoriale<br />
L’utilizzazione degli <strong>automi</strong> <strong>cellulari</strong> è stata particolarmente favorita dalle innovazioni<br />
tecnologiche che hanno permesso la costruzione <strong>di</strong> computer sempre più potenti.<br />
1.2 Automi <strong>cellulari</strong><br />
Sono presentate la definizione <strong>di</strong> automa cellulare e le caratteristiche fondamentali del<br />
mo<strong>dell</strong>o.<br />
La semplice struttura degli <strong>automi</strong> <strong>cellulari</strong> (AC), dai tempi <strong>di</strong> Von Neumann al recente<br />
libro <strong>di</strong> Wolfram (2002) “ A New Kind of Science”, ha attratto, grazie alla sua<br />
semplicità ed al suo enorme potenziale nel costruire mo<strong>dell</strong>i <strong>di</strong> sistemi complessi,<br />
ricercatori <strong>di</strong> varie <strong>di</strong>scipline ed è stata soggetta a rigorose analisi fisiche e matematiche.<br />
Un automa cellulare, anche elementare, ha le seguenti proprietà: è un sistema <strong>di</strong>screto<br />
nello spazio e nel tempo; è costituito da singole celle separate; è locale, vale a <strong>di</strong>re lo<br />
stato <strong>di</strong> ogni cella in un dato istante è determinato esclusivamente dagli stati assunti<br />
nell’istante precedente, dalle celle appartenenti all’intorno <strong>dell</strong>a cella; è omogeneo (la<br />
struttura <strong>dell</strong>’intorno è uguale per ogni cella) e parallelo, cioè ad ogni istante le celle<br />
sono aggiornate simultaneamente<br />
Un automa cellulare è un generico sistema <strong>di</strong>screto sia nello spazio sia nel tempo. E’<br />
definito su un reticolo nei cui siti sono <strong>di</strong>sposte <strong>dell</strong>e variabili che possono assumere un<br />
numero finito <strong>di</strong> valori. L’evoluzione avviene aggiornando simultaneamente tutti i siti<br />
del reticolo in accordo con le probabilità locali <strong>di</strong> transizione.<br />
L’interesse per tali sistemi è dovuto alla loro semplicità concettuale che tuttavia<br />
permette <strong>di</strong> riprodurre la fenomenologia del comportamento del critico. Oltre a questo,<br />
gli <strong>automi</strong> <strong>cellulari</strong>, per la loro natura completamente <strong>di</strong>screta, si rivelano estremamente<br />
adatti alla simulazione numerica, me<strong>di</strong>ante l’utilizzo <strong>di</strong> calcolatori <strong>di</strong>gitali.<br />
Una <strong>dell</strong>e idee fondamentali del concetto <strong>di</strong> automa cellulare è quella <strong>di</strong> riuscire a<br />
ricostruire il comportamento complesso <strong>di</strong> un sistema a partire da semplici regole che<br />
descrivono l’interazione dei “micro-componenti” in cui si pensa sud<strong>di</strong>viso il sistema<br />
stesso. Si potrebbe quin<strong>di</strong> <strong>di</strong>re che l’idea <strong>di</strong> base degli AC è <strong>di</strong> tentare <strong>di</strong> descrivere un<br />
sistema complesso non “dall’alto” usando complesse equazioni, ma simulandolo<br />
4
me<strong>di</strong>ante interazioni <strong>di</strong> celle che seguono semplici regole, lasciando così che la<br />
complessità emerga da tali interazioni.<br />
Sono stati affrontati problemi <strong>di</strong> varia natura me<strong>di</strong>ante mo<strong>dell</strong>i basati su <strong>automi</strong><br />
<strong>cellulari</strong>; tra questi possiamo citare quelli legati allo stu<strong>di</strong>o dei movimenti dei pedoni in<br />
una città, il problema del traffico dei veicoli o problemi <strong>di</strong> natura più schiettamente<br />
matematica come l’esistenza <strong>di</strong> macchine in grado <strong>di</strong> riprodurre se stesse o problemi <strong>di</strong><br />
<strong>di</strong>ffusione, come es. lo stu<strong>di</strong>o <strong>dell</strong>a miscelazione <strong>di</strong> due liqui<strong>di</strong> <strong>di</strong>versi. (Wolfram,<br />
1986).<br />
1.2.1 Definizione formale <strong>di</strong> automa cellulare<br />
Una definizione formale <strong>di</strong> automa cellulare deve tener conto <strong>di</strong> due caratteristiche<br />
fondamentali.<br />
La prima è l'uniformità, dovuta al fatto che gli enti che si trovano in ciascun punto <strong>dell</strong>o<br />
spazio sono identici. La seconda è la località, in quanto ogni ente tiene conto solo <strong>di</strong> ciò<br />
che succede entro una certa <strong>di</strong>stanza da sé.<br />
Ci concentreremo sulla definizione "classica", che opera nel caso in cui lo spazio<br />
ambiente sia euclideo. Nel seguito in<strong>di</strong>cheremo con Z l'insieme dei numeri interi.<br />
Occorre anzitutto decidere la <strong>di</strong>mensione <strong>dell</strong>o spazio ambiente e fissare l'insieme degli<br />
stati, che deve essere finito, e deve avere almeno due elementi per evitare situazioni<br />
banali. Occorre stabilire, inoltre, quali sono i vicini che ogni cella "controlla" ai fini<br />
<strong>dell</strong>a sua evoluzione: tali punti devono essere tutti entro una certa <strong>di</strong>stanza, fissata, dalla<br />
cella. Infine, va detto "in che modo" le celle cambiano stato.<br />
Possiamo riassumere questo <strong>di</strong>scorso e dare la seguente definizione formale:<br />
un automa cellulare è una quadrupla < d, Q, N, f > in cui:<br />
d è un numero intero positivo, detto <strong>di</strong>mensione;<br />
Q è un insieme finito, detto spazio degli stati;<br />
N è un sottoinsieme finito <strong>di</strong> Z d , detto in<strong>di</strong>ce <strong>di</strong> vicinato;<br />
f è una funzione definita su Q |N| a valori in Q tale che, detto ci t lo stato <strong>dell</strong>a cella nel<br />
punto i <strong>dell</strong>o spazio Z d al tempo t, e in<strong>di</strong>cati con n1, n2, ..., n|N| gli elementi <strong>di</strong> N, risulta:<br />
ci t+1 =f(ci+n1 t ,ci+n2 t ,...,ci+n|N| t ) (1.1)<br />
in ogni punto i e ad ogni istante <strong>di</strong> tempo t.<br />
5
Definiamo un automa cellulare<br />
Intuitivamente un automa cellulare può essere pensato come una rete infinita <strong>di</strong> piccoli<br />
ed identici <strong>automi</strong> finiti, o celle, connessi uniformemente e sincronizzati. Il termine<br />
cellulare si riferisce alla sotto-unità ottenuta da tale costruzione e non deve implicare<br />
necessariamente una analogia con le cellule <strong>di</strong> organismi viventi. Ciascuna <strong>di</strong> queste<br />
sotto-unità è detta anche automa elementare (AE).<br />
L’insieme <strong>dell</strong>e celle forma uno spazio euclideo d-<strong>di</strong>mensionale. Usualmente, in<br />
applicazioni concrete, d assume il valore 1,2,3 o 4. Ad ognuno <strong>di</strong> questi siti è associata<br />
una variabile <strong>di</strong> stato, chiamata stato <strong>dell</strong>a cella, che può assumere valori in un insieme<br />
finito detto l’insieme degli stati. Il tempo avanza a passi <strong>di</strong>screti. L’evoluzione del<br />
sistema è dovuta ad un’unica funzione, detta funzione <strong>di</strong> transizione, che viene usata ad<br />
ogni passo da ogni cella per determinare il suo nuovo stato a partire dallo stato corrente<br />
e dagli stati <strong>di</strong> alcune celle che compongono un vicinato <strong>dell</strong>a cella stessa. Il passaggio<br />
da uno stato a quello successivo è dovuto alla composizione <strong>di</strong> due operatori, il vicinato,<br />
che specifica quali celle influiscono sulla data cella e la già menzionata funzione <strong>di</strong><br />
transizione.<br />
Il vicinato o intorno specifica le posizioni, relative alla cella generica, <strong>di</strong> un numero<br />
finito <strong>di</strong> celle. Tali vicini non necessitano <strong>di</strong> essere quelli fisicamente a<strong>di</strong>acenti. Possono<br />
includere la cella stessa, oppure celle fisicamente <strong>di</strong>stanti dalla cella considerata.<br />
L’importante è che le celle che compongono il vicinato siano in numero finito e che il<br />
tipo <strong>di</strong> vicinato sia uguale per ogni cella che compone l’automa cellulare.<br />
L’idea del concetto <strong>di</strong> automa cellulare (AC) è, come già accennato prima, quella che<br />
da interazioni locali semplici scaturiscono comportamenti globali complessi.<br />
Nei seguenti paragrafi introdurremo i dati che costituiscono un generico AC.<br />
1.3 La geometria <strong>dell</strong>a matrice <strong>dell</strong>e celle<br />
Generalmente nelle implementazioni reali degli <strong>automi</strong> si considerano reticoli<br />
rettangolari composti da quadrati identici (cubi in E 3 ). In E 2 hanno anche rilevanza i<br />
reticoli esagonali e triangolari.<br />
6
Il reticolo Γ:<br />
Nello spazio d R (dove D è la <strong>di</strong>mensione <strong>dell</strong>o spazio nel quale si trova l’AC,<br />
solitamente D ≤ 3 ) viene considerato un insieme <strong>di</strong> “cellule” (o “celle”), <strong>di</strong>sposte in<br />
genere su un “reticolo” Γ<br />
Ad esempio se 1 d = le cellule <strong>dell</strong>’automa sono solitamente <strong>di</strong>segnate nel seguente<br />
modo<br />
Se 2 d = le cellule possono essere <strong>di</strong> vario tipo:<br />
Se infine D=3 le cellule sono solitamente rappresentate con cubi o parallelepipe<strong>di</strong>.<br />
Si noti che ogni cellula può essere univocamente in<strong>di</strong>viduata assegnandole d numeri<br />
interi (assumiamo per semplicità una “maglia” unitaria) i =1,2,…,d ∈ : Ζ per esempio<br />
nel caso mono-<strong>di</strong>mensionale basta stabilire quale cella etichettare con 0 e in quale<br />
<strong>di</strong>rezione mettere i numeri positivi:<br />
7
Nel caso bi<strong>di</strong>mensionale basta stabilire quale cella etichettare con (0,0) e quali sono le<br />
due <strong>di</strong>rezioni positive (come in un sistema <strong>di</strong> assi cartesiani, si veda la precedente figura<br />
per qualche esempio). Se il reticolo Γ è <strong>di</strong> <strong>di</strong>mensione D, con Γ=Ζ e quin<strong>di</strong> con un<br />
numero infinito <strong>di</strong> punti e senza bor<strong>di</strong>, si ha un problema <strong>di</strong> implementazione pratica in<br />
un calcolatore. In pratica invece <strong>di</strong> un reticolo infinito si fanno le seguenti scelte:<br />
1 Identificazione dei bor<strong>di</strong> (sistema perio<strong>di</strong>co):<br />
Possiamo spiegare l’idea, nel caso mono<strong>di</strong>mensionale, con la seguente figura<br />
Γ consiste dei punti 0,1,2… ripetuti nel modo sopra in<strong>di</strong>cato.<br />
In altre parole è come pensare le sole celle <strong>di</strong>stinte (0, 1, 2 nel precedente caso) poste su<br />
un “cilindro” o, ancora, immaginare tali celle <strong>di</strong>segnate su una striscia <strong>di</strong> carta i cui<br />
bor<strong>di</strong> opposti siano poi tra loro incollati.<br />
Nel seguente caso bi<strong>di</strong>mensionale lo stesso tipo <strong>di</strong> idea può essere applicato facendo<br />
coincidere i lati opposti e ottenendo quin<strong>di</strong> un toro.<br />
2. Riflessione <strong>dell</strong>e celle <strong>di</strong> bordo:<br />
Consideriamo per esempio il caso mono<strong>di</strong>mensionale Γ=Ζ. Nel caso <strong>di</strong> riflessione <strong>dell</strong>e<br />
celle del bordo <strong>di</strong>stinguiamo tra celle “interne” e celle <strong>di</strong> “bordo”:<br />
3. Bordo costante:<br />
Si stabilisce che lo stato del bordo è costante, non ha in pratica alcuna evoluzione<br />
temporale (conviene allora fissare tale stato costante ad un valore particolare che in<strong>di</strong>chi<br />
“stato non significativo”).<br />
In realtà questo tipo <strong>di</strong> scelta va ben analizzata, perché assumere un bordo costante non<br />
è senza conseguenze sullo stato <strong>dell</strong>e celle interne. Questo tipo <strong>di</strong> con<strong>di</strong>zione al bordo è<br />
8
particolarmente naturale per i cosiddetti “gas models” in cui il bordo viene ad avere<br />
l’interpretazione del recipiente che contiene un gas opportunamente simulato dall’AC.<br />
Continuiamo ora con la descrizione dei dati <strong>di</strong> un AC.<br />
1.3.1 Gli intorni o vicinato <strong>di</strong> ogni cellula<br />
La scelta <strong>dell</strong>’intorno <strong>di</strong> una generica cella è essenziale. Nei casi <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong><br />
bi<strong>di</strong>mensionali e tri<strong>di</strong>mensionali gli intorni più usati sono <strong>di</strong> tre tipi: l’intorno <strong>di</strong> von<br />
Neumnn, l’intorno <strong>di</strong> Moore e l’intorno <strong>di</strong> Margolus.<br />
Si assume che una qualsiasi cella i ε Γ interagisca solo con un certo insieme U (i) <strong>di</strong><br />
altre celle (ad esempio quelle imme<strong>di</strong>atamente vicine).<br />
Esempi:<br />
Nel caso mono<strong>di</strong>mensionale (con Γ = Ζ) possiamo avere U (i ) = {i-1, i, i+1}, per<br />
esempio facendo riferimento alla figura (2.1) abbiamo U (2 ) = {1, 2, 3}. Si noti che U<br />
(i) contiene sempre la cella stessa, cioè i ε U (i) (possiamo per esempio pensare che ogni<br />
cella rappresenti una molecola in un cristallo che interagisce magneticamente solo con<br />
quelle più vicine e che le interazioni con quelle più lontane siano trascurabili).<br />
I tipi <strong>di</strong> intorni maggiormente considerati sono quelli <strong>di</strong> von Neumann e <strong>di</strong> Moore, <strong>di</strong><br />
seguito rappresentati per il caso bi<strong>di</strong>mensionale per due valori del raggio:<br />
Se Γ=Ζ d , ogni cella è rappresentata da d numeri interi. La definizione generale degli<br />
intorni <strong>di</strong> von Neumann è:<br />
i ,..., i ) = { ( j ,..., j ) : j − i + ... + j − i ≤ r}.<br />
(1.2)<br />
U ( 1 d 1 d 1 1<br />
d d<br />
{ ( j ,..., j ) : j − i ≤ r...<br />
e...<br />
j − i ≤ r}.<br />
U ( i1,...,<br />
id<br />
) = 1 d 1 1<br />
d d<br />
(1.3)<br />
Nel caso mono<strong>di</strong>mensionale 1 d = essi quin<strong>di</strong> coincidono.<br />
9
Per specificare un generico intorno come il seguente<br />
in generale occorre dare le coor<strong>di</strong>nate <strong>di</strong> ogni cella facente parte <strong>dell</strong>’intorno stesso.<br />
Gli intorni possono variare molto da cella a cella.<br />
Per la definizione degli intorni <strong>dell</strong>e celle <strong>di</strong> bordo, nel caso in cui Γ sia finito, bisogna:<br />
1. Nel caso d’identificazione dei bor<strong>di</strong> conviene pensare le celle poste su un “cilindro”:<br />
se si considerano i “primi vicini” allora abbiamo per esempio<br />
U (0) = {5,0,1}, U (1) = {0,1,2 } ma U (5) = {4,5,0}.<br />
2. Nel caso <strong>dell</strong>a riflessione dei bor<strong>di</strong> facciamo riferimento per semplicità alla figura<br />
(2.2); per essa possiamo <strong>di</strong>re che U (1) = {0,1,2}, U (0) ={0,1} 0 0,1 U (2) ={1,2}<br />
e che tutte le rimanenti celle vanno considerate vere e proprie copie <strong>dell</strong>e celle 0 e 2,<br />
quin<strong>di</strong> con gli stessi intorni sopra specificati.<br />
3. Infine nel caso <strong>di</strong> bor<strong>di</strong> costanti occorre <strong>di</strong>stinguere tra celle interne e <strong>di</strong> bordo. Per<br />
queste ultime non è importante definirne un intorno perché esse non hanno evoluzione.<br />
Per le celle interne, invece, occorrerà fare in modo che l’evoluzione non <strong>di</strong>penda dallo<br />
stato <strong>dell</strong>e celle <strong>di</strong> bordo, proprio perché questo è ritenuto “non significativo”.<br />
10
1.3.2 L’insieme degli stati<br />
Si possono avere <strong>automi</strong> <strong>cellulari</strong> binari in cui vi sono solo due strati per cella che<br />
possono essere rappresentati come 1 o 0, vero o falso o <strong>automi</strong> composti da celle il cui<br />
stato è co<strong>di</strong>ficato tramite un singolo byte (8 byte) e quin<strong>di</strong> i possibili valori <strong>di</strong> stato sono<br />
ristretti a non più <strong>di</strong> 2 8 = 256. Allo stesso tempo si possono definire <strong>automi</strong> <strong>cellulari</strong> con<br />
un numero molto elevato <strong>di</strong> stati possibili.<br />
Ad ogni cella è attribuito uno “stato”, che esprime una sua qualità. Gli stati sono per<br />
ipotesi in numero finito.<br />
Chiameremo S l’insieme degli stati, detto anche “spazio degli stati” o “alfabeto”.<br />
Nel seguito useremo inoltre le seguenti notazioni:<br />
σ (i) = σi, = S: “stato <strong>dell</strong>a cella i ”, prende valori in un insieme finito S.<br />
1.3.3 La varietà <strong>dell</strong>e regole <strong>di</strong> transizione<br />
Se k è il numero <strong>di</strong> stati per cella ed n il numero <strong>di</strong> celle appartenenti all’ intorno, il<br />
numero <strong>di</strong> regole per stabilire il prossimo stato <strong>di</strong> una cella è dato da K Kn . Per un<br />
automa binario, nell’intorno <strong>di</strong> von Neumann (n = 4) ci sono 65.536 (2 16 ) possibili<br />
regole, mentre nell’intorno <strong>di</strong> Moore (n = 8) ve ne sono 10 77 .<br />
Le regole <strong>di</strong> evoluzione:<br />
Si introduce una “<strong>di</strong>namica” nel mo<strong>dell</strong>o, cioè <strong>dell</strong>e regole per precisare come gli stati<br />
<strong>dell</strong>e celle evolvono nel tempo.<br />
Le regole <strong>di</strong> evoluzione descrivono il passaggio dallo stato σi (t ) = ”stato <strong>dell</strong>a cella i al<br />
tempo t ” a quello σi (t+1 ) al tempo t +1 . Si noti, quin<strong>di</strong>, che il tempo in un AC è per<br />
ipotesi <strong>di</strong>screto t = 0,1,2,3,... (per esempio “1” può corrispondere a un’ora).<br />
Infine la regola <strong>di</strong> evoluzione viene assunta <strong>di</strong>pendere solo dagli stati σj (t) per j ε U (i<br />
), cioè solo dagli stati <strong>dell</strong>e celle j vicine a i (nel senso <strong>di</strong> appartenenti all’intorno<br />
prefissato U (i) ), <strong>di</strong> i .<br />
Concretamente se gli intorni sono tutti costituiti da n celle, allora le regole <strong>di</strong> evoluzione<br />
<strong>di</strong> un AC sono date da una funzione:<br />
p: Sn →S che agli stati <strong>dell</strong>e n celle presenti nell’intorno <strong>di</strong> una cella fa corrispondere<br />
lo stato successivo (ricor<strong>di</strong>amo che Sn denota l’insieme <strong>dell</strong>e n -uple (s1,…, sn ), con s i<br />
ε S).<br />
11
Un classico esempio <strong>di</strong> AC mono<strong>di</strong>mensionale è il seguente:<br />
Lo spazio degli stati è S = {bianco,nero}.<br />
L’intorno i è costituito dagli imme<strong>di</strong>ati vicini <strong>di</strong> i:U(i)= {i-1,i,i+1}.<br />
La regola <strong>di</strong> evoluzione è la seguente:<br />
In altre parole i cambia stato solo se i suoi vicini sono entrambi <strong>di</strong> stato opposto rispetto<br />
al suo.<br />
Per esempio l’evoluzione a partire dalla con<strong>di</strong>zione iniziale rappresentata in figura è la<br />
seguente:<br />
Prima <strong>di</strong> tutto si suppone che tutte le celle non in<strong>di</strong>cate siano in stato “bianco”. Il<br />
numero 0,1,2,…, 5 rappresenta il tempo a cui si riferisce la riga orizzontale vicina. Per<br />
seguire l’evoluzione <strong>dell</strong>’automa in base alla precedente regola occorre ricordare che<br />
l’automa evolve in modo “sincrono”: in altre parole è come se tutte le celle al tempo t<br />
evolvessero contemporaneamente, in parallelo, al tempo t +1. Per vedere quale sarà<br />
12
l’evoluzione dal passo 0 al passo 1 occorre considerare una qualsiasi cella e il suo<br />
intorno al tempo 0, usare quin<strong>di</strong> la regola <strong>di</strong> evoluzione per capire quale sarà lo stato<br />
futuro <strong>dell</strong>a cella considerata. Si ripete il proce<strong>di</strong>mento per tutte le altre celle, sempre<br />
facendo riferimento alla situazione al tempo 0, per decidere quale sarà lo stato al tempo<br />
1. Gli stati già decisi al tempo 1 non influenzano in alcun modo l’evoluzione <strong>dell</strong>e altre<br />
celle dal tempo 0 al tempo 1.<br />
Possiamo considerare la seguente regola per l’evoluzione degli stati <strong>dell</strong>e celle:<br />
i. se lo stato <strong>dell</strong>a cella σj (t) non è “spazio libero” allora σj (t+1) = σj (t)<br />
ii. Se invece σj (t) =”spazio libero”, allora:<br />
- Si trovano gli stati maggiormente presenti nell’intorno <strong>dell</strong>a cella.<br />
- Se vi è uno solo <strong>di</strong> tali stati s allora, si ponga σj (t+1) = s.<br />
- Se viceversa <strong>di</strong>versi stati s1,….. sk sono presenti in maggior numero rispetto agli altri,<br />
allora si scelga a caso e con uguale probabilità uno stato sj tra gli stati s1,….. sk e si<br />
ponga σj (t+1) = s.<br />
In questo semplice mo<strong>dell</strong>o solo le celle nello stato “spazio libero” subiscono una reale<br />
evoluzione. La regola <strong>di</strong> evoluzione cambia lo spazio libero nello stato che più<br />
frequentemente è presente nell’intorno <strong>dell</strong>a cella. Se vi sono <strong>di</strong>fferenti stati presenti in<br />
maggior numero rispetto agli altri, allora la regola <strong>di</strong> evoluzione è aleatoria. Questo è un<br />
esempio <strong>di</strong> “AC stocastico”: le regole <strong>di</strong> transizione non fissano in modo deterministico<br />
lo stato futuro <strong>di</strong> una cella, ma si limitano a in<strong>di</strong>care la probabilità che lo stato <strong>di</strong> una<br />
cella si trasformi in un certo modo.<br />
1.3.4 Life<br />
“Life” è stato inventato dal matematico John Conway ed è sicuramente uno degli<br />
esempi più conosciuti <strong>di</strong> AC. L’automa è bi<strong>di</strong>mensionale, senza bordo, con intorni <strong>di</strong><br />
Moore <strong>di</strong> raggio 1 e con due soli stati V, M detti “vivo” e “morto” e rappresentati<br />
graficamente con due colori. Le regole <strong>di</strong> evoluzione sono <strong>di</strong> tipo “semitotalitario” nel<br />
senso che <strong>di</strong>pendono dallo stato <strong>dell</strong>a cella e dal numero <strong>di</strong> celle vive presenti<br />
nell’intorno <strong>dell</strong>a cella stessa (in<strong>di</strong>pendentemente dalla loro configurazione, interessa<br />
solo il loro numero e lo stato <strong>dell</strong>a cella stessa; le regole vengono dette “totalitarie”<br />
quando invece non <strong>di</strong>pendono dallo stato <strong>dell</strong>a cella ma solo da un opportuno conteggio<br />
<strong>dell</strong>e celle nell’intorno).<br />
13
La seguente tabella in<strong>di</strong>ca le regole <strong>di</strong> transizione:<br />
Essa ci dà lo stato <strong>dell</strong>a σi (t+1) <strong>dell</strong>a cella i al tempo t +1 in funzione <strong>dell</strong>o stato σi (t)<br />
al tempo t e del numero c v (t) <strong>di</strong> celle vive presenti nell’intorno.<br />
Concretamente se la cella è viva e ha intorno 2 o 3 celle vive, allora rimane viva; se<br />
invece è morta e ha intorno esattamente 3 celle vive, allora <strong>di</strong>venta viva anch’essa; in<br />
tutti gli altri casi la cella <strong>di</strong>venta o resta morta.<br />
L’interpretazione più <strong>di</strong>ffusa è la seguente: le celle rappresentano una qualche forma <strong>di</strong><br />
vita che per riprodursi ha bisogno <strong>di</strong> esattamente 3 esemplari vivi<br />
σi(t) = M e cv (t) = 3 → σi (t+1) = V. (1.4)<br />
Si ha una situazione <strong>di</strong> stabilità se la cella è viva e nel suo intorno vi sono 2 o 3 celle<br />
vive. Negli altri casi la cella muore per isolamento (meno <strong>di</strong> 2 celle vive nell’intorno) o<br />
per sovrapopolamento (più <strong>di</strong> 3 celle vive nell’intorno).<br />
Una tipica configurazione <strong>di</strong> Life:<br />
Figura 1.1- “Conway's game of life”. La con<strong>di</strong>zione iniziale (a) è il comportamento<br />
standard “pattern random”. Dopo poche centinaia <strong>di</strong> passi (b), si forma<br />
spontaneamente una figura complessa. Le aree ombreggiate in<strong>di</strong>cano le regioni <strong>di</strong> più<br />
recente attività.<br />
14
1.3.4.1 Il mo<strong>dell</strong>o <strong>di</strong> segregazione <strong>di</strong> Schelling<br />
Il mo<strong>dell</strong>o <strong>di</strong> segregazione <strong>di</strong> Schelling nasce dalla considerazione che le carte<br />
demografiche <strong>di</strong> quasi tutte le aree metropolitane degli USA presentano facilmente zone<br />
con prevalenza <strong>di</strong> una etnia, cioè che risulta <strong>di</strong>fficile trovare zone in cui non ci sia<br />
almeno il 75% <strong>di</strong> abitanti tutti appartenenti alla stessa etnia. É quin<strong>di</strong> un mo<strong>dell</strong>o che<br />
mostra come si formino in modo autonomo <strong>dell</strong>e zone <strong>di</strong> convivenza basate sul<br />
desiderio <strong>dell</strong>e persone <strong>di</strong> vivere con “quelli del loro stesso tipo”, con cui in pratica<br />
mostrano una certa empatia. Si noti che tali zone <strong>di</strong> convivenza nascono quin<strong>di</strong> dalle<br />
<strong>di</strong>namiche dei singoli in<strong>di</strong>vidui e non a partire dalla volontà <strong>di</strong> un’autorità centrale.<br />
In questo esempio Γ è finito, l’AC ha con<strong>di</strong>zioni al bordo perio<strong>di</strong>che, intorni <strong>di</strong> tipo von<br />
Neumann o Moore e tre stati (le due “etnie” e lo stato “cella libera”).<br />
La <strong>di</strong>namica avviene secondo la seguente regola:<br />
1. Fisso un modo per scegliere una coppia <strong>di</strong> celle con stati <strong>di</strong>versi (tale scelta può<br />
essere fatta in modo aleatorio o deterministico, il caratteristico comportamento finale<br />
rimane lo stesso).<br />
2. Scelgo quin<strong>di</strong> una coppia <strong>di</strong> celle. Supponiamo che entrambe siano occupate.<br />
3. Analizzo gli intorni <strong>di</strong> tali celle e valuto la “felicità” <strong>di</strong> ogni cella. La felicità <strong>di</strong> una<br />
cella è data dal numero <strong>di</strong> vicini nello stesso stato.<br />
4. Confronto la felicità calcolata con quella <strong>di</strong> soglia (p.e. la cella è sufficientemente<br />
felice se più <strong>di</strong> un terzo dei suoi vicini è del suo stesso tipo).<br />
5. Se entrambe le celle sono sotto la felicità <strong>di</strong> soglia (quin<strong>di</strong> vorrebbero cambiare) e se<br />
lo scambio <strong>dell</strong>e celle porta a non <strong>di</strong>minuire la loro felicità, allora scambio gli stati <strong>dell</strong>e<br />
celle, altrimenti le lascio come sono.<br />
6. Se invece una sola <strong>dell</strong>e due celle estratte è occupata, allora le scambio se ciò porta<br />
ad un aumento <strong>dell</strong>a felicità <strong>dell</strong>a cella occupata estratta.<br />
7. Tutte le altre celle vengono lasciate come sono; al passo successivo scelgo un’altra<br />
(in generale) coppia <strong>di</strong> celle.<br />
Descritto nel modo precedente in realtà il mo<strong>dell</strong>o <strong>di</strong> Schelling prevede regole che<br />
<strong>di</strong>pendono da una funzione esterna (la scelta <strong>di</strong> coppie <strong>di</strong> celle). Se si generalizza la<br />
definizione <strong>di</strong> AC in tal senso (“AC esogeno”), allora si ottiene un automa<br />
quadri<strong>di</strong>mensionale (una sua cella è in realtà una coppia <strong>di</strong> celle piane...)<br />
15
1.3.4.2 Il mo<strong>dell</strong>o <strong>di</strong> Greenberg-Hastings<br />
Il mo<strong>dell</strong>o <strong>di</strong> Greenberg-Hastings è un semplice AC usato nella mo<strong>dell</strong>azione dei<br />
cosiddetti “mezzi eccitabili”. Un esempio <strong>di</strong> mezzo eccitabile è il muscolo, che può<br />
essere in uno stato <strong>di</strong> riposo o in uno stato eccitato seguito poi da uno stato <strong>di</strong> recupero.<br />
Un altro esempio è dato da una foresta pensata in funzione <strong>dell</strong>a sua capacità <strong>di</strong><br />
incen<strong>di</strong>arsi: la foresta può essere in uno stato <strong>di</strong> quiete (cioè potenzialmente<br />
incen<strong>di</strong>abile), oppure può essere in corso un incen<strong>di</strong>o a cui seguirà uno stato <strong>di</strong><br />
ricrescita <strong>dell</strong>a vegetazione. Alcune reazioni chimiche seguono questo semplice<br />
schema.<br />
Possiamo costruire un AC che mo<strong>dell</strong>izza questo tipo <strong>di</strong> processi se consideriamo tre<br />
stati: “riposo”, “eccitato”, “in recupero”. L’evoluzione avviene su un reticolo regolare<br />
bi<strong>di</strong>mensionale, ed è caratterizzata dalle seguenti regole:<br />
Una cella in riposo rimane tale finché uno dei suoi vicini non <strong>di</strong>venta eccitato. In tal<br />
caso anch’essa <strong>di</strong>venta eccitata.<br />
Una cella eccitata passa sempre in stato <strong>di</strong> recupero al passo successivo.<br />
Una cella in stato <strong>di</strong> recupero passa sempre in stato <strong>di</strong> riposo al passo successivo.<br />
Quin<strong>di</strong> la <strong>di</strong>namica dal tempo t al tempo 1 t + è la seguente:<br />
Riposo → Riposo se nessun vicino è “Eccitato”<br />
Riposo → Eccitato se almeno un vicino è “Eccitato”<br />
Eccitato → In recupero<br />
In recupero → Riposo<br />
Per definire completamente l’automa manca la scelta del tipo <strong>di</strong> intorno che, a seconda<br />
dei casi può essere un intorno <strong>di</strong> von Neumann o <strong>di</strong> Moore <strong>di</strong> raggio 1 o 2.<br />
16
Un interessante problema che frequentemente si presenta stu<strong>di</strong>ando gli AC è quello del<br />
comportamento al limite (o asintotico), vale a <strong>di</strong>re per t → +∞. Uno stu<strong>di</strong>o sperimentale<br />
condotto da S. Wolfram (2002) sembra abbia trovato solo tre possibilità base:<br />
Il sistema raggiunge uno stato globale “fisso” si dopo un tempo T (o si scompone in<br />
sottoinsiemi con questo comportamento)<br />
i () t = si<br />
σ , ∀ t ≥ T<br />
(1.5)<br />
Il sistema ha un comportamento perio<strong>di</strong>co <strong>di</strong> periodo P dopo un tempo T (o si scompone<br />
in sottoinsiemi con questo comportamento)<br />
Il sistema ha un comportamento <strong>di</strong>fferente dai precedenti due e non presenta nessuna<br />
configurazione particolare. In tal caso si <strong>di</strong>ce che ha un comportamento al limite<br />
“caotico” (in questo caso si presentano spesso configurazioni “frattali”).<br />
1.3.4.3 Caratteristiche fondamentali<br />
Le caratteristiche fondamentali <strong>di</strong> un automa cellulare sono le seguenti:<br />
1) Parallelismo. Le celle si aggiornano simultaneamente (in parallelo) elaborando<br />
ognuna le informazioni ricevute e passando nello stato conseguente.<br />
2) Località. Il nuovo stato cui giunge la cella al tempo t+1 <strong>di</strong>pende solo dal suo stato e<br />
da quello <strong>dell</strong>e celle appartenenti al suo intorno e al tempo T.<br />
3) Omogeneità. Ogni cella è aggiornata in base alle stesse regole.<br />
Abbiamo visto che gli <strong>automi</strong> <strong>cellulari</strong> (AC) consistono in agenti o particelle <strong>di</strong>screte,<br />
che occupano alcuni o tutti i siti <strong>di</strong> una grata normale.<br />
Queste particelle hanno una o più variabili interne <strong>di</strong> stato (che possono essere <strong>di</strong>screte<br />
o continue) e un insieme <strong>di</strong> regole che descrivono lo sviluppo <strong>dell</strong>a loro con<strong>di</strong>zione e<br />
posizione (nei mo<strong>dell</strong>i più vecchi, le particelle occupavano solitamente tutti i siti <strong>dell</strong>a<br />
grata, una particella per nodo e non erano in movimento).<br />
Sia il movimento che il cambiamento <strong>dell</strong>a con<strong>di</strong>zione <strong>dell</strong>e particelle <strong>di</strong>pendono dallo<br />
stato attuale <strong>dell</strong>a particella e da quello <strong>dell</strong>e particelle vicine.<br />
Di nuove, queste regole possono essere <strong>di</strong>screte o continue (sotto forma <strong>di</strong> equazioni<br />
<strong>di</strong>fferenziali or<strong>di</strong>narie (ODEs), deterministiche o probabilistiche.<br />
17
Le regole <strong>di</strong> sviluppo si applicano spesso ai punti, un punto <strong>di</strong> trasporto o per esempio,<br />
<strong>di</strong> movimento seguito da un punto del cambiamento o <strong>di</strong> interazione <strong>dell</strong>a con<strong>di</strong>zione.<br />
L’aggiornamento può essere sincrono o stocastico (Monte-Carlo). Ad un estremo le<br />
regole possono approssimarsi alle equazioni <strong>di</strong>fferenziali parziali continue ben note<br />
(PDEs), all’altro possano assomigliare alle interazioni logiche <strong>di</strong>screte dei calcolatori<br />
boleani semplici (S. Dormann, 2000).<br />
I mo<strong>dell</strong>i specializzati ad “Hoc” sono, attualmente, un caso interme<strong>di</strong>o <strong>di</strong> grande<br />
interesse (per esempio H. Levine et al.,2001; N. Shimoyama et al. 1966).<br />
1.4 Strutture auto-organizzate<br />
L’AC può produrre strutture auto-organizzate molto specializzate.<br />
Von Neumann (1966) ha in<strong>di</strong>cato che un AC con un numero infinto <strong>di</strong> con<strong>di</strong>zioni e <strong>di</strong><br />
interazioni a breve termine potrebbe essere utilizzato per costruire un calcolatore<br />
universale e Conway nel ‘Life’ ha <strong>di</strong>mostrato che persino una semplice AC a due stati<br />
me<strong>di</strong>ante le interazioni puramente locali potrebbe generare arbitrariamente mo<strong>dell</strong>i<br />
spazio-temporali complessi (M. Gardner, 1970).<br />
Wolfram (1983; 1994) ha stu<strong>di</strong>ato la teoria <strong>dell</strong>’ AC ed ha <strong>di</strong>mostrato la loro utilità<br />
nello stu<strong>di</strong>o <strong>di</strong> problemi complessi.<br />
Filosoficamente l’AC è attraente perché i suoi comportamenti su grande scala sono<br />
completamente auto-organizzati piuttosto che il risultato <strong>di</strong> risposte a segnali imposti<br />
dall’esterno (E. Ben-Jacob, 2000).<br />
Una cellula specifica non ha il senso <strong>dell</strong>’orientamento o <strong>dell</strong>a posizione, né può seguire<br />
una mappa che gli in<strong>di</strong>chi dove andare (es. un micron <strong>di</strong>stale e due micron laterali”).<br />
Può solo rispondere ai segnali del suo ambiente locale. In<strong>di</strong>cazioni ambientali locali che<br />
possono fornire, a cellule che rispondono passivamente al segnale la <strong>di</strong>rezione e la<br />
posizione, informazioni queste che possono essere auto-organizzate o generate<br />
esternamente.<br />
Negli ultimi anni le automazioni <strong>cellulari</strong> (CA) hanno svolto e stanno svolgendo ruoli<br />
importanti.<br />
Come mo<strong>dell</strong>i completamente <strong>di</strong>screti (nello spazio, nel tempo e nella variabile <strong>di</strong> stato)<br />
hanno <strong>di</strong>mostrato essere molto utili per la simulazione su elaboratore dei <strong>di</strong>versi<br />
problemi spaziali estesi in fisica, chimica ed in biologia (Vichniac, 1984; Farmer,<br />
18
1984; Demongeot, 1985; Wolfram, 1986; Manneville et al., 1989; Gunton et al., 1989;<br />
G.D. Doolen et al., 1990).<br />
1.4.1 Varianti <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong><br />
Rispetto alla definizione <strong>di</strong> automa cellulare data nel paragrafo precedente, nel tempo<br />
sono state date <strong>dell</strong>e <strong>di</strong>fferenti definizioni sia in termini <strong>di</strong> mo<strong>di</strong>fiche che <strong>di</strong> estensioni.<br />
Con il termine mo<strong>di</strong>fiche del mo<strong>dell</strong>o degli <strong>automi</strong> <strong>cellulari</strong> ci si vuole riferire a mo<strong>dell</strong>i<br />
computazionali che <strong>di</strong>fferiscono dal mo<strong>dell</strong>o degli <strong>automi</strong> <strong>cellulari</strong>, ma che possono<br />
simulare gli <strong>automi</strong> <strong>cellulari</strong> e possono essere simulati dagli <strong>automi</strong> <strong>cellulari</strong> con un<br />
costo ad<strong>di</strong>zionale lineare sia nel tempo sia nel numero <strong>di</strong> celle.<br />
Con il termine estensioni o generalizzazioni del mo<strong>dell</strong>o degli <strong>automi</strong> <strong>cellulari</strong> ci<br />
riferiamo a mo<strong>dell</strong>i computazionali che non possono essere simulati dagli <strong>automi</strong><br />
<strong>cellulari</strong> in un tempo lineare. Così, mentre una mo<strong>di</strong>fica rappresenta solo un formalismo<br />
<strong>di</strong>fferente per definire la stessa cosa, una estensione é generalmente più potente del<br />
mo<strong>dell</strong>o standard degli <strong>automi</strong> <strong>cellulari</strong>. II termine simulazione, usato in precedenza, é<br />
in accordo con quanto qui definito. Infatti, un automa cellulare A é simulato dall'automa<br />
cellulare A' se:<br />
• essi calcolano rispettivamente funzioni f ed f 1 , cioè per una data configurazione <strong>di</strong><br />
input sia A che A' producono una stessa configurazione <strong>di</strong> output;<br />
• vi sono <strong>dell</strong>e funzioni f che per ogni configurazione c <strong>di</strong> A danno una configurazione<br />
corrispondente f (c ) <strong>di</strong> A';<br />
• per configurazioni <strong>di</strong> input c <strong>di</strong> A si ha che:<br />
g(f(c)) = f 1 (g(c)). (1.6)<br />
Di seguito sono presentate le principali estensioni del mo<strong>dell</strong>o computazionale degli<br />
<strong>automi</strong> <strong>cellulari</strong>. Oltre a quelli qui descritti, molte altre estensioni sono state proposte<br />
negli ultimi anni insieme a mo<strong>dell</strong>i ibri<strong>di</strong> nati dalla combinazione degli <strong>automi</strong> <strong>cellulari</strong><br />
con altri mo<strong>dell</strong>i computazionali come le reti neurali, i sistemi “fuzzy” e gli algoritmi<br />
genetici. Le estensioni qui presentate sono quelle più usate e mantengono in ogni caso le<br />
proprietà fondamentali del mo<strong>dell</strong>o standard <strong>di</strong> automa cellulare.<br />
19
1.4.2 Automi <strong>cellulari</strong> non deterministici<br />
Gli <strong>automi</strong> <strong>cellulari</strong> non deterministici rappresentano una generalizzazione del mo<strong>dell</strong>o<br />
standard degli <strong>automi</strong> <strong>cellulari</strong>.<br />
L'estensione importante consiste nel fatto che la funzione <strong>di</strong> transizione elementare <strong>di</strong><br />
un automa non deterministico é una funzione σ: S n —> 2 S .<br />
La funzione <strong>di</strong> transizione globale τ é definita come:<br />
[ τ () c ]()ε i ( c ( N(<br />
X , i)<br />
) )<br />
σ (1.7)<br />
Si noti la <strong>di</strong>fferenza rispetto alla definizione <strong>di</strong> σ e <strong>di</strong> τ per l'automa cellulare standard.<br />
In questo caso, la funzione <strong>di</strong> transizione locale può generare 2 S stati e la funzione <strong>di</strong><br />
transizione globale dà come risultato uno stato che appartiene all'insieme dei possibili<br />
stati scelto non deterministicamente.<br />
1.4.3 Automi <strong>cellulari</strong> partizionati<br />
Gli <strong>automi</strong> <strong>cellulari</strong> partizionati rappresentano solo una mo<strong>di</strong>fica del mo<strong>dell</strong>o standard.<br />
In un automa cellulare standard, una cella usa tutto lo stato <strong>dell</strong>e celle del suo vicinato<br />
per calcolare il suo nuovo stato. In un automa cellulare partizionato, una cella legge solo<br />
la componente i-esima <strong>dell</strong>o stato <strong>dell</strong>a cella i del suo vicinato. Infatti, la funzione <strong>di</strong><br />
transizione <strong>dell</strong>a cella elementare ha la seguente forma<br />
σ: Sk1x Sk2 ... x Skn → Sk1x Sk2 ... x Skn<br />
dove X= {K1, K2 . . . , Kn} in<strong>di</strong>ca il vicinato <strong>di</strong> una cella e quin<strong>di</strong> la funzione <strong>di</strong><br />
transizione <strong>di</strong> una cella legge solo la componente Ski dallo stato <strong>dell</strong>a cella vicina ki.<br />
Da un punto <strong>di</strong> vista pratico, gli <strong>automi</strong> <strong>cellulari</strong> partizionati hanno il vantaggio che il<br />
dominio <strong>dell</strong>a funzione <strong>di</strong> transizione σ ha una <strong>di</strong>mensione minore che nel caso<br />
standard. Infatti, il dominio <strong>di</strong> σ ha <strong>di</strong>mensione|S| invece <strong>di</strong>|S| |X|. Questo tipo <strong>di</strong> <strong>automi</strong><br />
<strong>cellulari</strong> restringe i dati <strong>di</strong> input per la funzione <strong>di</strong> transizione <strong>di</strong> una cella, che riceve<br />
solo una parte <strong>di</strong> informazione da ognuna <strong>dell</strong>e celle vicine. Questa proprietà in alcuni<br />
casi, in particolare in quello in cui lo stato <strong>dell</strong>e celle è complesso, può rendere possibile<br />
l'implementazione <strong>dell</strong>a funzione <strong>di</strong> transizione che nel caso standard potrebbe essere<br />
impossibile implementare a causa <strong>dell</strong>a <strong>di</strong>mensione del suo dominio.<br />
20
1.4.4 Automi <strong>cellulari</strong> probabilistici<br />
Gli <strong>automi</strong> <strong>cellulari</strong> probabilistici presentano <strong>dell</strong>e similitu<strong>di</strong>ni con quelli non<br />
deterministici, seppure sono <strong>di</strong>fferenti da loro. Gli <strong>automi</strong> <strong>cellulari</strong> probabilistici sono<br />
stati definiti per simulare fenomeni probabilistici osservati in natura. Ad esempio,<br />
fenomeni probabilistici si hanno nei gas reticolari dove certe configurazioni locali<br />
possono portare lo stato <strong>di</strong> una cella verso due possibili stati <strong>di</strong>fferenti con uguale<br />
probabilità. In un automa cellulare, data una cella ed una particolare configurazione<br />
c(N(X,i)) <strong>dell</strong>e celle ad essa vicine, viene definita una probabilità per ogni possibile<br />
nuovo stato se S in cui una cella si potrà trovare nella prossima iterazione. In questo<br />
caso la funzione <strong>di</strong> transizione elementare ha la forma seguente:<br />
[ ( 0;<br />
1)<br />
]<br />
n<br />
Essa deve sottostare alla con<strong>di</strong>zione che ∀ c( N(<br />
X , i)<br />
) ∈ S<br />
: S × S →<br />
n<br />
σ (1.8)<br />
si ha che<br />
∑s∈S ( ( N(<br />
X , i)<br />
) , s)<br />
σ c = 1<br />
(1.9)<br />
1.4.5 Automi <strong>cellulari</strong> asincroni<br />
In un automa cellulare asincrono, una cella ad ogni iterazione può decidere in maniera<br />
non deterministica se cambiare il proprio stato in base alla funzione <strong>di</strong> transizione o"<br />
oppure mantenere lo stato corrente. Negli <strong>automi</strong> <strong>cellulari</strong> asincroni la funzione <strong>di</strong><br />
transizione elementare é simile a simile a quella del mo<strong>dell</strong>o standard, vale a <strong>di</strong>re.<br />
S S<br />
n σ : →<br />
(1.20)<br />
Tuttavia, la definizione <strong>dell</strong>a funzione <strong>di</strong> transizione globale é <strong>di</strong>fferente, infatti si ha<br />
che<br />
[ () c ]() i = σ ( c(<br />
N(<br />
X i)<br />
) ) ∨ [ τ ( c)<br />
]() i = c()<br />
i<br />
τ , (1.21)<br />
Questa classe <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong> rappresenta una mo<strong>di</strong>fica rispetto al mo<strong>dell</strong>o standard<br />
in quanto rilascia il vincolo <strong>dell</strong>’ aggiornamento <strong>dell</strong>o stato in maniera sincrona per tutte<br />
le celle e rappresenta un utile mo<strong>dell</strong>o computazionale in quei casi in cui si simulano<br />
sistemi asincroni nei quali non é necessario che lo stato <strong>di</strong> tutte le componenti sia<br />
aggiornato contemporaneamente.<br />
21
1.4.6 Automi <strong>cellulari</strong> inomogenei<br />
Gli <strong>automi</strong> <strong>cellulari</strong> inomogenei sono una generalizzazione degli <strong>automi</strong> <strong>cellulari</strong><br />
standard, infatti, essi sono computazionalmente più potenti. Negli <strong>automi</strong> <strong>cellulari</strong> si<br />
può avere inomogenetità sia dal punto <strong>di</strong> vista spaziale sia dal punto <strong>di</strong> vista temporale,<br />
ed ognuno <strong>di</strong> questi due casi non esclude l'altro. Nel caso <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong> inomogenei<br />
spazialmente la funzione <strong>di</strong> transizione elementare <strong>dell</strong>e celle può variare al variare<br />
<strong>dell</strong>e coor<strong>di</strong>nate <strong>dell</strong>e celle. Quin<strong>di</strong> l'automa non è caratterizzato da un'unica funzione a,<br />
ma si possono avere <strong>di</strong>fferenti funzioni <strong>di</strong> transizione σ1 ,σ2 ……,σn per n <strong>di</strong>fferenti celle<br />
o regioni <strong>dell</strong>'automa ed a queste possono anche essere associate <strong>di</strong>fferenti relazioni <strong>di</strong><br />
vicinato. Esempi <strong>di</strong> <strong>automi</strong> inomogenei spazialmente sono utili quando si vuole<br />
simulare sistemi in cui alcune loro parti svolgono un ruolo particolare, come una<br />
sorgente <strong>di</strong> particelle o un cratere <strong>di</strong> un vulcano, oppure quando si vuole restringere la<br />
computazione in una regione limitata <strong>dell</strong>'automa.<br />
Nel caso <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong> inomogenei temporalmente la funzione <strong>di</strong> transizione<br />
elementare <strong>dell</strong>e celle può variare al variare del tempo. In questo caso le celle<br />
<strong>dell</strong>'automa possono aggiornare il loro stato per un dato numero <strong>di</strong> passi usando una<br />
funzione <strong>di</strong> transizione σta e poi per un altro numero <strong>di</strong> passi usano una <strong>di</strong>fferente<br />
funzione σtb e cosi via in funzione <strong>dell</strong>a computazione che l'automa cellulare deve<br />
eseguire. Questo tipo <strong>di</strong> <strong>automi</strong> inomogenei sono utili nel caso in cui si vogliono<br />
simulare fenomeni che sono composti da più fasi computazionali tra loro <strong>di</strong>fferenti ed<br />
una <strong>di</strong> seguito all'altra. Esempi <strong>di</strong> queste computazioni sono il filtraggio <strong>di</strong> una<br />
immagine tramite una serie <strong>di</strong> filtri <strong>di</strong>versi ognuno realizzato da una funzione <strong>di</strong><br />
transizione <strong>di</strong>fferente, oppure la simulazione <strong>di</strong> un fenomeno chimico-fisico composto<br />
da più fasi temporalmente <strong>di</strong>stinte che si realizzano tramite una serie <strong>di</strong> funzioni <strong>di</strong><br />
transizione, ognuna associata ad una fase del fenomeno.<br />
1.4.7 Automi <strong>cellulari</strong> gerarchici<br />
Per <strong>automi</strong> <strong>cellulari</strong> gerarchici si intendono qui <strong>automi</strong> <strong>cellulari</strong> in cui le singole celle<br />
non sono atomiche, ma sono composte da parti più semplici e quin<strong>di</strong> lo stato <strong>di</strong> una<br />
cella <strong>di</strong>pende dallo stato <strong>dell</strong>e sue parti.<br />
Questo mo<strong>dell</strong>o, detto anche “multilayered” é una generalizzazione del mo<strong>dell</strong>o <strong>di</strong><br />
automa standard e corrisponde ad un insieme <strong>di</strong> <strong>automi</strong> <strong>cellulari</strong> parzialmente or<strong>di</strong>nati.<br />
22
Esso é basato sulla struttura <strong>di</strong> un grafo annidato, in pratica un grafo composto da<br />
vertici ed archi, dove ogni vertice é a sua volta una grafo annidato.<br />
In un automa cellulare gerarchico composto da k livelli con k ={0, 1, .. ., n}, lo stato <strong>di</strong><br />
una singola cella del livello i-1 é composto dallo stato <strong>dell</strong>e celle del livello i-1 che<br />
concorrono a comporre la singola cella del livello superiore. A sua volta, lo stato <strong>di</strong> una<br />
cella del livello i-1 é composto dallo stato <strong>dell</strong>e celle del livello i-2 e così via. La<br />
funzione <strong>di</strong> transizione <strong>di</strong> una cella al livello i mo<strong>di</strong>fica il suo stato in base allo stato dei<br />
no<strong>di</strong> del vicinato <strong>dell</strong>a cella al livello ; ed in base allo stato <strong>dell</strong>e celle elementari del<br />
livello i-1 che compongono la cella stessa.<br />
Gli <strong>automi</strong> <strong>cellulari</strong> gerarchici o “multilayered” sono stati introdotti come mo<strong>dell</strong>i<br />
computazionali per sistemi multi-scala (multí-scale) e per la simulazione <strong>di</strong> sistemi<br />
biologici multi-livello (multi-level). In questi casi si ha a che fare con fenomeni e/o<br />
sistemi composti in cui la scala del tempo e <strong>dell</strong>o spazio per i sotto-fenomeni<br />
componenti sono molto <strong>di</strong>fferenti. Gli <strong>automi</strong> <strong>cellulari</strong> gerarchici permettono <strong>di</strong><br />
compiere le simulazioni utilizzando una grana fine a basso livello ed una grana più<br />
grossa ad un livello più alto e riportando, tramite opportuni filtraggi o me<strong>di</strong>e, i risultati<br />
dei livelli bassi verso le celle dei livelli più alti <strong>dell</strong>'automa gerarchico. Ad esempio, nel<br />
caso <strong>di</strong> un materiale da stu<strong>di</strong>are, nel livello più basso <strong>dell</strong>'automa ad ogni cella si può<br />
associare una particella con le sue proprietà microscopiche, mentre nel livello più alto<br />
una cella corrisponde ad una porzione del materiale composta da un gran numero <strong>di</strong><br />
particelle ed il suo stato conterrà i valori <strong>dell</strong>e grandezze macroscopiche che<br />
caratterizzano il materiale.<br />
1.5 Automi <strong>cellulari</strong> e sistemi complessi<br />
Lo strumento matematico storicamente ed attualmente più usato per lo stu<strong>di</strong>o teorico dei<br />
fenomeni complessi sono le equazioni <strong>di</strong>fferenziali tuttavia, in questi ultimi anni nuovi<br />
mo<strong>dell</strong>i matematici sono stati utilizzati per definire mo<strong>dell</strong>i per i cosiddetti sistemi<br />
complessi. Intendendo con il termine sistema complesso un sistema composto da un<br />
numero elevato <strong>di</strong> parti in<strong>di</strong>pendenti tra loro ed interagenti in modo non lineare che<br />
danno luogo a comportamenti che <strong>di</strong>fficilmente possono essere spiegati da una legge<br />
fisica o da un sistema <strong>di</strong> equazioni matematiche che sono la somma <strong>dell</strong>e equazioni che<br />
descrivono le sue parti. Esempi <strong>di</strong> sistemi complessi sono- un fluido le cui particelle<br />
23
hanno un movimento vorticoso, il sistema immunitario, un bosco in fiamme, il cervello<br />
umano, un flusso <strong>di</strong> lava, una colonia <strong>di</strong> insetti, una comunità <strong>di</strong> persone che<br />
interagiscono tra loro, un flusso <strong>di</strong> veicoli su una rete autostradale.<br />
Le equazioni <strong>di</strong>fferenziali alle derivate parziali sono state definite per descrivere sistemi<br />
fisici, come ad esempio i flui<strong>di</strong>. I quali possono essere considerati come dei mezzi<br />
continui. I calcolatori sono stati usati come uno strumento per trovare le formule<br />
matematiche per la soluzione <strong>dell</strong>e equazioni <strong>di</strong>fferenziali. Questo ha permesso <strong>di</strong><br />
ottenere gran<strong>di</strong> successi ed un notevole progresso in tutti i settori <strong>dell</strong>a fisica e <strong>dell</strong>e<br />
altre scienze ed in particolare in quei settori, come l'elettromagnetismo o la<br />
fluido<strong>di</strong>namica, in cui i fenomeni sono descritti o approssimati in termini <strong>di</strong> equazioni<br />
<strong>di</strong>fferenziali lineari alle derivate parziali. Questi strumenti matematici appaiono essere<br />
meno efficaci nella risoluzione <strong>di</strong> problemi come la turbolenza dei flui<strong>di</strong> in cui é<br />
necessario usare equazioni <strong>di</strong>fferenziali non lineari alle derivate parziali.<br />
Sono <strong>di</strong>scussi alcuni esempi <strong>di</strong> sistemi complessi in vari settori scientifici, dalla fisica<br />
alla biologia, all'ingegneria, ed alla vita artificiale e per essi é descritto come, attraverso<br />
gli <strong>automi</strong> <strong>cellulari</strong> è possibile dare una formalizzazione non necessariamente<br />
complessa che permetta <strong>di</strong> definire un mo<strong>dell</strong>o che allo stesso tempo é sia una<br />
astrazione del sistema che rappresenta, sia una procedura eseguibile per la simulazione<br />
del sistema complesso stesso. Questo serve a <strong>di</strong>mostrare come attraverso un mo<strong>dell</strong>o<br />
matematico abbastanza semplice, sia possibile descrivere e risolvere problemi<br />
complessi. Questo avviene perché gli <strong>automi</strong> <strong>cellulari</strong> e altri mo<strong>dell</strong>i ad essi vicini,<br />
permettono <strong>di</strong> esprimere un algoritmo tramite il quale é possibile tradurre un processo o<br />
sistema fisico in un processo computazionale.<br />
1.5.1 Una alternativa al calcolo <strong>di</strong>fferenziale<br />
L'uso dei calcolatori per la soluzione <strong>dell</strong>e equazioni <strong>di</strong>fferenziali presenta il problema<br />
<strong>di</strong> dover rappresentare le variabili continue in esse contenute tramite <strong>dell</strong>e quantità<br />
<strong>di</strong>screte costituite da numeri a 32 o a 64 bit.<br />
Questo problema porta alla necessità <strong>di</strong> dover operare <strong>dell</strong>e approssimazioni, ed in<br />
particolare, per molte equazioni non lineari devono essere usati meto<strong>di</strong> ad hoc per<br />
calibrare l'accuratezza <strong>dell</strong>e approssimazioni.<br />
24
Come detto in precedenza, la base matematica <strong>di</strong> molti mo<strong>dell</strong>i dei fenomeni fisici e<br />
naturali é rappresentata dalle equazioni <strong>di</strong>fferenziali.<br />
Tali equazioni forniscono <strong>dell</strong>e relazioni tra <strong>dell</strong>e quantità fisiche e loro variazioni. Ad<br />
esempio, una reazione chimica avviene ad una data velocità proporzionale alle<br />
concentrazioni dei reagenti chimici, e la relazione tra la velocità <strong>di</strong> reazione e la<br />
concentrazione dei reagenti, può essere espressa tramite una equazione <strong>di</strong>fferenziale.<br />
Una soluzione <strong>dell</strong>'equazione darà la concentrazione dei reagenti in funzione del tempo.<br />
In alcuni casi semplici è possibile trovare una soluzione completa all'equazione<br />
utilizzando dei meto<strong>di</strong> <strong>di</strong> risoluzione standard. In molti casi, tuttavia, l’esatta soluzione<br />
non può essere ottenuta a causa <strong>dell</strong>a complessità <strong>dell</strong>'equazione stessa. Diventa quin<strong>di</strong><br />
necessario utilizzare <strong>dell</strong>e approssimazioni. .<br />
Le approssimazioni più comunemente usate sono <strong>di</strong> tipo numerico. Supponiamo che un<br />
termine <strong>di</strong> una equazione <strong>di</strong>fferenziale ci <strong>di</strong>a il tasso istantaneo <strong>di</strong> variazione nel tempo<br />
<strong>di</strong> una data quantità. Il termine può essere approssimato dal cambiamento totale <strong>dell</strong>a<br />
quantità su un piccolo intervallo <strong>di</strong> tempo e da questo può essere sostituito<br />
dall’equazione <strong>di</strong>fferenziale. L'equazione risultante rappresenta, in effetti, un algoritmo<br />
che dato un valore per la quantità all'inizio <strong>dell</strong>'intervallo, determina il valore<br />
approssimato <strong>dell</strong>a quantità alla fine <strong>dell</strong>'intervallo. Applicando l'algoritmo<br />
iterativamente per successivi intervalli, si può calcolare la variazione approssimata <strong>dell</strong>a<br />
quantità nel tempo. Intervalli più piccoli portano a risultati più accurati. Il calcolo<br />
richiesto per ogni intervallo può essere abbastanza semplice, ma esso deve essere<br />
ripetuto un numero elevato <strong>di</strong> volte per ottenere un livello <strong>di</strong> approssimazione<br />
accettabile.<br />
Questo tipo <strong>di</strong> approccio può essere realizzato utilizzando un calcolatore per eseguire un<br />
programma che co<strong>di</strong>fica l'algoritmo sopra descritto.<br />
Un programma che contiene le leggi del moto <strong>di</strong> una particella in un campo magnetico<br />
può essere usato per eseguire degli esperimenti tramite calcolatore. Tali esperimenti<br />
sono più flessibili degli esperimenti eseguiti in laboratorio. Ad esempio, un esperimento<br />
<strong>di</strong> laboratorio può essere facilmente preparato per stu<strong>di</strong>are la traiettoria <strong>di</strong> un elettrone<br />
che si muove sotto l'influenza <strong>di</strong> un campo magnetico in un tubo cato<strong>di</strong>co.<br />
Tuttavia, non si può approntare un esperimento <strong>di</strong> laboratorio per riprodurre le<br />
con<strong>di</strong>zioni incontrate da un elettrone che si muove in un campo magnetico che circonda<br />
25
una stella. Come non si può simulare in laboratorio una esplosione nucleare o una colata<br />
lavica. D'altra parte, occorre notare che in questi casi é possibile simulare il fenomeno<br />
tramite un programma <strong>di</strong> simulazione su un calcolatore con elevate prestazioni<br />
computazionali.<br />
Nelle applicazioni pratiche spesso si trova che, non solo le equazioni <strong>di</strong>fferenziali sono<br />
complicate da risolvere, ma anche che occorre risolvere un numero elevato <strong>di</strong> esse per<br />
stu<strong>di</strong>are un fenomeno. Ad esempio, i mo<strong>dell</strong>i teorici <strong>dell</strong>e esplosioni nucleari e lo stu<strong>di</strong>o<br />
<strong>dell</strong>e supernove implicano la risoluzione <strong>di</strong> centinaia <strong>di</strong> equazioni <strong>di</strong>fferenziali che<br />
descrivono l'interazione <strong>di</strong> un numero molto grande <strong>di</strong> isotopi. In pratica, tali mo<strong>dell</strong>i<br />
che tengono conto <strong>dell</strong>'interazione tra molte quantità fisiche sono sempre realizzati in<br />
termini <strong>di</strong> programmi da eseguire su un calcolatore.<br />
Le equazioni <strong>di</strong>fferenziali danno dei mo<strong>dell</strong>i adeguati per le proprietà globali <strong>di</strong> processi<br />
fisici, come ad esempio le reazioni chimiche o il moto <strong>di</strong> un fluido. Esse descrivono, ad<br />
esempio, le variazione nella concentrazione <strong>dell</strong>e molecole, ma non possono descrivere<br />
i moti <strong>di</strong> ogni singola molecola. Questi moti possono essere mo<strong>dell</strong>ati come dei<br />
cammini casuali; in questo caso il cammino <strong>di</strong> ogni singola molecola è simile al<br />
cammino <strong>di</strong> una persona in una folla <strong>di</strong> persone che si spostano tutte<br />
contemporaneamente. Nella più semplice versione del mo<strong>dell</strong>o, per ogni molecola si<br />
assume che essa si muova lungo una linea retta finché non collide con un'altra molecola.<br />
In questo caso sceglie una <strong>di</strong>rezione casuale. Tutti i passi lungo una linea retta sono<br />
assunti <strong>di</strong> lunghezza uguale. Secondo questo approccio, se si considera un grande<br />
numero <strong>di</strong> molecole che seguono cammini casuali, si ottiene che la variazione me<strong>di</strong>a nel<br />
tempo nella concentrazione <strong>dell</strong>e molecole può essere descritta da una equazione<br />
<strong>di</strong>fferenziale chiamata equazione <strong>di</strong> <strong>di</strong>ffusione.<br />
1.5.2 Sistemi complessi<br />
Occorre notare che vi sono molti processi fisici per i quali una descrizione dei valori<br />
me<strong>di</strong> non é possibile. In tali casi, le equazioni <strong>di</strong>fferenziali non possono essere utilizzate<br />
e quin<strong>di</strong> occorre usare un approccio basato sulla simulazione microscopica. I moti <strong>di</strong><br />
molte singole molecole devono essere seguiti esplicitamente e, il comportamento<br />
globale del sistema viene stimato calcolando le proprietà me<strong>di</strong>e dei risultati <strong>dell</strong>a<br />
26
simulazione. Il solo modo fattibile per realizzare tali simulazioni é attraverso l'uso dei<br />
calcolatori.<br />
Sono numerosi gli esempi <strong>di</strong> sistemi la cui costruzione e abbastanza semplice ma il cui<br />
comportamento é estremamente complesso. Lo scopo <strong>di</strong> una a teoria dei sistemi<br />
complessi é <strong>di</strong> cercare <strong>dell</strong>e leggi che regolano il comportamento globale <strong>di</strong> questi<br />
sistemi e che non sono facilmente deducibili dall'analisi <strong>dell</strong>e singole leggi che<br />
controllano ciascuno dei sottosistemi costituenti.<br />
Lo stu<strong>di</strong>o <strong>di</strong> questi sistemi ha portato allo sviluppo <strong>di</strong> una nuova aerea <strong>di</strong> ricerca detta<br />
scienza o teoria dei sistemi complessi in cui i meto<strong>di</strong> computazionale giocano un ruolo<br />
fondamentale. La scienza dei sistemi complessi parte sempre dal comportamento dalle<br />
singole componenti <strong>di</strong> un sistema complesso e dalle loro interazioni. Tuttavia, essa si<br />
basa sull’ipotesi che le proprietà microscopiche dei componenti sono poco rilevanti e<br />
che il comportamento collettivo non varia se variano <strong>di</strong> poco le leggi che regolano il<br />
comportamento dei singoli componenti.<br />
Un esempio classico <strong>di</strong> sistema complesso é rappresentato dalle turbolenze nei flui<strong>di</strong><br />
che si sviluppano, ad esempio, quando l’acqua scorre rapidamente attorno ad una<br />
ostruzione. L’insieme <strong>dell</strong>e equazioni <strong>di</strong>fferenziali sod<strong>di</strong>sfatte dal fluido possono essere<br />
facilmente definite. I mo<strong>dell</strong>i <strong>di</strong> flussi del fluido che le equazioni determinano non<br />
possono, tuttavia, essere trattati matematicamente. In pratica, i mo<strong>dell</strong>i sono determinati<br />
o attraverso l'osservazione del sistema fisico reale o attraverso simulazioni tramite<br />
calcolatore.<br />
E’ stato supposto che esista un insieme <strong>di</strong> meccanismi matematici comuni a molti<br />
sistemi che danno origine a comportamenti complessi. Questi meccanismi possono<br />
essere meglio stu<strong>di</strong>ati in sistemi la cui, costruzione sia più semplice possibile. Tali stu<strong>di</strong><br />
sono stati fatti per una classe <strong>di</strong> sistemi matematici rappresentata dagli <strong>automi</strong> <strong>cellulari</strong>.<br />
Come <strong>di</strong>scusso in precedenza, in un automa cellulare ogni componente elementare<br />
(cella) evolve secondo una regola locale, ma le tutte le celle, considerate nel loro<br />
complesso, generano un comportamento <strong>di</strong> elevata complessità.<br />
La simulazione tramite calcolatori é un metodo molto usato per lo stu<strong>di</strong>o e l'analisi <strong>di</strong><br />
molti fenomeni in vari settori <strong>dell</strong>a scienza. Appare per questo naturale chiedersi se la<br />
simulazione é il metodo più efficiente da usare o vi é una formula matematica che può<br />
27
portare più <strong>di</strong>rettamente ai risultati cercati. Per chiarire questo particolare aspetto<br />
occorre analizzare la corrispondenza tra i processi fisici e i processi computazionali.<br />
E’ presumibilmente vero che qualunque processo fisico può essere descritto da un<br />
algoritmo, cosi ogni processo fisico può essere rappresentato da un processo<br />
computazionale.<br />
PROCESSO FISICO<br />
Algoritmo<br />
PROCESSO<br />
COMPUTAZIONALE<br />
Naturalmente il processo computazionale può essere più o meno complesso. Nel caso<br />
degli <strong>automi</strong> <strong>cellulari</strong> la corrispondenza tra processi fisici e processi computazionali é<br />
particolarmente chiara. Infatti, un automa cellulare può essere visto come un mo<strong>dell</strong>o <strong>di</strong><br />
un sistema fisico, ma d'altra parte esso può essere realizzato come un processo<br />
computazionale con una stretta analogia con il mo<strong>dell</strong>o dei sistemi <strong>di</strong> elaborazione. Ed<br />
in particolare con i sistemi <strong>di</strong> elaborazione paralleli.<br />
La sequenza dei valori iniziali <strong>dell</strong>o stato <strong>dell</strong>e celle può essere vista come i dati <strong>di</strong> una<br />
memoria <strong>di</strong> un calcolatore. Questi valori sono mo<strong>di</strong>ficati dalla funzione <strong>di</strong> transizione<br />
analogamente a quanto avviene da parte <strong>dell</strong>'unità centrale <strong>di</strong> elaborazione in un<br />
calcolatore sui dati in memoria.<br />
Secondo quest’approccio, l'evoluzione <strong>di</strong> un automa cellulare, da una configurazione<br />
iniziale, può essere visto come una elaborazione <strong>dell</strong>e informazioni contenute nella<br />
configurazione. Per <strong>automi</strong> <strong>cellulari</strong> con un comportamento semplice si hanno<br />
elaborazioni elementari, mentre ad <strong>automi</strong> <strong>cellulari</strong> che hanno un comportamento <strong>di</strong> una<br />
certa complessità, corrispondono elaborazione complicate.<br />
Gli <strong>automi</strong> <strong>cellulari</strong> possono essere utilizzati per mo<strong>dell</strong>are esplicitamente una grande<br />
varietà <strong>di</strong> processi fisici. Ad esempio, la formazione <strong>dell</strong>a neve si può simulare tramite<br />
una griglia esagonale bi<strong>di</strong>mensionale <strong>di</strong> celle in cui il ghiaccio é rappresentato da celle<br />
con valore pari ad 1 ed il vapore acqueo con celle con valore pari a 0. Tramite questo<br />
28
tipo <strong>di</strong> automa cellulare molto semplice si possono mo<strong>dell</strong>are gli sta<strong>di</strong> successivi <strong>dell</strong>a<br />
creazione dei fiocchi <strong>di</strong> neve. Le regole <strong>di</strong> evoluzione <strong>dell</strong>'automa sono definite in modo<br />
che una volta che una cella é ghiacciata essa non si sgela. Le celle che si trovano ai<br />
bor<strong>di</strong> <strong>dell</strong>a superficie gelata possono ghiacciarsi se non hanno molte celle vicine già<br />
ghiacciate in modo tale che non possano <strong>di</strong>ssipare abbastanza calore per ghiacciarsi.<br />
Usando queste semplici regole la creazione dei fiocchi <strong>di</strong> neve può essere simulata in un<br />
calcolatore partendo da una singola cella ghiacciata. Il risultato <strong>dell</strong>a simulazione<br />
mostra la creazione <strong>di</strong> una struttura molto simile a quella dei fiocchi <strong>di</strong> neve reali.<br />
Questo esempio mostra come, tramite gli <strong>automi</strong> <strong>cellulari</strong>, possono essere simulati<br />
fenomeni complessi usando <strong>dell</strong>e regole molto semplici rispetto ad altri meto<strong>di</strong> <strong>di</strong><br />
calcolo più convenzionali. Un insieme <strong>di</strong> equazioni <strong>di</strong>fferenziali può anche descrivere<br />
molto bene la crescita dei fiocchi <strong>di</strong> neve, tuttavia il mo<strong>dell</strong>o molto più semplice offerto<br />
dagli <strong>automi</strong> <strong>cellulari</strong> riesce a preservare l'essenza del processo attraverso il quale<br />
vengono create <strong>dell</strong>e strutture complesse.<br />
Mo<strong>dell</strong>i simili a quello <strong>dell</strong>'esempio descritto funzionano molto bene in molti settori,<br />
come ad esempio la fluido<strong>di</strong>namica e i sistemi biologici.<br />
In quest’ultimo caso, mo<strong>dell</strong>i complicati <strong>di</strong> crescita e pigmentazione possono essere<br />
mo<strong>dell</strong>ati tramite semplici algoritmi realizzati tramite gli <strong>automi</strong> <strong>cellulari</strong>.<br />
1.5.3 Mo<strong>dell</strong>i <strong>di</strong> sistemi fisici complessi<br />
Molti fenomeni fisici sono dovuti al comportamento collettivo <strong>di</strong> un numero molto<br />
elevato <strong>di</strong> particelle che interagiscono tra loro. In molti casi, lo stu<strong>di</strong>o <strong>di</strong> questi<br />
fenomeni non richiede la conoscenza esatta <strong>dell</strong>o stato dei costituenti microscopici.<br />
Infatti, ad esempio, per stu<strong>di</strong>are le correnti in un corso d'acqua non é necessario<br />
conoscere esattamente la posizione e la velocità <strong>di</strong> tutte le molecole d'acqua che lo<br />
compongono.<br />
Questo é dovuto al fatto che esistono molti stati microscopici che danno luogo ad uno<br />
stesso stato macroscopico. Quin<strong>di</strong> non ha importanza conoscere in quali degli stati<br />
microscopici equivalenti si trova il sistema in osservazione in quanto essi corrispondono<br />
ad uno stesso stato a livello macroscopico.<br />
La <strong>di</strong>sciplina che fornisce gli strumenti per stu<strong>di</strong>are la corrispondenza tra stati<br />
microscopici e macroscopici in un sistema fisico é la meccanica statistica. Siccome<br />
29
generalmente al livello macroscopico i processi fisici <strong>di</strong>pendono molto poco dai dettagli<br />
del livello microscopico, in fisica si è potuto verificare che mo<strong>dell</strong>i astratti composti da<br />
particelle definite in modo appropriato possono rappresentare le caratteristiche più<br />
importanti <strong>di</strong> sistemi fisici reali.<br />
Gli <strong>automi</strong> <strong>cellulari</strong> sono essenzialmente basati su queste idee. Per questo motivo, essi<br />
offrono uno nuovo approccio alla simulazione <strong>di</strong> sistemi complessi più vicino alla fisica<br />
e con un contenuto intuitivo importante. Grazie al rapido sviluppo dei sistemi <strong>di</strong> calcolo,<br />
negli ultimi anni la simulazione numerica <strong>di</strong> fenomeni fisici sta <strong>di</strong>ventando uno<br />
strumento tecnologico in<strong>di</strong>spensabile. La simulazione tramite calcolatore è <strong>di</strong>venuta,<br />
infatti, una parte essenziale <strong>dell</strong>a ricerca universitaria e <strong>di</strong> quella industriale.<br />
Gli <strong>automi</strong> <strong>cellulari</strong> forniscono degli strumenti utili ed efficienti per stu<strong>di</strong>are e simulare<br />
molti problemi fisici tramite l'uso <strong>di</strong> sistemi <strong>di</strong> calcolo ad alte prestazioni. Alcuni<br />
problemi significativi in fisica che sono stati investigati tramite gli <strong>automi</strong> <strong>cellulari</strong><br />
sono, ad esempio, il ferromagnetismo, la fluido<strong>di</strong>namica, i fenomeni <strong>di</strong> <strong>di</strong>ffusione, la<br />
<strong>di</strong>namica molecolare, i fenomeni collettivi nei cristalli, il flusso in mezzi porosi, la<br />
propagazione <strong>di</strong> onde. Alcuni <strong>di</strong> questi problemi sono descritti in questo <strong>capitolo</strong> allo<br />
scopo <strong>di</strong> mostrare come loro possono essere stu<strong>di</strong>ati e mo<strong>dell</strong>ati tramite <strong>automi</strong> <strong>cellulari</strong>.<br />
Figura 1.2- Un mo<strong>dell</strong>o <strong>di</strong> reazioni chimiche oscillatorie. Quando abbastanza reagenti<br />
sono nel vicinato <strong>di</strong> una cella il prodotto successivo nel ciclo è formato. Con un basso<br />
contenuto <strong>di</strong> reagente i risultanti” pattern” sono piccoli e le oscillazioni cadono in un<br />
ciclo corto (foto a sinistra). Una soglia non-monotonica crea larghi “patterns” i quali<br />
cambiano continuamente(foto a destra).<br />
30
1.6 Gli <strong>automi</strong> <strong>cellulari</strong> ed il loro impiego nella fisica<br />
Da un punto <strong>di</strong> vista computazionale, gli <strong>automi</strong> <strong>cellulari</strong> esprimono il tentativo <strong>di</strong><br />
introdurre nella scienza un nuovo modo <strong>di</strong> pensare: le leggi scientifiche sono<br />
considerate sotto forma <strong>di</strong> algoritmi e molte <strong>di</strong> esse vengono stu<strong>di</strong>ate tramite<br />
esperimenti o simulazioni al calcolatore. Il programma del calcolatore, in questo caso è<br />
un veicolo tramite il quale gli algoritmi possono essere espressi e applicati.<br />
Tuttavia, vi è una sostanziale <strong>di</strong>fferenza tra la gran parte dei calcolatori ora utilizzati ed i<br />
sistemi fisici o loro mo<strong>dell</strong>i: i calcolatori convenzionali elaborano l’informazione<br />
sequenzialmente, mentre i sistemi fisici la elaborano in parallelo. In un sistema fisico<br />
rappresentato da un automa cellulare, i valori <strong>dell</strong>e celle sono aggiornati tutti insieme in<br />
parallelo ad ogni passo temporale mentre in un sistema <strong>di</strong> calcolo sequenziale la<br />
simulazione <strong>dell</strong>’automa cellulare è compiuta me<strong>di</strong>ante una iterazione che aggiorna i<br />
valori <strong>dell</strong>e celle uno dopo l’altro. Gli elaboratori paralleli permettono dunque una<br />
descrizione dei fenomeni fisici ad un maggior livello ed in maniera più efficace. Essi<br />
permettono, infatti, <strong>di</strong> esplicitare in modo naturale il parallelismo intrinseco del mo<strong>dell</strong>o<br />
degli <strong>automi</strong> <strong>cellulari</strong> il quale corrisponde al parallelismo presente nei sistemi fisici.<br />
Questi mo<strong>dell</strong>i sono un tipico esempio del processo <strong>di</strong> riduzione utilizzato in fisica<br />
nell’analisi <strong>di</strong> sistemi complessi. Il punto <strong>di</strong> partenza è che fenomeni complicati possano<br />
essere originati da poche leggi semplici. Sotto questa ipotesi, si cercano quin<strong>di</strong> mo<strong>dell</strong>i<br />
semplici che basati su queste leggi riproducano il comportamento dei sistemi più<br />
complicati. Al <strong>di</strong> là <strong>dell</strong>a loro rilevanza fisica e/o biologica, questi mo<strong>dell</strong>i sono un<br />
esempio <strong>di</strong> un sistema <strong>di</strong>namico <strong>di</strong>screto che può essere simulato esattamente su un<br />
computer.<br />
Esiste una letteratura piuttosto ampia sulle capacità degli <strong>automi</strong> <strong>cellulari</strong> <strong>di</strong> simulare i<br />
processi fisici, con particolare riguardo alle configurazioni spaziali. Qui ci limiteremo a<br />
ricordare che, negli anni ’80, S. Wolfram e C. Langton identificarono quattro classi<br />
fondamentali <strong>di</strong> AC, tra loro correlate al variare <strong>di</strong> un parametro d’or<strong>di</strong>ne, che può<br />
essere identificato come l’equivalente computazionale <strong>dell</strong>a temperatura del sistema<br />
fisico. Le 4 classi <strong>di</strong> Wolfram-Langton sono identificate dal tipo <strong>di</strong> regole <strong>di</strong> transizione,<br />
e il loro sviluppo è in<strong>di</strong>pendente dalle particolari con<strong>di</strong>zioni iniziali assegnate:<br />
31
Classe 1: è una classe <strong>di</strong> AC che evolve piuttosto velocemente verso stati omogenei; nel<br />
linguaggio dei sistemi <strong>di</strong>namici questo equivale ad avere nello spazio <strong>dell</strong>e fasi un<br />
attrattore a punto fisso, ossia una configurazione ben definita in un tempo finito.<br />
Classe II: evoluzione verso configurazioni perio<strong>di</strong>che o quasi-perio<strong>di</strong>che, ossia verso<br />
cicli limite. Si tratta <strong>di</strong> comportamenti equivalenti, nel <strong>di</strong>screto, ai sistemi <strong>di</strong>ssipativi e<br />
dunque sono amplificatori polinomiali <strong>di</strong> informazione.<br />
Classe III: evolve verso configurazioni aperio<strong>di</strong>che molto complesse, che nel<br />
linguaggio del continuo equivalgono agli attrattori strani. Si tratta <strong>di</strong> amplificatori<br />
esponenziali <strong>di</strong> informazione.<br />
Classe IV: è quella che manifesta una maggior ricchezza <strong>di</strong> comportamenti. E’<br />
possibile, infatti, osservare configurazioni variamente complesse, come quelle <strong>dell</strong>e<br />
classi II e III, ma anche strutture <strong>di</strong>namiche regolari, una sorta <strong>di</strong> “frozen patterns” che<br />
ben si prestano a descrivere strutture spaziali definite che si evolvono nel tempo in<br />
modalità <strong>di</strong>verse, da quelle “like-particles” a fenomeni <strong>di</strong> accrescimento regolare con<br />
contorni variabili. Un esempio classico sono le forme <strong>di</strong> vita artificiale <strong>di</strong> Life.<br />
Il problema <strong>dell</strong>a classificazione <strong>di</strong> Wolfram consisteva nel fatto che la classe <strong>dell</strong>’AC<br />
non poteva essere determinata che a posteriori, me<strong>di</strong>ante la simulazione e la<br />
osservazione del comportamento. Questo fatto implicava che la classificazione poteva<br />
fornire informazioni solamente nella misura in cui questa poteva essere legata alle<br />
caratteristiche funzionali (esempio la complessità <strong>dell</strong>e regole <strong>di</strong> transizione)<br />
<strong>dell</strong>’automa cellulare.<br />
1.6.1 L’Ipotesi <strong>di</strong> Langton<br />
Nel 1990 Langton propose una possibilità per correlare un parametro degli AC alla loro<br />
classe.<br />
Occorre rilevare che in un sistema fisico esiste generalmente un parametro che è<br />
possibile far variare continuamente per passare da un sistema <strong>di</strong> un comportamento<br />
regolare ad un comportamento caotico, si trattava <strong>di</strong> trovare un equivalente per gli<br />
<strong>automi</strong> <strong>cellulari</strong>. Langton scelse il parametro lambda che è la frazione dei stati che<br />
secondo le regole <strong>di</strong> transizione, conducono ad attivare una cella nella prossima<br />
generazione<br />
Per AC con più stati e ruoli scoprì questo:<br />
32
λ piccola conduce all’or<strong>di</strong>ne<br />
λ approssimativamente 0.5 conduce a “edge of caos”<br />
λ prossima ad 1 conduce al caos<br />
I risultati sperimentali hanno <strong>di</strong>mostrato che l’evoluzione <strong>dell</strong>a <strong>di</strong>namica degli <strong>automi</strong><br />
<strong>cellulari</strong> segue l’evoluzione <strong>di</strong> lambda secondo la tabella seguente:<br />
Parametro <strong>di</strong> Langton Comportamento<br />
0 Assenza <strong>di</strong> sviluppo<br />
Vicino a 0 classe 1 : Tutte le cellule muoiono in poco tempo.<br />
Un poco più <strong>di</strong> 0<br />
Attorno al punto critico<br />
0.3<br />
classe 2 : Più aumenta lambda e più è lunga la<br />
stabilizzazione.<br />
classe 4 : Caratterizzata dall’esistenza <strong>di</strong> figure che si<br />
propagono.<br />
Vicino a 0.5 classe 3 : Assenza <strong>di</strong> stabilizzazione<br />
Al <strong>di</strong> là <strong>di</strong> 0.5<br />
Comportamento simmetrico in rapporto a 0.5<br />
(classe 3-> classe 4 -> classe 2 -> classe 1).<br />
Queste ricerche effettuate per degli <strong>automi</strong> uni<strong>di</strong>rezionali sembrano dunque mostrare<br />
che esiste «una transizione <strong>di</strong> fase» legata al parametro lambda e che questo parametro<br />
può essere usato come mezzo <strong>di</strong> previsione <strong>dell</strong>a <strong>di</strong>namica.<br />
I lavori <strong>di</strong> Langton hanno permesso <strong>di</strong> emettere una tesi la cui portata fisolofica è molto<br />
più generale : la vita, simbolizzata dalla Classe IV, sarebbe un fenomeno suscettibile <strong>di</strong><br />
trovarsi tra l’or<strong>di</strong>ne simbolizzato dalla Classe II ed il caos simbolizzato dalla classe III.<br />
Per generalizzare ancora <strong>di</strong> più sembrerebbe che l’emergere <strong>dell</strong>a vita nell’universo non<br />
sia possibile se non grazie ad un aggiustamento eccezionale <strong>dell</strong>e leggi fondamentali <strong>di</strong><br />
questo universo, piazzandole alla frontiera tra l’or<strong>di</strong>ne ed il caos.<br />
Christopher Langton, Wentian Li, and Norman Packard nel 1990 rifinirono la<br />
caratterizzazione <strong>di</strong> Wolfram.<br />
Per fare questo usarono il valore lambda creato da Langton (1990). L’equazione per il<br />
valore lambda è m/(k^(2r+1)), dove m è il numero <strong>dell</strong>e configurazioni totali che<br />
conducono ad uno stato non zero, k è il numero <strong>di</strong> stati, e r è il raggio. Zero fa<br />
33
iferimento allo stato quiescente <strong>dell</strong>a cellula. In maniera semplice il valore <strong>di</strong> lambda è<br />
il rapporto degli stati quiescenti con gli stati non quiescenti non quiescenti in un AC. E’<br />
pertanto possibile fare le seguenti caratterizzazioni:<br />
1. punti fissi spazialmente omogeni;<br />
2. punti fissi spazialmente non omogenei;<br />
3. comportamento perio<strong>di</strong>co;<br />
4. comportamento localmente caotico;<br />
5. comportamento caotico;<br />
6. comportamento complesso.<br />
Queste determinano sei tipi <strong>di</strong> AC che si sono <strong>di</strong>mostrati idonei a produrre operazioni<br />
utili. Questi AC sono considerati essere a “edge of chaos” perchè tendono ad essere in<br />
una fase <strong>di</strong> transizione tra il comportamento caotico e quello or<strong>di</strong>nato.<br />
Negli AC l’impre<strong>di</strong>cibilità ha un significato, vicino a quelli correntemente attribuiti a<br />
situazioni analoghe nella teoria dei sistemi <strong>di</strong>namici.<br />
Nel caso <strong>dell</strong>a classe IV le regole sono equivalenti a forme <strong>di</strong> non-linearità tipiche degli<br />
amplificatori <strong>di</strong> informazione, e infatti il comportamento degli AC <strong>di</strong> questa classe è<br />
tipico <strong>dell</strong>e ben note situazioni <strong>di</strong> criticità auto-organizzata, situazioni <strong>di</strong>namiche in cui<br />
il bilanciamento del sistema tra creazione <strong>di</strong> nuova informazione e <strong>di</strong>ssipazione, tra<br />
or<strong>di</strong>ne e caos, si mantiene all’interno <strong>di</strong> un ristretto “range” <strong>di</strong> valori critici ed è molto<br />
sensibile alle con<strong>di</strong>zioni del contorno (Bak-Tang-Wiesenfeld, 1987). Gli AC <strong>di</strong> questa<br />
classe sono utili per un vasto tipo <strong>di</strong> simulazioni <strong>di</strong> sistemi fisici, perché <strong>di</strong>versamente<br />
dalle classi I e II, che conservano l’informazione computata senza elaborarla<br />
ulteriormente, o dalla classe III, che non conserva invece memoria alcuna <strong>dell</strong>e strutture<br />
prodotte, nella classe IV si ha la possibilità <strong>di</strong> simulare strutture in interazione <strong>di</strong>namica.<br />
1.6.2 Nuovi meto<strong>di</strong> per definire a priori l’evoluzione <strong>di</strong> un AC<br />
Numerose effettive e continue misure <strong>dell</strong>a complessità (Wootters e Langton, 1990)<br />
sono state monitorate ed implementate.<br />
Una correlazione tra complessità ed attività è stata identificata, ma è risultato chiaro che<br />
questo parametro da solo non poteva pre<strong>di</strong>re la <strong>di</strong>namica del ruolo.<br />
Ad esempio, il ruolo d’identità, che congela nel tempo tutte le con<strong>di</strong>zioni iniziali, ha λ =<br />
½ e conduce all’or<strong>di</strong>ne <strong>di</strong> quiete. Quando il numero <strong>di</strong> stati od il “neighborhood size” è<br />
34
sufficientemente largo questa λ è in grado <strong>di</strong> or<strong>di</strong>nare la transizione al caos me<strong>di</strong>ante un<br />
aumento d’attività, a volte questo avviene gradualmente (reminescenza <strong>di</strong> una<br />
transizione <strong>di</strong> secondo or<strong>di</strong>ne, me<strong>di</strong>ante i ruoli <strong>di</strong> Classe 4), e altre volte<br />
repentinamente, in una fase <strong>di</strong> transizione <strong>di</strong> primo or<strong>di</strong>ne. Questo punto richiede<br />
parametri supplementari ancora non in<strong>di</strong>viduati.<br />
Per rispondere a questa necessità Binder, 1994, ha usato un nuovo parametro <strong>di</strong><br />
sensitività (µ), motivato dall’osservazione numerica che le Classi <strong>di</strong> Wolfram sono<br />
caratterizzate dai loro mo<strong>dell</strong>i spazio temporali, ma anche dalla loro sensitività <strong>di</strong><br />
cambiare il valore <strong>di</strong> uno o più siti.<br />
Binder ha in<strong>di</strong>cato il parametro <strong>di</strong> sensitività come frazione dei cambiamenti<br />
nell’evoluzione causati dal cambiamento <strong>di</strong> valore del sito, me<strong>di</strong>ati sopra tutti i siti <strong>di</strong><br />
tutti i “ neighborhoods” nella tavola <strong>di</strong> ruolo:<br />
1 ∂f<br />
µ =<br />
(1.23)<br />
m<br />
∑∑<br />
n j= ∂ j s nm 1<br />
Dove n sono i possibili “neighborhoods” nella tavola <strong>di</strong> ruolo, ed m è il numero <strong>di</strong><br />
“bits” nel” “neighborhoods”.<br />
La derivata Boleana per CA (G. Y. Vichniac, 1990) è:<br />
∂f<br />
∂s<br />
j<br />
= 1<br />
se f ( s s ,... ) f ( s ,...., −s<br />
,.... )<br />
1,...., j<br />
1 j<br />
≠ (1.24)<br />
Questo è, se il valore <strong>di</strong> f è sensitivo al valore del “bit” Sj , il valore è zero altrimenti.<br />
Il lavoro <strong>di</strong> Binder aiuta a comprendere lo spazio dei ruoli AC, i quali possono esibire<br />
<strong>di</strong>segni spazio temporali che possono variare da or<strong>di</strong>nato a complesso a caotico.<br />
In particolare il nuovo parametro proposto permette a priori <strong>di</strong> me<strong>di</strong>are la sensitività dei<br />
ruoli nei confronti <strong>di</strong> piccole perturbazioni. In effetti, µ da solo appare essere in grado <strong>di</strong><br />
pre<strong>di</strong>re la complessità in maniera migliore <strong>di</strong> λ.<br />
1.7 L’impiego degli <strong>automi</strong> <strong>cellulari</strong> in fluido<strong>di</strong>namica e<br />
termo<strong>di</strong>namica<br />
La termo<strong>di</strong>namica e l’idro<strong>di</strong>namica descrivono il comportamento generale <strong>di</strong> molti<br />
sistemi, in<strong>di</strong>pendente dalla precisa costruzione microscopica <strong>di</strong> ciascun sistema. Si può<br />
stu<strong>di</strong>are così la termo<strong>di</strong>namica e l’idro<strong>di</strong>namica usando mo<strong>dell</strong>i semplici, che<br />
permettono una simulazione efficiente (S. Wolfram, 1984).<br />
35
Gli approcci tra<strong>di</strong>zionali alla separazione <strong>di</strong> fase sono:<br />
1. La meccanica dei continui.<br />
2. La <strong>di</strong>namica molecolare.<br />
I Continuum meccanici collassano quando l’interfaccia tra le due fasi <strong>di</strong>venta spessa<br />
solo poche molecole; in aggiunta le risultanti equazioni sono <strong>di</strong>fficili da risolvere e<br />
sono soggette a gran<strong>di</strong> instabilità quando sono linearizzate. Le simulazioni <strong>di</strong>namiche<br />
molecolari sono limitate dal numero <strong>di</strong> molecole che queste possono seguire e <strong>di</strong> fatto la<br />
complessità computazionale aumenta significativamente per le strutture non sferiche.<br />
I mo<strong>dell</strong>i <strong>di</strong> automazione cellulare permettono <strong>di</strong> eliminare questi problemi.<br />
1.7.1 Fluido<strong>di</strong>namica (mo<strong>dell</strong>i HHP e FHP)<br />
In questa sezione analizziamo alcuni mo<strong>dell</strong>i <strong>di</strong> fenomeni fluido<strong>di</strong>namici basati sugli<br />
<strong>automi</strong> <strong>cellulari</strong>.<br />
La fluido<strong>di</strong>namica é quella branca <strong>dell</strong>a fisica che si occupa del comportamento dei gas<br />
e dei liqui<strong>di</strong>, cioè <strong>di</strong> quelle sostanze che non hanno forma propria ma si adattano alla<br />
forma del recipiente che le contiene.<br />
I flui<strong>di</strong> sono convenzionalmente descritti tramite le equazioni <strong>di</strong> Navier-Stokes. Queste<br />
equazioni servono per descrivere l'importante fenomeno <strong>dell</strong>a turbolenza nei flui<strong>di</strong>. In<br />
realtà esse sono <strong>di</strong> non facile soluzione. Infatti, a causa del termine non lineare in esse<br />
contenuto, le simulazioni basate sulle equazioni <strong>di</strong> Navier-Stokes sono appena capaci <strong>di</strong><br />
raggiungere lo stato necessario per riprodurre accuratamente la turbolenza.<br />
Le equazioni <strong>di</strong> Navier-Stokes hanno la seguente forma<br />
∂ρv<br />
∂t<br />
∂ρv<br />
∂t<br />
r<br />
y<br />
∂ρvrv<br />
= −<br />
∂x<br />
r<br />
∂ρv<br />
xv<br />
= −<br />
∂x<br />
y<br />
∂ρvxv<br />
−<br />
∂y<br />
y<br />
∂ρv<br />
yv<br />
−<br />
∂y<br />
y<br />
2 2<br />
∂p<br />
⎛ ∂ v ⎞<br />
r ∂ vr<br />
− + µ ⎜ +<br />
⎟<br />
2 2<br />
∂x<br />
⎝ ∂x<br />
∂y<br />
⎠<br />
2 2<br />
∂p<br />
⎛ ∂ v ∂ ⎞<br />
y v y<br />
− + µ ⎜ + ⎟<br />
∂ ⎜ 2 2<br />
x<br />
⎟<br />
⎝ ∂x<br />
∂y<br />
⎠<br />
36<br />
(1.25)<br />
dove νx e νy, rappresentano le componenti <strong>dell</strong>a velocità lungo x e y, ρ é la densità del<br />
fluido, p é la pressione, µ é un coefficiente numerico noto come viscosità <strong>di</strong>namica che<br />
dà la misura <strong>dell</strong>a capacità del fluido ad opporsi a variazioni <strong>di</strong> velocità al suo interno.<br />
La struttura <strong>dell</strong>e equazioni é semplice. Al primo membro si ha la variazione <strong>dell</strong>a<br />
quantità <strong>di</strong> moto per unità <strong>di</strong> volume nell'unità <strong>di</strong> tempo. Tale variazione é dovuta a tre
effetti: il flusso dovuto al campo <strong>di</strong> moto del fluido (i primi due termini a secondo<br />
membro) detto anche termine <strong>di</strong> convezione, le forze <strong>di</strong> pressione (terzo termine), ed<br />
infine la <strong>di</strong>ssipazione (quarto e quinto termine a secondo membro). Si noti che la non<br />
linearità <strong>di</strong> queste equazioni é racchiusa nel termine <strong>di</strong> convezione: questo termine,<br />
infatti, è all'origine <strong>dell</strong>e <strong>di</strong>fficoltà <strong>di</strong> calcolo che rendono le equazioni <strong>di</strong> Navier-Stokes<br />
così <strong>di</strong>fficili da risolvere.<br />
Le equazioni <strong>di</strong> Navier-Stokes rappresentano esse stesse una approssimazione, in<br />
quanto esse offrono una descrizione continua approssimata del comportamento me<strong>di</strong>o <strong>di</strong><br />
un grande numero <strong>di</strong> particelle <strong>di</strong>screte <strong>di</strong> cui é composto un fluido. Quando le<br />
equazioni <strong>di</strong> Navier-Stokes sono simulate su un computer devono essere fatte <strong>dell</strong>e<br />
approssimazioni <strong>di</strong>screte per le motivazioni descritte all'inizio del paragrafo. Queste<br />
approssimazioni, in forma <strong>di</strong> <strong>di</strong>fferenze finite, creano una somiglianza con il sistema<br />
originale composto da particelle <strong>di</strong>screte.<br />
Nel limite <strong>di</strong> un grande numero <strong>di</strong> elementi <strong>di</strong>screti, loro dovrebbero corrispondere alle<br />
equazione <strong>di</strong> Navier-Stokes del continuo.<br />
Infatti, una larga varietà <strong>di</strong> sistemi con <strong>di</strong>fferenti <strong>di</strong>namiche microscopiche sembrano<br />
rispettare le equazioni <strong>di</strong> Navier-Stokes nel limite a grande scala. Così, ad esempio,<br />
l'aria e l'acqua, seppure molto <strong>di</strong>fferenti dal punto <strong>di</strong> vista <strong>dell</strong>a composizione<br />
molecolare, possono essere ambedue descritte dalle equazioni <strong>di</strong> Navier-Stokes usando<br />
<strong>di</strong>fferenti valori <strong>di</strong> parametri, come ad esempio la viscosità.<br />
Nel tentativo <strong>di</strong> definire un efficiente mo<strong>dell</strong>o computazionale per i flui<strong>di</strong>, si può tentare<br />
<strong>di</strong> trovare la più semplice <strong>di</strong>namica microscopica che riproduce le equazione <strong>di</strong> Navier-<br />
Stokes nel limite microscopico.<br />
Tali mo<strong>dell</strong>i computazionali corrispondono ad algoritmi ottimali per determinare il<br />
comportamento <strong>di</strong> un fluido sfruttando la potenza <strong>di</strong> calcolo <strong>di</strong> un elaboratore<br />
elettronico.<br />
Una classe molto interessante <strong>di</strong> mo<strong>dell</strong>i computazionali basata sugli <strong>automi</strong> <strong>cellulari</strong><br />
per la descrizione <strong>di</strong> flui<strong>di</strong> é detta gas reticolari (lattice gas) ed é basata su una<br />
mo<strong>dell</strong>azione <strong>di</strong>screta <strong>dell</strong>a <strong>di</strong>namica molecolare.<br />
L'idea <strong>di</strong> base <strong>dell</strong>'idro<strong>di</strong>namica dei gas reticolari é quella <strong>di</strong> mo<strong>dell</strong>are un fluido<br />
attraverso un sistema <strong>di</strong> particelle che si muovono in <strong>di</strong>rezioni <strong>di</strong>screte a velocità<br />
37
<strong>di</strong>screte e sottostanno ad interazioni <strong>di</strong>screte. Le regole sono definite in modo tale da<br />
conservare il numero totale <strong>di</strong> particelle, la massa ed il loro momento angolare totale.<br />
Nel mo<strong>dell</strong>o <strong>di</strong> automa cellulare HPP, proposto nel 1976 da Hardy, de Pazzis e Pomeau,<br />
particelle identiche si muovono a velocità unitaria in un reticolo bi<strong>di</strong>mensionale<br />
quadrato in una <strong>dell</strong>e quattro <strong>di</strong>rezioni possibili.<br />
Le particelle possono essere rappresentate da un bit che ne in<strong>di</strong>ca la presenza in una<br />
cella; lo spostamento <strong>di</strong> una particella é realizzato cancellando un bit in una cella e<br />
assegnandolo ad una cella a<strong>di</strong>acente.<br />
Nel mo<strong>dell</strong>o HPP le particelle isolate si muovono lungo linee rette.<br />
Quando due particelle che provengono da <strong>di</strong>rezioni opposte si incontrano, esse sono<br />
vengono <strong>di</strong>ffuse <strong>di</strong> un angolo retto (figura 1.3 a). In tutti gli altri casi, cioè quando una<br />
particella incrocia il cammino <strong>di</strong> un'altra particella (figura 1.3 b) o quando più <strong>di</strong> due<br />
particelle si incontrano, tutte le particelle proseguono nel loro cammino senza<br />
variazioni.<br />
Figure 1.3 a e b- Particelle collidenti (a) e particelle non collidenti (b) nel mo<strong>dell</strong>o<br />
HPP<br />
Quando il numero <strong>dell</strong>e particelle coinvolte <strong>di</strong>venta molto grande, ad esempio quando si<br />
hanno elementi <strong>di</strong> volume contenenti migliaia <strong>di</strong> particelle con migliaia <strong>di</strong> collisioni tra<br />
<strong>di</strong> esse, usando questo semplice mo<strong>dell</strong>o si ottiene una <strong>di</strong>namica continua. In<br />
particolare, si ottiene una semplice fluido<strong>di</strong>namica in cui sono riconoscibili quantità<br />
come densità, pressione, velocità <strong>di</strong> flusso, viscosità ecc.<br />
Se si simula la propagazione <strong>di</strong> una onda sonora in un gas HPP si può notare che anche<br />
se le particelle si muovono in un reticolo quadrato, l'onda si propaga in modo circolare<br />
38
(figura 1.3 c). In questo caso, a livello macroscopico emerge una completa invarianza<br />
rotazionale da una invarianza rispetto ad angoli retti presente nel mo<strong>dell</strong>o microscopico<br />
<strong>dell</strong>' automa cellulare.<br />
Figura 1.3 c- Propagazione <strong>di</strong> un'onda nel mo<strong>dell</strong>o HPP (dal centro <strong>dell</strong>'immagine<br />
verso l'esterno)<br />
Dopo questo primo mo<strong>dell</strong>o ru<strong>di</strong>mentale, Pomeau, insieme a Frish e Iasslecher, propose<br />
nel 1986 un secondo più appropriato mo<strong>dell</strong>o per simulare la <strong>di</strong>namica dei flui<strong>di</strong>.<br />
Questo secondo mo<strong>dell</strong>o é detto FHP, anche questa volta dalle iniziali dei tre autori. Nel<br />
mo<strong>dell</strong>o FHP il reticolo usato é <strong>di</strong> tipo esagonale (figura 1.3 d) per migliorare l'isotropia<br />
del mo<strong>dell</strong>o e quin<strong>di</strong> le <strong>di</strong>rezioni possibili per le particelle sono sei. Infatti, si è potuto<br />
verificare che questo mo<strong>dell</strong>o porta ad una perfetta isotropia.<br />
Figura 1.3 d- Reticolo esagonale per il mo<strong>dell</strong>o FHP: ogni cella ha sei vicini<br />
Tramite questo mo<strong>dell</strong>o, ad un appropriato livello macroscopico, dagli stu<strong>di</strong> fatti si é<br />
potuto verificare che si riesce a simulare un fluido che obbe<strong>di</strong>sce alle equazioni <strong>di</strong><br />
Navier-Stokes e quin<strong>di</strong> si riesce ad ottenere un mo<strong>dell</strong>o che permette <strong>di</strong> ottenere <strong>dell</strong>e<br />
39
simulazioni estremamente vicine al comportamento reale dei flui<strong>di</strong> anche in particolari<br />
con<strong>di</strong>zioni come turbolenze e vortici. Dopo la definizione del mo<strong>dell</strong>o bi<strong>di</strong>mensionale<br />
FHP, numerose attività <strong>di</strong> ricerca sono state svolte in questa <strong>di</strong>rezione che hanno portato<br />
ai seguenti risultati:<br />
• estensione del mo<strong>dell</strong>o FHP a tre <strong>di</strong>mensioni;<br />
• simulazione <strong>di</strong> flui<strong>di</strong> con vari ostacoli nel loro cammino;<br />
• estensioni del mo<strong>dell</strong>o per simulare l'idro<strong>di</strong>namica <strong>di</strong> flui<strong>di</strong> complessi includendo<br />
superfici <strong>di</strong> tensione;<br />
• una serie <strong>di</strong> algoritmi per simulare il gas reticolari su calcolatori paralleli.<br />
1.7.2 Metodo <strong>di</strong> Boltzmann<br />
Nel 1988 da Rothman é stata proposta una soluzione alternativa al mo<strong>dell</strong>o FHP detta<br />
metodo <strong>di</strong> Boltzmann su reticolo (Boltzmann lattice gas). Non é scopo <strong>di</strong> questo<br />
<strong>capitolo</strong> descrivere in dettaglio questo mo<strong>dell</strong>o, tuttavia occorre rilevare che esso si basa<br />
su una funzione probabilistica che, sostituendo i valori me<strong>di</strong> presenti nei mo<strong>dell</strong>i<br />
precedenti, ci dà la probabilità che, ad un dato istante temporale su un dato nodo del<br />
reticolo, vi sia una particella con una data velocità e <strong>di</strong>rezione. La probabilità viene<br />
calcolata utilizzando l'equazione definita da Boltzmann per la teorica cinetica utilizzata<br />
in fisica statistica.<br />
40
1.8 Stu<strong>di</strong> <strong>dell</strong>a transizione <strong>di</strong> fase con i meto<strong>di</strong> <strong>dell</strong>a AC<br />
Quando una miscela binaria uniforme è raffreddata, da un’alta temperatura ad una<br />
temperatura alla quale lo stato uniforme non è più a lungo stabile, è sottoposta alla<br />
segregazione <strong>di</strong> fase. Le fluttuazioni <strong>di</strong> concentrazione sia <strong>di</strong> lunga lunghezza d’onda e<br />
piccola ampiezza (decomposizione spinoidale) o piccola lunghezza d’onda e larga<br />
ampiezza (nucleazione), crescono formando domini <strong>di</strong> singola fase (Gunton et al.,1983).<br />
Se non vi sono forze esterne che interagiscono nel sistema lo stato finale sarà una fase<br />
<strong>di</strong> coesistenza in equilibrio termo<strong>di</strong>namico.<br />
Sebbene la fase <strong>di</strong> separazione sia un processo non lineare complicato, tuttavia è<br />
possibile costruire mo<strong>dell</strong>i con semplici <strong>di</strong>namiche microscopiche le quali forniscono la<br />
fisica corretta ed essenziale a livello macroscopico( Alexander et al., 1992). I mo<strong>dell</strong>i<br />
cinetici Ising sono stati quelli più usati in questo tipo <strong>di</strong> investigazioni. Questi mo<strong>dell</strong>i<br />
evolvono in tempo continuo in accordo a <strong>di</strong>namiche stocastiche, sod<strong>di</strong>sfacendo precise<br />
e bilanciate con<strong>di</strong>zioni..<br />
Alexander et.al.,(1992) hanno stu<strong>di</strong>ato e proposto un mo<strong>dell</strong>o <strong>di</strong> AC che permette <strong>di</strong><br />
simulare la segregazione <strong>di</strong> fase <strong>di</strong> leghe binarie raffreddate. Il mo<strong>dell</strong>o da loro proposto<br />
è una automazione cellulare probabilistica ( presenta alcuni vantaggi rispetto ai mo<strong>dell</strong>i<br />
tipo Ising, quali la simulazione proposta da Kawasaki (1970), dove, però, il movimento<br />
è troppo ridotto) costituita da una variazione <strong>dell</strong>a automazione cellulare <strong>di</strong> Rothman-<br />
Keller, (1988) in cui le particelle <strong>di</strong> tipo A (B) muovano verso domini <strong>di</strong> concentrazioni<br />
più gran<strong>di</strong> <strong>di</strong> A (B), figura 1.4.<br />
Figura 1.4- Evoluzione <strong>dell</strong>a morfologia <strong>di</strong> un sistema che si evolve dal <strong>di</strong>sor<strong>di</strong>ne , a<br />
seguito <strong>di</strong> un quench, simulazione eseguita con AC ( Alexander et al.,1992).<br />
Le mo<strong>di</strong>fiche apportate sono costituite da una griglia completamente occupata e<br />
dall’introduzione <strong>di</strong> un parametro “temperature-like” il quale dota il sistema <strong>di</strong> una<br />
evoluzione stocastica. Usando simulazioni tramite computer gli autori hanno esaminato<br />
il campo <strong>dell</strong>e cinetiche <strong>di</strong> crescita in un mo<strong>dell</strong>o a due <strong>di</strong>mensioni. Per molto tempo<br />
dopo il raffreddamento dal <strong>di</strong>sor<strong>di</strong>ne, la <strong>di</strong>mensione me<strong>di</strong>a <strong>di</strong> un dominio fase singola<br />
41
aumenta nel tempo come t 1/3 (ve<strong>di</strong> figura 1.5), in accordo con la teoria <strong>di</strong> Lifshitz-<br />
Slyozov. Sono state inoltre esaminate le proprietà critiche <strong>dell</strong>e transizioni <strong>di</strong> secondo<br />
or<strong>di</strong>ne associate.<br />
Figura 1.5- Evoluzione nel tempo <strong>dell</strong>a <strong>di</strong>mensione me<strong>di</strong>a dei domini caratterizzata dal<br />
parametro -1 , tale parametro aumenta come t 1/3 , (Alexander et al., 1992).<br />
42