Gioco della vita
Il gioco della vita (Game of Life in inglese) è un automa cellulare sviluppato dal matematico inglese John Conway sul finire degli anni sessanta. 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 dell'ecobiologia, la quale si rifà anche alla teoria della complessità. Del gioco sono poi state sviluppate versioni con differenti topologie, ad esempio tridimensionali[1], anche per MATLAB[2], differenti regole biologiche, e differenti tipi di cellule.
Indice |
Storia [modifica]
Ha fatto la sua prima apparizione in pubblico nell'edizione dell'ottobre 1970 di Scientific American, nella rubrica «Giochi matematici» di Martin Gardner. Dal punto di vista teorico è interessante perché ha le potenzialità di una macchina di Turing universale: in altre parole, ogni cosa che può essere elaborata algoritmicamente può essere elaborata nel contesto del Game of Life.
Dal momento della sua pubblicazione ha ottenuto molto interesse grazie ai modi sorprendenti in cui le diverse configurazioni possono evolvere. Il gioco è un esempio di sviluppo e auto-organizzazione. È interessante per scienziati, matematici, economisti, e altri, osservare il modo in cui schemi complessi possono emergere dall'implementazione di regole assai semplici.
Il gioco della vita ha una grande quantità di modelli conosciuti che emergono da particolari configurazioni iniziali. Poco tempo dopo la pubblicazione furono scoperti i modelli dell'R-pentamino e dell'aliante, i quali incrementarono l'interesse verso il gioco. La sua popolarità fu aiutata dal fatto che fu immessa sul mercato una nuova generazione di minicomputer, permettendo così di lasciare il gioco in esecuzione per ore su queste macchine che sarebbero state altrimenti inutilizzate durante la notte. Per molti affezionati, Life era semplicemente una sfida di programmazione, un modo divertente per non sprecare i cicli delle CPU. Per molti altri, invece, Life aveva più connotati filosofici. Divenne oggetto di una sorta di culto amatoriale durante gli anni settanta e nella metà degli anni ottanta.
Descrizione [modifica]
Si tratta in realtà di un gioco senza giocatori, intendendo che la sua evoluzione è determinata dal suo stato iniziale, senza necessità di alcun input da parte di giocatori umani. Si svolge su una griglia di caselle quadrate (celle) che si estende all'infinito in tutte le direzioni; questa griglia è detta mondo. Ogni cella ha 8 vicini, che sono le celle ad essa adiacenti, includendo quelle in senso diagonale. Ogni cella può trovarsi in due stati: viva o morta (o accesa e spenta, on e off). Lo stato della griglia evolve in intervalli di tempo discreti. Gli stati di tutte le celle in un dato istante sono usati per calcolare lo stato delle celle all'istante successivo. Tutte le celle del mondo vengono quindi aggiornate simultaneamente nel passaggio da un istante a quello successivo: passa così una generazione.
Le transizioni di stato dipendono unicamente dal numero di vicini vivi:
- Una cella morta con esattamente 3 vicini vivi nasce, diventando viva.
- Una cella viva con 2 o 3 vicini vivi sopravvive; altrimenti muore (per isolamento o sovraffollamento)
Esempi di configurazioni [modifica]
Nel gioco della vita compaiono configurazioni di tipi diversi, tra cui configurazioni statiche, configurazioni periodiche (oscillatori - un soprainsieme delle configurazioni statiche), e configurazioni che trasportano se stesse in giro per il mondo (navicelle spaziali). Gli esempi più semplici di queste tre classi sono raffigurati sotto, con le celle vive in nero, e le celle morte in bianco.
| Blocco | Barca | Lampeggiatore | Rospo | Aliante (Glider) | Astronave leggera (LWSS) |
Il blocco e la barca sono oggetti stabili, il lampeggiatore e il rospo sono oscillatori, l'aliante e l'astronave leggera sono navicelle spaziali che si spostano per il mondo intanto che il tempo scorre.
Le configurazioni chiamate methuselah possono evolversi per lungo tempo prima di ripetersi. Il diehard (duro a morire) è uno schema che alla fine scompare, dopo 130 generazioni. L'eptomino di Alessandro Goretti e l'eptomino-P impiegano rispettivamente 172 e 173 generazioni prima di stabilizzarsi in una forma statico-oscillatoria. La ghianda impiega 5206 generazioni per generare 13 alianti e poi si stabilizza nella forma di tanti oscillatori.
La configurazione dei due eptomini è: 3x3 (111101101); 5x2 (0111011011)
| |
|
| Diehard | Ghianda |
Nell'apparizione originale del gioco, Conway offrì un premio in denaro per un qualunque schema che crescesse indefinitamente. Il primo fu trovato da Bill Gosper nel novembre del 1970. Questi schemi includono i gun (fucili), che sono stazionari e sparano alianti o altre navicelle, i fumatori, che si muovono lasciando dietro di loro una coda di detriti statici, e i rastrelli, che si muovono ed emettono navicelle. Gosper ha più tardi scoperto uno schema con un tasso di crescita quadratico, chiamato reattore, che lavorava lasciando dietro di sé una coda di fucili. Da allora sono state create complicate costruzioni, tra cui porte logiche per alianti, un sommatore, un generatore di numeri primi, e una cella che emula lo stesso gioco della vita riscalato nello spazio e nel tempo.
Il primo emettitore di alianti scoperto è tuttora il più piccolo conosciuto:
Schemi più semplici, anch'essi dotati di crescita infinita, furono scoperti più tardi. Tutti e tre i seguenti schemi hanno una crescita infinita. I primi due creano un motore di interruttori a blocchi (blocklaying switch engine) ciascuno, mentre il terzo ne crea due. Il primo ha solo 10 celle vive (che sono state dimostrate essere il minimo). Il secondo si situa in un quadrato 5 per 5. Il terzo (di Paul Callahan) è alto solo una riga.
Sono possibili interazioni interessanti tra alianti e altri oggetti. Per esempio, se due alianti colpiscono un blocco nella maniera giusta, il blocco si muove verso la sorgente degli alianti. Se tre alianti sono lanciati nella giusta maniera il blocco si muove allontanadosi dalla sorgente degli alianti. Questa memoria a blocchi può essere usata per simulare un contatore. È possibile costruire porte logiche AND, OR e NOT usando alianti. È possibile costruire una configurazione che agisca come una macchina a stati finiti connessa a due contatori.[3] Questo ha lo stesso potere computazionale di una macchina di Turing universale (Vedi contatore per la prova), così il gioco della vita è potente quanto un qualunque computer con memoria infinita: è Turing equivalente. Inoltre, uno schema può contenere un insieme di fucili che si combinano per creare nuovi oggetti, tra cui copie dello schema originale. Può essere costruito un costruttore universale che contenga un computer Turing equivalente, e che può costruire numerosi tipi di oggetti complessi, includendo copie di se stesso. (Descrizioni di queste costruzioni si trovano in Winning Ways for your Mathematical Plays di John Conway, Elwyn Berlekamp e Richard Guy).
Note [modifica]
- ^ Esempio di topologia tridimensionale sul sito IBiblio.org.
- ^ Esempio per MATLAB sul sito MathWorks.com.
- ^ A Turing Machine in Conway's Game of Life, extendable to a Universal Turing Machine
Voci correlate [modifica]
Altri progetti [modifica]
Wikibooks contiene testi o manuali su come creare un programma in C++ per realizzare il gioco della vita
Commons contiene immagini o altri file su Gioco della vita
Collegamenti esterni [modifica]
- The Game of Life on Android
- Game of Life Lexicon
- Golly Un simulatore molto versatile
- Life Social Game. Un social game ispirato al "Gioco della Vita" di John H. Conway
- La Wiki ufficiale del gioco
- 3d game of life Simulazione java in un frattale di dimensione 2.5
- Game of life standalone WinXP
- Articolo dell'ottobre 1970 di Scientific American
- Le jeu de la vie de John H. Conway
- Game of Life
- What is the Game of Life?
- Game of Life scaricabile
- A tool for exploring the Game of Life - Applicazione giocabile in rete, con descrizioni sugli automi più comuni
- Il gioco Life
- (EN) Conway's Game of Life Simulator for Microsoft Windows.
- (EN) Conway's game of life implementation. (Silverlight)
|
|

