
Si è spento a 82 anni nella sua Princeton, John H Conway: un’altra vittima di quest’odiosa pandemia.
Conway, il padre di Game of Life (GoL), era considerato uno dei più carismatici matematici, Siobhan Roberts nel 2015 sul Guardian lo aveva definito “un misto tra Archimede, Mick Jagger e Salvador Dalì. Per molti anni spaventato che la sua ossessione per i giochini potesse rovinargli carriera, finché non ha realizzato che proprio quei giochini avrebbero potuto portare a scoperte straordinarie”.
Conway, cresciuto in Inghilterra e trapiantato negli USA, nella sua carriera ha fatto cose mirabolanti, pubblicando lavori fondamentali nella teoria dei numeri, dei gruppi, nella topologia algebrica e nella teoria dei nodi; per chi fosse curioso, il blog della Società Matematica Statunitense riporta una sua accurata biografia.
Il motivo per cui lo vorrei ricordare è Game of life, il “gioco della vita”.
Questo strano “oggetto digitale”, a metà tra un serio esperimento ed un videogioco ante-litteram, affascina tecnici e curiosi dal 1970. È nato come oggetto fisico su una tavola da Go ed ha avuto come prime incarnazioni elettroniche i software su IBM 310 e DEC PDP-7, vere e proprie piattaforme archeologiche: in un certo senso GoL esiste da quando esistono i computer moderni.
Per i secchioni, GoL è un sistema Turing completo, che può simulare un costruttore universale o qualsiasi altro tipo di macchina di Turing.
Il Gioco della vita è l’esempio più famoso di automa cellulare: il suo scopo è quello di mostrare come comportamenti simili alla vita possano emergere da regole semplici e interazioni a molti corpi, principio che è alla base fra l’altro dell’Ecologia (ed in generale della Biologia moderna) e che si rifà anche alla teoria della complessità.
Le regole base sono quattro:
- Qualsiasi cellula viva con meno di due cellule vive adiacenti muore, come per effetto d’isolamento;
- Qualsiasi cellula viva con due o tre cellule vive adiacenti sopravvive alla generazione successiva;
- Qualsiasi cellula viva con più di tre cellule vive adiacenti muore, come per effetto di sovrappopolazione;
- Qualsiasi cellula morta con esattamente tre cellule vive adiacenti diventa una cellula viva, come per effetto di riproduzione.
Queste regole formali, possono essere condensate in queste tre affermazioni:
- Ogni cellula viva con 2 o 3 vicini vivi, sopravvive
- Ogni cellula morta con 3 vicini vivi, diventa viva
- Tutte le altre cellule vive, muoiono nella generazioni successive. Allo stesso modo, le altre cellule morte, restano morte.
Del gioco base sono poi state sviluppate molte altre versioni con differenti tipi di cellule, differenti topologie (ad esempio tridimensionali) o differenti regole biologiche.
Si tratta un gioco senza giocatori: la sua evoluzione è determinata dal suo stato iniziale, senza necessità di alcun input ulteriore da parte di giocatori umani. Lo stato iniziale costituisce il seed del sistema.
La prima generazione viene create applicando le regole simultaneamente a tutte le cellule nel seed, nascite e morti avvengono in contemporanea.
La forma classica, si svolge su una griglia di caselle quadrate (celle) che si estende all’infinito in tutte le direzioni.
Questa griglia è il mondo.
Ogni cellula ha 8 vicini: le celle adiacenti, includendo quelle in diagonale. Ogni cellula può avere in due stati: viva o morta (o accesa e spenta, on e off).
Lo stato della griglia evolve in intervalli di tempo scanditi in maniera netta, cioè discreti.
In un dato istante, gli stati di tutte le celle sono usati per calcolare lo stato delle celle all’istante successivo. Dunque, tutte le celle del mondo vengono aggiornate simultaneamente nel passaggio da un istante a quello successivo: passa così una generazione.
Le transizioni dipendono unicamente dallo stato delle celle vicine in quella generazione. Ogni generazione è una pura funzione della precedente. Le regole continuano ad essere applicate iterativamente per creare ulteriori generazioni.
Per chi volesse provare a fare delle serie simulazioni (o una partitina) qui si trova una versione web del gioco.