See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Gioco life di Conway - Wikipedia

Gioco life di Conway

Da Wikipedia, l'enciclopedia libera.

Esempio di versione grafica del Gioco della Vita
Esempio di versione grafica del 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 '60. 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, come in questo sito, anche per Matlab, differenti regole biologiche, e differenti tipi di cellule.

Indice

[modifica] Storia

L'evoluzione e il movimento di un aliante.
L'evoluzione e il movimento di un aliante.

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 a causa dei sorprendenti modi in cui le diverse configurazioni evolvono. 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 una nuova generazione di minicomputer venne rilasciata sul mercato, 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 sprecare i cicli delle CPU. Per molti altri, invece, Life aveva più connotati filosofici. Si sviluppò un culto durante gli anni '70 e nella metà degli anni '80.

[modifica] Descrizione

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)

[modifica] Esempi di configurazioni

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.

Immagine:game of life block.png Immagine:game of life boat.png Immagine:game of life blinker.png Immagine:game of life toad.png Immagine:game of life glider.png Immagine:game of life lwss.png
blocco barca lampeggiatore rospo aliante astronave

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 (morte difficile) è uno schema che alla fine scompare, dopo 130 generazioni. La ghianda impiega 5206 generazioni per generare 13 alianti e poi si stabilizza nella forma di tanti oscillatori.

 Immagine:game of life diehard.png   Immagine:game of life methuselah.png 
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:

Immagine:game of life glider gun.png
cannone di alianti di Gosper

Immagine:Gospers glider gun.gif
cannone di Gosper in azione

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 è alto solo una riga.

Immagine:game_of_life_infinite1.png     Immagine:game_of_life_infinite2.png

Immagine:game_of_life_infinite3.png

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. 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 sé stesso. (Descrizioni di queste costruzioni si trovano in (Metodi vincenti per i tuoi giochi matematici) di John Conway, Elwyn Berlekamp e Richard Guy).

[modifica] Voci correlate

[modifica] Altri progetti

[modifica] Collegamenti esterni




aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -