Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Dagli automi cellulari ad oggi (1/7)
Scritto da Leonida Castaldo il 30-04-2007 ore 12:55
Alla fine degli anni 40 John Von Neumann, nel formalizzare il problema della riproduzione, ipotizzò dei dispositivi in grado di autoriprodursi, evidenziando la struttura di sistema parallelo distribuito. Egli propose un modello costituito da diverse componenti incapaci di riprodursi singolarmente, ma in grado di riprodursi collaborando tra loro. Le componenti principali erano un controllore, un duplicatore, un costruttore ed una descrizione del modello, tramite la quale era possibile realizzare una copia di se stesso. Ciascuna unità così composta, era poi in grado di vagare in un’area predefinita alla ricerca della copia delle proprie componenti per potersi autoriprodurre.

Von Neumann si rese conto che il suo modello era del tutto intrattabile e decise di adottare quello suggerito da Stanislaw Ulam. Esso si basava su un insieme di celle - o pattern - identiche, le quali potevano assumere un numero finito di stati ed interagire unicamente con le celle vicine. In base alle informazioni sullo stato corrente e alle informazioni sui vicini, ogni cella poteva modificare il suo stato istante per istante. Il modello di Ulam lanciò le basi per la prima teoria sugli automi cellulari.

Un automa cellulare è sostanzialmente un metodo di calcolo che consente, in un numero finito di operazioni, di descrivere l’evoluzione nel tempo di sistemi complessi. Si consideri per esempio un piano teoricamente infinito - griglia - diviso in quadrati identici, che rappresentano ciascuno una cella del modello di Ulam; si supponga che ciascuna di esse possa assumere due stati, nero e bianco, cosicché ogni cella può evidentemente avere otto vicini, dai quali dipenderà il suo stato successivo. Scelta una condizione iniziale della griglia, assegnando casualmente uno stato da ogni cella, colorandola di bianco o nero, occorrerà in ultima analisi definire le regole che implicheranno il cambiamento di stato.

Supponiamo che se una cella si trova nello stato nero, rimarrà in questo stato se due o tre dei suoi vicini sono neri, altrimenti passerà allo stato bianco, se invece il suo stato iniziale è bianco e tre suoi vicini sono nello stato nero, allora passerà allo stato nero. Le regole evidenziano la necessità che le celle comunichino tra loro per poter essere applicate, in altri termini è necessario che ciascuna cella comunichi il proprio stato ad ogni altra cella vicina.

Applicando le regole la prima volta a ciascuna cella in un dato istante, apparirà sulla griglia un’immagine casuale astratta. Supponiamo di ripetere l’operazione più volte sovrapponendo ogni volta l’immagine successiva alla precedente. A ogni iterazione apparirà una diversa figura, o meglio la figura del passo precedente evolverà in una figura simile al passo successivo. Stabilire in che modo tale figura cambia nel tempo, istante per istante, è particolarmente complesso, quasi imprevedibile in alcuni casi. Ovviamente l’esempio si riferisce ad una semplice simulazione bidimensionale, ma spiega perfettamente il modello di automa cellulare proposto agli inizi degli anni 50 da Von Neumann.
Precedente: Documentazione per sviluppatori telepatici
Successiva: KML e una semplice classe KMLCreator
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.756 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.