11.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!