lunedì 23 febbraio 2026

«Game of Life»: il gioco che non era un gioco - jolek78

 

Vi ricordate i giochi Flash? Quelli che giravano nel browser prima che Adobe decidesse di uccidere tutto nel 2020? Beh, io sì. C’erano dei siti – Miniclip, Newgrounds… – che erano una specie di parco giochi digitale non curato, pagine con sfondo nero e popup ovunque, dove si potevano passare ore senza capire davvero cosa si stesse facendo. Vi lamentate del brainrot? Forse non ricordate il web anni novanta e quella ragazzina col porro che cantava la polka… Anyway, era uno di quei pomeriggi qualsiasi, non ricordo il sito esatto – uno di quei posti con URL incomprensibili tipo “geocities.com/~qualcuno/games” e una grafica che faceva male agli occhi. Mi imbattei in qualcosa di strano. Non c’era il logo Adobe Flash ancora caricato, non c’erano istruzioni, non c’era un pulsante “Play”. Solo una griglia di celle nere e bianche che cambiavano, generazione dopo generazione, apparentemente a caso.

Aspettai. Pensavo si stesse caricando. Niente. La griglia continuava a cambiare. Cercai di cliccare sulle celle. Niente. Provai a premere tasti sulla tastiera. Niente. Guardai per qualche minuto, aspettando che succedesse qualcosa – un game over, un punteggio, un obiettivo. Niente. Non era un gioco. Non c’era niente da “giocare”. Era come guardare la pioggia cadere, ma in digitale. Centinaia e centinaia di pixel continuavano a crearsi e distruggersi. Mi annoiai, chiusi la pagina. Anni dopo – non ricordo quanti, tanti – mi capitò di leggere un articolo su Wikipedia. Il titolo era “Conway’s Game of Life“. E il click scattò.

Quello che avevo visto quel giorno non era un gioco, o almeno non nel senso tradizionale. Era una simulazione. E quella simulazione, con quattro regole che anche un bambino poteva capire, faceva qualcosa che nessuna di quelle regole prevedeva esplicitamente: produceva complessità. Ordine dal caos. Strutture che emergevano, crescevano, interagivano. Pattern che si muovevano attraverso la griglia come fossero vivi. E poi – e qui ebbi la mia epifania – quelle strutture potevano simulare un circuito elettronico. Qualsiasi circuito elettronico. Teoricamente, qualsiasi calcolo che una macchina di Turing possa fare. Quattro regole, celle binarie. In sostanza: una macchina universale di calcolo.

Benvenuti nella storia di come il matematico inglese John Horton Conway, cercando di costruire il giocattolo più semplice possibile, costruì accidentalmente una delle dimostrazioni più potenti di come la complessità possa emergere dal nulla. Cari creazionisti, sì questo è anche per voi.


Von Neumann aveva una domanda

Prima di Conway, c’era Von Neumann. John von Neumann – Bond, James… ok la smetto… – già negli anni ’40 si interrogava su una questione che suona quasi filosofica: può una macchina costruire una copia di se stessa? Non era una domanda astratta. Von Neumann aveva già dimostrato, teoricamente, che era possibile. Il suo modello – un “automa cellulare” bidimensionale – dimostrava il principio. Funzionava così: una configurazione di celle su una griglia contiene al suo interno le “istruzioni” (codificate come disposizione di celle attive e inattive) per replicarsi. La struttura legge queste istruzioni, manipola le celle circostanti, e genera una copia identica di se stessa in un’altra zona della griglia. La copia contiene le stesse istruzioni, quindi può ripetere il processo all’infinito. È il sogno (o l’incubo, dipende dai punti di vista) di ogni ingegnere: una macchina che si riproduce senza intervento esterno.

Il problema era la complessità mostruosa del sistema. Il modello di Von Neumann richiedeva 29 stati diversi per ogni cella (ventinove…) e un insieme di regole che riempiva pagine e pagine di algebra. Era funzionante, dimostrabilmente corretto, ma era un mostro. Nessuno poteva davvero capirlo a colpo d’occhio, tantomeno implementarlo e studiarlo in pratica. Era come avere la ricetta perfetta per un piatto, ma con 300 ingredienti rari e 50 passaggi che richiedono strumenti da laboratorio.

Nel 1962, il matematico inglese John Horton Conway – professore a Cambridge, specializzato in teoria dei gruppi e altre cose che suonano complicate – decise di fare una cosa apparentemente semplice. Cercò la versione più minimale possibile dell’idea di Von Neumann. Un sistema di regole che fosse abbastanza povero da essere comprensibile da chiunque, ma abbastanza ricco da permettere comportamento complesso e, eventualmente, autoriproduzione. Ci mise anni. Non settimane, non mesi. Anni. Dal 1962 al 1970. Otto anni di proposte, test, fallimenti, aggiustamenti. Ogni insieme di regole veniva analizzato: troppo ordinato? Tutto converge a configurazioni fisse e il sistema muore. Troppo caotico? Rumore totale, niente strutture. Conway cercava un punto critico preciso: abbastanza stabilità per permettere forme persistenti, abbastanza instabilità per permettere comportamento imprevedibile e interessante.

Era ossessionato da questo equilibrio. Lo testava su carta millimetrata (non c’erano ancora i computer per farlo velocemente), con gruppi di studenti, a mano, generazione dopo generazione. Un lavoro certosino. O da pazzi, a seconda di come la vedete.

Nel 1970 aveva trovato quello che cercava. Lo chiamò “Game of Life” – il Gioco della Vita. Martin Gardner, che aveva una colonna mensile sul Scientific American chiamata “Mathematical Games“, lo presentò nell’ottobre dello stesso anno. E nel giro di settimane divenne uno degli oggetti più famosi nell’intera storia della matematica ricreativa e dell’informatica.


Le quattro regole (e perché ognuna conta)

Il sistema è di una semplicità imbarazzante. Avete una griglia bidimensionale infinita (in pratica: molto grande). Ogni cella può essere in due stati: viva (nera) o morta (bianca). Ogni cella ha otto vicini – i quattro cardinali più i quattro diagonali. A ogni generazione, tutte le celle aggiornano simultaneamente il proprio stato seguendo quattro regole:

1. Una cella viva con meno di 2 vicini vivi muore – isolamento. Non c’è abbastanza interazione per sostenere la vita. È la solitudine che uccide.

2. Una cella viva con 2 o 3 vicini vivi sopravvive – stabilità. La densità locale è giusta. C’è abbastanza supporto, ma non troppa competizione. È il punto di equilibrio.

3. Una cella viva con più di 3 vicini vivi muore – sovrappopolamento. Troppa competizione per le risorse (è una metafora, ma funziona). Troppa folla soffoca.

4. Una cella morta con esattamente 3 vicini vivi nasce – riproduzione. Tre celle vive creano le condizioni per generare una nuova vita. Non 2, non 4. Esattamente 3.

Fine. Niente altro. Niente eccezioni, niente condizioni speciali, niente “se questa cella è particolare allora…”. Quattro regole, applicate uniformemente a ogni cella, ogni generazione, per sempre.

Adesso fermatevi un attimo e pensate a questa cosa: dove sta la complessità in queste regole? Dove c’è scritto che devono emergere strutture? Dove c’è scritto che possono esistere pattern che si muovono, che oscillano, che interagiscono in modi non banali? Da nessuna parte. Le regole parlano solo di celle singole e dei loro vicini immediati. Niente di più. Eppure la complessità emerge. Emerge necessariamente, come conseguenza inevitabile di quell’equilibrio sottile che Conway ha cercato per otto anni. Non è programmata nelle regole. È una proprietà emergente del sistema. Ed è questo il punto che mi ha fatto scattare il click anni dopo quella griglia: la complessità non ha bisogno di essere progettata. Può semplicemente accadere, se le condizioni sono giuste.


La tassonomia

Nel primo anno dopo la pubblicazione sul Scientific American, i lettori – programmatori, matematici, studenti, appassionati – inondarono la rivista di scoperte. Era diventato un fenomeno virale, in un’epoca in cui “virale” significava ancora fotocopie e lettere spedite per posta. E molto rapidamente emerse una classificazione naturale delle strutture.

Still lifes – pattern completamente stabili che non cambiano mai. Il più semplice è il “block“: un quadrato 2×2. Nel block, ogni cella ha esattamente 3 vicini – le altre tre celle del quadrato. Ciascuna sopravvive perché ha esattamente 3 vicini vivi. Il pattern non cambia, non si muove. È lì, immobile, per sempre. Altri esempi: il “beehive” (alveare), il “loaf” (pagnotta), forme stabili che una volta formate restano identiche.

Oscillatori – pattern che cambiano ma tornano alla configurazione iniziale dopo un numero finito di generazioni. Il più semplice è il “blinker“: tre celle in fila orizzontale. Alla generazione successiva diventano tre celle in fila verticale. Poi tornano orizzontali. Poi verticali. Periodo 2, oscillazione infinita. Altri esempi più complessi: il “toad” (periodo 2), il “beacon” (periodo 2), il “pulsar” (periodo 3, uno dei più belli visivamente).

E poi c’è lui. Il glider, il mio preferito – illustrato in dettaglio su MathWorld.

Cinque celle, disposte in una configurazione specifica che sembra quasi un triangolino storto. E questa cosa – questa piccola struttura da cinque celle – si muove. Non nel senso che le celle si spostano fisicamente sulla griglia (le celle sono fisse, ricordate). Nel senso che il pattern si propaga nello spazio, una cella alla volta, diagonalmente verso il basso a destra (o in qualsiasi direzione, dipende dall’orientamento iniziale). Dopo quattro generazioni, il glider è tornato alla configurazione originale, ma spostato di una posizione in diagonale. E poi continua. Per sempre. Attraversa la griglia all’infinito, a meno che non incontri un ostacolo. Ed è qui che inizia a cambiare qualcosa nel modo in cui la gente pensava al sistema. Perché un glider non è solo un pattern carino da guardare. È un segnale. È qualcosa che trasporta informazione da un punto A a un punto B. Ha una direzione, ha una velocità (c/4, dove c è la velocità massima possibile nel Game of Life, che è una cella per generazione), ha una persistenza.

E se hai un glider, la domanda successiva è ovvia: puoi creare qualcosa che genera più glider? La risposta arrivò nel 1970, pochi mesi dopo la pubblicazione originale. Bill Gosper – un programmatore del MIT, uno dei primi hacker della storia – trovò il “glider gun“. Una configurazione di 36 celle che, ad ogni 30 generazioni, sputa fuori un nuovo glider. Un generatore periodico di segnali. Un segnale. Una sorgente periodica. Una direzione precisa. In una griglia 2D con celle binarie e quattro regole elementari. Ecco dove sta andando questa storia.


Il cuore: quattro regole, una macchina di Turing

TL;DR: Il Game of Life è Turing-complete. Significa che, in linea di principio, potete fare qualsiasi calcolo che una macchina di Turing possa fare, dentro una griglia 2D con celle binarie e quattro regole. Niente processore. Niente circuiti integrati. Solo celle che nascono e muoiono secondo le quattro regole di Conway.

Per capire perché il Game of Life è Turing-complete serve fare un passo indietro su cosa significa “Turing-complete“. Alan Turing, nel 1936 (a 24 anni, che poi è l’età in cui io ancora giocavo a fare il wikipediano…), definì un modello astratto di calcolo: una macchina che legge un nastro infinito di celle, scrive su di esso, e si muove avanti o indietro, seguendo un insieme finito di regole deterministiche. Se un sistema può simulare qualsiasi macchina di Turing – ovvero, se potete configurarlo per eseguire qualsiasi calcolo che sia computabile – quel sistema è Turing-complete. E questo significa, in pratica, che è universale dal punto di vista computazionale. Non c’è niente che una macchina di Turing possa fare che questo sistema non possa fare (dato abbastanza spazio e tempo).

Adesso torniamo al Game of Life. Abbiamo il glider: un segnale che si muove. Abbiamo il glider gun: una sorgente periodica di segnali. Ma questo basta per costruire un computer? No. Per avere un circuito logico servono le porte logiche fondamentali – ANDORNOT. Tutte le operazioni booleane di base. Tutto il resto – addizione, moltiplicazione, confronti, salti condizionali, algoritmi arbitrari – si costruisce combinando porte logiche.

Le porte logiche nel Game of Life si implementano sfruttando le interazioni tra glider. Quando due glider si incrociano, il risultato dipende dalla loro configurazione relativa, dal timing preciso dell’incontro, dalla direzione di arrivo. Alcune combinazioni fanno sì che i due glider si annichiliscano completamente (output: nessun glider). Altre producono nuovi glider in direzioni specifiche (output: uno o più glider). Cambiando la geometria dell’incontro – la posizione esatta dei glider gun che li generano, il timing, le distanze – si possono costruire configurazioni che si comportano come porte AND, OR, NOT. I glider in ingresso rappresentano i bit di input (0 o 1, a seconda se il glider c’è o non c’è). I glider in uscita rappresentano il risultato dell’operazione logica. Se avete porte logiche, avete circuiti combinazionali. Se avete circuiti combinazionali e un meccanismo di memoria (che si implementa con loop di glider e pattern oscillatori), avete circuiti sequenziali. E se avete circuiti sequenziali arbitrari, avete una macchina di Turing.

Non è teoria. È stato fatto. Nel 2000, Paul Rendell costruì una macchina di Turing funzionante interamente nel Game of Life – con nastro, testina di lettura/scrittura, stati, transizioni. Nel 2010, un gruppo di ricercatori guidato da Paul Chapman portò il concetto ancora oltre e costruì un computer completo con tanto di display che esegue il Game of Life… dentro il Game of Life. Queste implementazioni sono, ovviamente, lentissime rispetto a un processore reale. Un singolo clock cycle richiede centinaia o migliaia di generazioni. Per fare un’addizione servono miliardi di passi. Ma funzionano. Il calcolo avviene, corretto, deterministico, verificabile.

Ma torniamo al punto principale. Cosa significa tutto questo? Significa che quella griglia che stavo fissando tanti anni fa – quella cosa che non capivo, che mi sembrava rumore organizzato – aveva più potenza computazionale teorica di qualsiasi processore che abbia mai usato. Non in termini di velocità (sarebbe ridicolo) ma in termini di cosa si può fare.


La biologia che non è biologia (ma quasi)

Conway non ha mai preteso che il Game of Life simulasse la vita biologica in senso letterale. Le regole non hanno niente a che fare con DNA, cellule, metabolismo, evoluzione. Non c’è selezione naturale, non c’è adattamento. È un sistema puramente deterministico dove le stesse condizioni iniziali producono sempre lo stesso risultato. Zero stocasticità, zero mutazioni, zero genetica.

Eppure il campo della “vita artificiale” deve moltissimo al Game of Life. Perché il GoL ha dimostrato sperimentalmente un principio che prima del 1970 era più intuizione filosofica che prova concreta: la complessità biologica non necessita di un progettista intelligente. Può emergere da regole semplici, applicate uniformemente, con niente più che interazioni locali tra elementi identici. Auto organizzazione – strutture che emergono senza coordinamento centrale. Competizione per lo spazio – pattern che sopravvivono sono quelli che soddisfano le condizioni di sopravvivenza (le quattro regole). Emergenza di strutture gerarchiche – dal glider singolo (pattern elementare) al glider gun (generatore) ai circuiti logici (sistemi di pattern che interagiscono in modo coordinato).

Non è evoluzione biologica nel senso darwiniano del termine. Ma è lo stesso principio di base: dalla semplicità emerge complessità, senza bisogno che quella complessità sia esplicitamente codificata nelle regole fondamentali.

Il rischio, qui, è sempre quello di cadere in analogie superficiali che non reggono all’analisi. Il GoL non simula ecosistemi reali. Le “celle” non sono cellule biologiche. Non c’è metabolismo, non c’è riproduzione sessuale, non c’è variabilità genetica. Il parallelo va preso per quello che è: un caso illustrativo di un principio più generale, non una replica della vita reale. Ma resta il fatto che quando si vede un glider gun sparare glider all’infinito, o quando si vedono pattern complessi che emergono da configurazioni casuali iniziali, è difficile non pensare: “questo sembra vivo“. Non lo è, ovviamente. Ma il confine tra “sembra vivo” ed “è vivo” è più sfumato di quanto ci piaccia ammettere.


Wolfram e la ricerca dell’universalità

Se Conway ha mostrato che dalla semplicità emerge complessità in un caso specifico, Stephen Wolfram ha cercato di fare qualcosa di più ambizioso: mappare sistematicamente tutto il comportamento possibile dei sistemi cellulari semplici.

Wolfram – fisico, matematico, creatore di Mathematica (sì, “quel” Mathematica…) – pubblicò negli anni ’80 una serie di paper sui “cellular automata” unidimensionali, versioni ancora più semplici del Game of Life. Immaginate non una griglia 2D, ma una singola riga di celle. Ogni cella ha solo due vicini (sinistra e destra) invece di otto. Ogni cella può essere 0 o 1. E il comportamento della cella alla generazione successiva dipende solo dallo stato suo e dei due vicini. Quante possibili regole ci sono per un sistema così? 256. Esattamente 256, perché ci sono 8 possibili configurazioni di tre celle (2³), e per ognuna devi decidere se la cella centrale sarà 0 o 1 nella generazione successiva (2⁸ = 256 combinazioni totali).

Wolfram le numerò tutte – Rule 0, Rule 1, Rule 2… Rule 255 – e le testò sistematicamente, generazione dopo generazione, partendo da configurazioni iniziali diverse. E scoprì che, nonostante la diversità apparente, tutti questi 256 automi si raggruppavano naturalmente in quattro categorie di comportamento:

Classe I – convergenza a uno stato uniforme. Tutto muore o tutto diventa uguale. Ordine totale, noiosissimo.

Classe II – comportamento periodico semplice. Oscillatori, pattern stabili che si ripetono. Ordine interessante, ma prevedibile.

Classe III – caos completo. Rumore pseudo-casuale, niente strutture persistenti. Imprevedibile ma non interessante.

Classe IV – il punto di interesse. Comportamento complesso non periodico. Strutture che emergono, interagiscono, producono pattern che non sono né ordinati né caotici. È la zona tra ordine e caos dove succedono le cose interessanti.

La Classe IV è quella che conta. È il punto critico – lo stesso equilibrio che Conway ha cercato per otto anni nel Game of Life. E nel 2002, Matthew Cook (lavorando con Wolfram) dimostrò formalmente che la Rule 110 – un singolo ruleset unidimensionale tra i 256 possibili – è Turing-complete.

Rule 110. Tre bit di input, un bit di output, otto regole totali. Più semplice del Game of Life. E universale.

Wolfram andò oltre. Nel suo controverso libro A New Kind of Science (2002, oltre 1200 pagine che lui stesso scrisse interamente, il che già dice qualcosa sulla personalità), lanciò una tesi molto più grande: che l’universo stesso potrebbe essere fondamentalmente un automa cellulare. Che la realtà fisica – il comportamento di particelle, campi, forze, gravità – potrebbe essere il risultato di regole semplici applicate uniformemente a una griglia discreta di “celle” a scala sub-planckiana. È una tesi audace. La comunità scientifica l’ha accolta con scetticismo significativo – non è facilmente falsificabile nel modo tradizionale, richiede salti concettuali enormi, e Wolfram non ha esattamente una reputazione di modestia (eufemismo). Ma non è stata smentita. E il fatto che sistemi così semplici come la Rule 110 siano sufficienti a produrre comportamento universale è una prova che il principio funziona: dalla semplicità può emergere qualsiasi livello di complessità computazionale.

Se l’universo è davvero un automa cellulare, allora Dio (o lo Spaghetto Volante) è un programmatore che ha scritto regole molto semplici e poi ha premuto “Enter” sulla tastiera. Il resto – stelle, galassie, voi che leggete questo – è emergenza. Tutto conseguenza, niente design esplicito.


Il lascito culturale

C’è qualcosa di strano nella storia culturale del Game of Life. Non c’è niente da vincere, niente da perdere, niente obiettivi. Non è uno strumento – non produce risultati praticamente utili in nessun senso. Non risolve problemi reali. È un oggetto intellettuale puro. Un puzzle che non ha soluzione perché non ha una domanda. Eppure milioni di persone lo hanno implementato. In ogni linguaggio di programmazione immaginabile. Python, Java, C, Rust, JavaScript, Haskell, Brainfuck (sì, davvero). Su ogni piattaforma. Arduino, Raspberry Pi, FPGA, GPU con CUDA. In ogni formato. Terminale con ASCII art, interfacce grafiche, LED fisici, schermi E-ink. Su calcolatrici programmabili. Su Game Boy. Su microcontrollori da due euro.

È diventato il “Hello World” della simulazione. Il primo programma che scrivi quando vuoi capire emergenza, automi cellulari, complessità. E ogni volta che qualcuno lo reimplementa – e lo fa per puro piacere – ripete un atto che Conway ha fatto nel 1970: prendere un’idea astratta e trasformarla in qualcosa di concreto, di toccabile, di visibile. Io stesso, tanti anni dopo, l’ho implementato in bash. Non c’era nessun motivo pratico – l’ho fatto perché volevo capirlo davvero, costruirlo con le mie mani, vedere come funzionava. E questo pattern si ripete ovunque nella cultura hacker e open source, ergo: no, non sono come quella particella di sodio. Se volete giocare al gioco della vita – che detto così… – potete scaricare lo script da qui.

Il Game of Life è stato portato su sistemi che Conway non avrebbe mai immaginato. C’è chi lo ha implementato in Excel con le formule. Chi lo ha fatto con circuiti elettronici reali. Chi lo ha costruito con automi cellulari quantistici. Chi lo ha usato per generare musica (ogni cella viva è una nota). Chi lo ha reso tridimensionale. Puro piacere di costruire qualcosa che funziona, che fa quello che deve fare, che è elegante nella sua semplicità. È la dimostrazione pratica che la bellezza matematica esiste.


Tornare alla griglia

Quella griglia Flash che stavo fissando tanti anni fa è ancora nella mia memoria con una chiarezza strana, come una sensazione di guardare qualcosa che non aveva senso. Oggi però so che aveva più senso di quanto io avessi immaginato. Quattro regole, senza obiettivo, senza un progettista che dicesse “ora fai questo, ora fai quello“. E il risultato era – ed è – una delle dimostrazioni più eleganti che la complessità non necessita di un autore. Che può emergere dal nulla.

Von Neumann aveva chiesto: una macchina può riprodurre se stessa? Conway aveva cercato il sistema più semplice possibile che mostrasse un comportamento interessante. E quello che aveva trovato, era qualcosa di molto più grande: una prova che il calcolo universale può emergere da celle binarie e quattro regole elementari. E tutto il resto – i glider, i gun, i circuiti logici, la Turing-completeness, la bellezza ipnotica dei pattern che emergono – è conseguenza. Pura, inevitabile conseguenza. E forse è questo il motivo per cui quella griglia Flash mi è rimasta impressa per anni, anche senza capirla. Perché a un livello inconscio percepivo che lì dentro c’era qualcosa di fondamentale. Qualcosa che parlava di come funziona l’universo – non in senso letterale, forse, ma come metafora. Come dimostrazione che le regole semplici, applicate con regolarità, producono tutto quello che vediamo attorno a noi. Che la complessità del mondo – noi compresi – potrebbe essere solo una conseguenza di regole che non sappiamo ancora leggere.

Citando un vecchio slogan pubblicitario dell’UAAR “La cattiva notizia è che Dio non esiste. Quella buona è che non ne hai bisogno


Fonti e Approfondimenti

Paper e Libri Fondamentali:
– Gardner, M. (1970). “Mathematical Games: The Fantastic Combinations of John Conway’s New Solitaire Game ‘Life‘”. Scientific American, 223(4), 120-123.
– Von Neumann, J. (1966). Theory of Self-Reproducing Automata. University of Illinois Press.
– Wolfram, S. (1983). “Statistical Mechanics of Cellular Automata“. Reviews of Modern Physics, 55(3), 601-644.
– Berlekamp, E. R., Conway, J. H., & Guy, R. K. (1982). Winning Ways for Your Mathematical Plays, Volume 2: Games in Particular. Academic Press.

Turing-completeness e Implementazioni:
– Rendell, P. (2000). “A Turing Machine in Conway’s Game of Life“.
– Chapman, P., et al. (2006). “OTCA Metapixel – Life in Life“.
– Cook, M. (2004). “Universality in Elementary Cellular Automata“. Complex Systems, 15(1), 1-40.

Risorse Online:
– LifeWiki: https://conwaylife.com/wiki/ (la risorsa definitiva, catalogazione di migliaia di pattern)
– Wikipedia: https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
– Gosper’s Glider Gun: https://en.wikipedia.org/wiki/Gun_(cellular_automaton)
– Rule 110: https://en.wikipedia.org/wiki/Rule_110
– Turing completeness: https://en.wikipedia.org/wiki/Turing_completeness

Pattern Explorer:
– Online simulators: https://playgameoflife.com/
– Golly (software dedicato): http://golly.sourceforge.net/

Interviste e Materiale Biografico:
– Numberphile – John Conway interview series

 

da qui

Nessun commento:

Posta un commento