Il Gioco della Vita

Image1Alla fine degli anni 50 John Von Neumann riuscì a sbloccare la propria ricerca sull’autoreplicazione informatica grazie alla lettura di uno scritto co-firmato da  Stanislaw Ulam, matematico polacco che si stava dedicando alla costruzione di modelli geometrici per la crescita dei cristalli. Egli consigliava a chi avesse intenzione di programmare delle piattaforme in grado di generare complessità a partire da poche piccole regole di provare a utilizzare grafici bidimensionali capaci di mutare nel tempo. Fu un momento importante per le scienze dell’informazione: la sintesi delle ambizioni di Von Neumann e delle intuizioni di Ulam diede origine alla teoria degli automi cellulari, lo studio dell’evoluzione di generazioni di configurazioni di celle numerate su fogli quadrettati di dimensioni infinite.
Erano quelli anni di grande fermento filosofico e scientifico: nel 1946 la macchina di Turing – un costrutto teorico in grado di manipolare i simboli presenti su un nastro in base a regole prefissate e idealmente in grado di effettuare qualsiasi operazione logica – veniva dotata di un’architettura universale dallo stesso Von Neumann. Due anni dopo Claude Shannon pubblicava A Mathematical Theory of Communication, il testo che inaugurò l’era delle telecomunicazioni. Nel 1953, James Watson e Francis Crick presentavano quello che oggi è considerato come il primo modello accurato della struttura del DNA. Da una parte abbiamo i due eventi chiave che hanno condotto alla rivoluzione digitale, e dall’altro la ricostruzione dello sfuggente codice analogico che sembrava aver permesso la nascita e l’evoluzione della vita. Il sogno di collegare le scienze naturali (con la genetica) alle scienze matematiche (con l’informatica) per prima volta appariva a portata di mano, e la teoria degli automi cellulari fu un pioneristico tentativo in questo senso.

Von Neumann si complicò la vita progettando un automa a 29 stati diversi (immaginate che ogni casella del foglio quadrettato potesse contenere un numero da 0 a 28, oppure che potesse essere colorata con ciascuno di 29 colori). Si deve a John Conway, nel 1970, l’ideazione del più famoso automa cellulare, Life, il gioco della vita. Partendo da una configurazione di celle piene (vive) e celle vuote (morte) il giocatore poteva costruire lo stadio successivo (generazione) seguendo tre semplici regole:
– Una cella viva con 2 o 3 vicini vivi sopravvive;
– Una cella viva con meno di due vicini oppure con più di tre vicini muore;
– Una cella morta con esattamente 3 vicini vivi diventa viva;
Questo è l’algoritmo del Gioco della vita, poche piccole regole che ripetute nel tempo modificano radicalmente lo stato iniziale del programma.

4life2Alcuni esempi di morti, loop e stati stabili

Conway giocava con carta e penna, ma non appena il meccanismo divenne famoso (bisogna ringraziare Martin Gardner, che ne parlò sulla rivista Nature) la versione digitale del rompicapo divenne disponibile per chiunque volesse provarla.
Una divertente sfida lanciata da Conway al suo pubblico fu la ricerca di una configurazione che producesse infinite celle vive, e dunque non terminasse la propria evoluzione estinguendosi, entrando in loop, o congelandosi in un pattern stabile. Un team dell’MIT alcuni mesi dopo trovò la soluzione e vinse il simbolico premio di 50 dollari messo in palio di Conway. La configurazione, nominata Gosper Glider Gun, sparava ogni 15 generazioni una figura composta da 4 celle vive che si muoveva in diagonale per mezzo della distruzione e della generazione ritmica delle sue case più esterne. Un aliante.

Gospers_glider_gunGosper Glider Gun

Per quale motivo l’idea di Neumann – reinventata e rielaborata moltissime volte negli anni successivi – ebbe tanto successo e non fu un entusiasmo passeggero, tanto che a mezzo secolo di distanza ancora è dibattuta? Il motivo è che gli automi cellulari sono stati la prima realtà computazionale bottom-up, una novità deflagrante per un mondo che era ancora allibito davanti alla possibilità di programmare dall’alto calcolatori in grado di compiere operazioni deterministiche. Il modello a codice della macchina universale di Turing, implementato sui nuovi hardware a transistor, permetteva la scrittura di software che ordinatamente seguivano una serie di istruzioni e portavano a termine compiti ben definiti. I programmi per PC, allora come adesso, consistevano in una molteplicità di regole nidificate che applicate serialmente estraevano dati dai database, li rielaboravano e li inserivano nuovamente. Al contrario, gli automi cellulari sembravano generare spontaneamente informazione sotto forma di pattern di celle colorate, grazie all’applicazione ricorsiva di poche regole prestabilite. Nel gioco della vita il contatore delle generazioni galoppa irrefrenabile e, pur applicando ogni volta le medesime trasformazioni, ha la potenzialità di produrre configurazioni sempre nuove.
Mentre la computazione di Turing assomigliava alla cognizione, al ragionamento, fatti di piccoli passi ordinati, gli automi cellulari assomigliavano alla vita (1). Gli informatici di tutto il mondo rimasero allibiti quando davanti ai loro occhi per la prima volta dalla confusione particellare del Game of Life emersero e si stabilizzarono figure che nessuno vi aveva mai inserito. Era come assistere alla genesi e alla competizione dei primi microrganismi: l’ordine vinceva sul caos e resisteva, nonostante tutto, nel tempo.

Nel 2002 Stephen Wolfram pubblicò un libro importante, che raccoglieva i risultati di un decennio di lavoro e riflessione sugli automi cellulari. A New Kind of Science argomentava a favore dell’onnipresenza dell’informazione all’interno dei processi naturali, riallacciandosi alla vecchia disputa sul costituente essenziale dell’universo, inaugurata da Norbert Wiener nel 1948, e portata avanti da scienziati del calibro di Edward Fredkin (che non a caso è considerato il padre della fisica digitale). Wolfram dedicò tra le altre cose molto spazio alla discussione delle congruenze tra vari generi di automi cellulari, concludendo che il livello di complessità generato dai più semplici non differiva molto da quello dei più articolati: quando si parla di permutazioni effettuate da caselle colorate non importa il numero di stati o di regole, la quantità di imprevedibilità e di ordine è da considerarsi la medesima in tutti i casi.
Da qui l’interesse di Wolfram per la famiglia di automi cellulari più semplici possibili, in grado di svilupparsi a partite da una sola fila di celle in bianco e nero, attraverso una legge che definisce la generazione successiva in base solo al colore di ciascuna singola cella e le sue vicine prossime. La regola 110 e le sue sorelle mostravano come una sola casella nera (l’unità di informazione più piccola in assoluto) fosse grado di proliferare all’infinito e di generare quelle che erano senza dubbio configurazioni complesse. Da un procedimento ripetitivo e deterministico come la regola 110 ci si sarebbe aspettati un comportamento altrettanto ripetitivo, prevedibile. E invece i disegni non solo apparivano caotici, ma presentano caratteristiche distinguibili, interessanti e tuttavia mai identiche. Scrive Wolfram: “Ogni volta che si incontra un fenomeno che sembra complesso si da quasi per scontato che debba essere il risultato di un meccanismo sottostante a sua volta complesso. Ma la scoperta che programmi semplici possono produrre una grande complessità chiarisce che questa assunzione nei fatti non è corretta.”

Rule 110Regola 110 e una porzione dell’immagine da essa generata

Oggi abbiamo imparato a studiare e modellizzare la complessità per mezzo di strumenti informatici, e siamo riusciti ad imbrigliarne le regole per programmare software in grado di organizzarsi autonomamente. Reti neurali e modelli markoviani sono realtà penetrate in profondità nel tessuto della contemporaneità, attraverso chatbot, programmi di riconoscimento vocale e traduttori. Il mondo dei frattali di Mandelbrot oramai ha ben pochi segreti per i matematici – ed è parecchio familiare anche a a chi di matematica non capisce niente. Algoritmi darwiniani in grado di sfruttare la competizione dal basso delle loro componenti – un’idea di Norman Packard debritrice dei lavori di Von Neumann e di Conway – girano su supercalcolatori alla ricerca di risposte complicate a problemi ancora più complicati (di natura scientifica, economica e perfino politica). C’è chi dice che il nostro universo è una simulazione che gira su un ultracomputer fuori dal tempo e dallo spazio, nient’altro che una matrice bidimensionale di bit, o un enorme automa cellulare. C’è chi cerca di creare forme di vita artificiali facendo competere all’interno di ambienti digitali organismi immateriali composti solo di informazione, e chi ci prova con l’intelligenza. E non si tratta più di guru visionari persi nelle loro fantasie: se università e aziende private investono risorse sulla computazione evolutiva significa che vi sono buone probabilità che verranno raggiunti risultati importanti, una volta impiegati tempo e risorse hardware sufficienti.

Insomma: ciò che sembra complesso lo è davvero? O si tratta semplicemente di situazioni emerse attraverso la ripetizione di regole semplici, applicate un numero colossale di volte? La vita è un miracolo o qualcosa di inevitabile, che prima o poi doveva emergere, date le regole iniziali del sistema? E l’intelligenza? Potremmo essere più vicini che mai ad ottenere una risposta a queste domande. Come si sente dire sempre più spesso, almeno per la scienza, il nostro è un secolo davvero elettrizzante in cui vivere.

rule&shellNotate qualche somiglianza?

Note
(1) Utilizzo qui la definizione più ampia possibile di vita, secondo cui qualsiasi nucleo stabile di informazione in grado di sopravvivere e replicarsi è da considerarsi vivo.


Bibliografia

John Von Neumann, The Theory of Self-reproducing Automata, 1966
Martin Gardner, Mathematical Games – The fantastic combinations of John Conway’s new solitaire game “Life”, Scientific American 223, 1970
Daniel Dennett, Consciusness Explained, 1991
Stephen Wolfram, A New Kind of Science, 2002
Ray Kurzweil, The Singularity is Near, 2005

Annunci

2 risposte a “Il Gioco della Vita

  1. Articolo interessante! Von Neumann fa senza dubbio parte del club delle grandi menti del XX secolo: è uno che ha infilato il naso in ogni settore della matematica, della fisica e delle loro applicazioni. Ci sono decine di teoremi e definizioni che portano il suo nome, ma di questa proprio non ero al corrente. Naturalmente si è occupato anche di faccende meno interessanti del Gioco della Vita, tra cui questa teoria piuttosto arida sulla stabilità computazionale che dovrò padroneggiare come si deve entro settimana prossima… http://en.wikipedia.org/wiki/Von_Neumann_stability_analysis

  2. Ciao! Sono d’accordo con te, Von Neumann è uno degli eroi misconosciuti della contemporaneità, io l’ho sempre un po’ considerato il Newton del Ventesimo secolo!
    Se vuoi ridare un’occhiata all’articolo ho aggiunto un paragrafo sul lavoro di Wolfram sugli automi cellulari, in particolare sulla regola 110.
    In bocca al lupo per l’esame,
    Saluti.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...