Natural Computing

 

 

 

 

 

 

 

 
Automi Cellulari

Gli Automi Cellulari (CA) sono sistemi a stati discreti. Questo significa che le variabili fondamentali che determinano e descrivono la loro evoluzione, cioè Spazio Tempo e Stato, possono assumere solo valori discreti. Lo studio e la sperimentazione di questi sistemi venne iniziato negli anni cinquanta da John von Neumann e Stanislaw Ulam.

Possiamo farci una idea di come funziona questo affascinante mondo seguendo questo interessante intervento di Stephen Wolfram:

Consideriamo uno spazio substrato Sd (d=dimensione intera) e suddividiamolo in sottounità per mezzo di una partizione regolare. Questa prima operazione ci permette di definire la geometria della matrice di celle. Si definisce un Automa Cellulare quando, per ogni istante t appartenente a T={t1, t2, t3 .... tj} e j={N}, si ha che:

1) Ogni unità, individuata in corrispondenza di una sottounità dello spazio substrato (cella), può assumere solo uno tra i possibili k stati finiti C={c1, c2, c3 .... ck} ;

2) All'interno della matrice data, e per ogni unità, esiste un preciso intorno definito per tutti gli automi ;

3) Lo stato k-esimo assunto dalla cella nell'istante tj dipende unicamente :

a) dallo stato in cui si trovava all'istante tj-1

b) dallo stato in cui si trovavano le celle appartenenti all'intorno definito per ogni automa nell'istante tj-1

c) dalla funzione di trasformazione F(c)i = f (ci-r, ... , ci+r) tra stati

4) Definita una funzione F di trasformazione tra stati, ad ogni istante tj ogni cella è aggiornata in modo sincrono con le altre ;

5) Lo spazio cellulare risultante è uniforme, nel senso che la funzione di trasformazione F deve valere per qualsiasi automa dello spazio cellulare .

Oltre a queste è opportuno elencare altre due fondamentali caratteristiche topologiche :

6) Lo spazio substrato sul quale si opera deve essere compatto ;

7) La funzione che definisce lo stato globale del sistema deve essere continua.

I Cellular Automata dunque sono definiti nel discreto ma esibiscono dinamiche nel dominio del continuo. Queste ultime due caratteristiche sono molto importanti in quanto permettono di individuare negli Automi Cellulari il punto di incontro tra dinamiche continue e teoria della complessità.

Per quanto riguarda il punto 2, la definizione dell'intorno di ogni automa, si possono avere diversi tipi di configurazioni. Dipende dalla dimensione dello spazio substrato. Gli intorni più noti sono forse quello di J. von Neumann e quello di E.F. Moore. Dato uno spazio a due dimensioni, per ogni cella data, il primo prende in considerazione le quattro celle adiacenti più vicine. Il secondo prende in considerazione le quattro celle di von Neumann più' le adiacenti sulle diagonali.

Altri tipi di intorni sono possibili ma dipendono dalla geometria adottata per il substrato di celle (ad es. esagonale). Inoltre, come si può intuire, gli intorni si sovrappongono, cosicché una data cella è inclusa simultaneamente negli intorni delle celle adiacenti. In alcuni casi è anche possibile considerare la cella al centro, per la quale si effettua il calcolo di passaggio di stato, come membro del suo stesso intorno.

Per quanto attiene la varietà delle regole di transizione tra stati per ogni cella, dati k stati possibili e n celle incluse nell'intorno, vi sono kkn possibili regole. Per il solo intorno di von Neumann a stati binari (dove k=2 e n=4) si hanno più di 65000 possibili regole, mentre nell'intorno di Moore ve ne sono 1077.

Da un punto di vista dinamico gli Automi Cellulari sono in grado di manifestare diversi tipi di comportamenti. Questi comportamenti sono tutti raggruppabili in quattro classi complessive:

Classe I 

Spazio delle fasi dominato da un solo punto fisso di attrazione

Classe II 

Comparsa di cicli limite e più' punti di attrazione periodici

Classe III

Emergenza di comportamenti classici dei fenomeni turbolenti. Spazio   delle fasi dominato dalla emergenza di attrattori strani, al limite tra ordine e caos

Classe IV

Definita da Stephen Wolfram, è dominata da fenomeni di transizione    da comportamenti altamente caotici a dinamiche tipiche degli attrattori strani.


Secondo una serie di analogie osservate dallo stesso  S. Wolfram, riprese poi da C. Langton (vedi anche M.M.Waldrop ), tutte le regole degli Automi Cellulari rientrano in una delle quattro classi sopra riportate, è possibile inoltre tracciare la seguente tabella :

Classi di "Universalità"
I e II IV III
Sistemi Dinamici
Ordine Complessità Caos
Transizioni di Stato
Solido Transizione di fase Fluido
Computazione
Definita Indecidibile Indefinita
Vita
? ? ?


L'Automa cellulare LIFE di Conway

Forse il più famoso automa cellulare è Life, l'automa cellulare studiato e realizzato da Conway. Di seguito ne riporto una versione dell'automa LIFE realizzata, sotto licensa GNU [General Public License], da Carl Fredrik Abelson [abelson@ieee.org] nel 2005. Ne presento qui una versione che ho adattato in Javascript e DHTML a scopo puarmente dimostrativo.

Le transizioni di stato per ciascuna cella dell'automa dipendono dal numero di vicini vivi, più esattamente:

- Una cella morta con 3 vicini vivi nasce, diventando viva.
- Una cella viva con 2 o 3 vicini vivi sopravvive; altrimenti muore (per isolamento o sovraffollamento)

LIFE: la simulazione

Per far partire una simulazione clikka sulle celle vuote e traccia una configurazione di partenza disegnando le figure che vuoi, quindi premi il pulsante "Auto" per far partire la simulazione.

Dimensione Griglia: x


     


L'Automa cellulare ANT di Langton

Un'altro degli automi cellulari che ha fatto storia è l'automa cellulare di Langton "Ant". La "formica" di Langton segue delle semplici regole. Partendo da una partizione dello spazio in celle quadrate la "formica" parte dal quadrato centrale e punta ad una delle celle del suo intorno (intorno di von Neumann). Controlla quindi lo stato della cella bersaglio (1/0, bianca o nera). Se lo stato della cella è 0 lo commuta in 1 e punta alla cella a sinistra del suo nuovo intorno. Se invece lo stato della cella è 1 lo commuta in 0 e punta alla cella di destra. Queste regole vengono fatte iterare per n passi. Partendo da una configurazione uniforme di celle dello spazio substrato (ad esempio tutte bianche o a stato 0) è possibile osservare un comportamento molto interessante. Durante le prime 500 iterazioni la formica tende a tornare verso la posizione centrale di partenza. Nelle successive 10000 iterazioni circa si assiste ad un comportamento di tipo caotico dal quale esce poi all'improvviso verso un attrattore che la porta a seguire una direzione dalla quale non esce più. L'attrattore è costituito da una sequenza di 104 iterazioni che la fanno spostare verso l'angolo superiore sinistro dello schermo indefinitamente. Riportiamo sotto una figura che mostra la dinamica d'insieme fino alla costruzione dell'attrattore:


La figura mostra l'evoluzione del comportamento della "formica" in una delle simulazioni che ho effettuato implementando (in linguaggio C) una versione leggermente modificata dell'automa, secondo il modello di Greg Turk della Stanfor University. Invece di due soli colori viene usata una configurazione di n colori contrassegnati con 0, 1, 2,..., n.

Non è ancora stato dimostrato che, partendo da una configurazione qualsiasi di celle del substrato attive o spente, l'automa finisca sempre per costruire la sua "autostrada". Questa situazione, apparentemente banale, ha delle implicazioni notevoli da un punto di vista epistemologico perchè mostra come, pur stando di fronte ad un "organismo" o un "uiverso" estremamente semplice e del quale conosciamo perfettamente le leggi di esistenza, non siamo in grado di prevedere con certezza il suo destino, la sua evoluzione futura a prescindere dalla configurazione di base del suo substrato di esistenza ed evoluzione.

Chiunque voglia cimentarsi in esperimenti può utilizzare il software in C e un file eseguibile che ho sviluppato in ambiente Borland C (versione DOS) scaricandoli da qui :: Software [download]. Divertitevi pure a costruire barriere o configurazioni randomiche di celle attive nel substrato e poi osservate i comportamenti dell'automa. Se trovate qualcosa di interessante fatemelo sapere.

Per un approfondimento degli studi sui Cellular Automata si possono consultare, oltre ai lavori di S. Wolfram, gli atti del seminario tenuto presso il Los Alamos National Laboratory pubblicati in "Physica D" , 10 D, n°1 e 2, gennaio 1984.

 

Alcuni articoli di approfondimento scaricabili

Cellular Automata and the Sciences of Complexity - Part 1.pdf
Cellular Automata Dynamics.pdf
Cellular automata and other cellular systems (phd thesis, EPF Lausanne, 2002).pdf