una cellula con due o tre cellule vicine vive.

una cellula con meno di 2 vicini muore per solitudine.

una cellula con più di tre cellule vicine vive muore per sovraffollamento.

una cellula morta con tre cellule vive intorno, nasce.

No, non sto parlando di biologia. Qui si parla di software e logica matematica. Di computazione evolutiva. Si tratta di un giochino “facile facile”: Life, il gioco della vita.

Rewind. Facciamo un salto indietro fino agli anni ’40-’50.

In quegli anni un tal Von Neumann si dedica alla ricerca sull’autoreplicazione informatica, ovvero l’idea di creare dei software (si negli anni ’50 si ragionava già sui software, non siamo poi così moderni) che fossero in grado di generare complessità partendo da regole, algoritmi, estremamente semplici.

Von Neumann partendo dagli studi sulla generazione dei cristalli effettuati dal polacco Ulam elaborò la teoria degli automi cellulari.

Cosa sono gli automi cellulari è presto detto: prendete un foglio a quadretti di dimensioni infinite, un universo, stabilite una serie di semplici regole, universali appunto, un algoritmo come quello con cui apro questo articolo e iniziate a disegnare dei quadretti neri (vivi) e lasciare altri quadretti bianchi (morti). Ora, questo gruppo di cellule costituisce un organismo più o meno complesso le cui cellule reagiscono sia tra di loro sia con altre cellule esterne all’organismo, sia con altri organismi con cui entrano in contatto. Le relazioni tra le cellule determinano un cambio di stato, una variazione. Tale variazione nel tempo è detta evoluzione.

Sì, ok, bel giochino per bambini asociali e brufolosi, direte, una inutile perdita di tempo e di notti insonni. Apparentemente sì, se non siete degli impallinati di logica matematica, se non fosse che dovete a questi genii, e altri cui racconterò a breve, se oggi leggete questo articolo dallo schermo di uno smartphone

Torniamo al ’46.

Un “certo” Alan Turing (se non avete visto il film “The imitation game” che non parla di Turing, potete continuare a non vederlo perché non vi dirà assolutamente nulla su questo genio visionario, piuttosto leggetevi qualche libro) teorizza e costruisce sua la omonima macchina in grado di elaborare dati e simboli registrati su un nastro magnetico secondo delle regole assegnate e idealmente capace di effettuare qualsiasi tipo di operazione, partendo dalle teorie di Von Neumann.

Pochi anni dopo, nel ’53, Watson e Crick, presentarono il modello più accurato della struttura del DNA.

Due eventi apparentemente separati si fondono filosoficamente a creare un unico costrutto; le scienze naturali della genetica si uniscono alle scienze matematiche dell’informatica: la creazione della vita partendo da regole semplici e finite, ma che permutate e combinate posso dare origine ad infinite forme di vita. La teoria degli automi cellulari.

Arriviamo dunque agli anni ’70 quando John Conway elabora il gioco della vita più famoso, le cui regole sono in testa a questo articolo.

Partendo da queste regole Conway elabora il suo gioco della vita in cui il giocatore è dunque un creatore, un dio in scala, che dona la vita a delle cellule morte, facendole evolvere nel tempo secondo le regole date. Ogni generazione comporta un mutamento dello stato delle cellule e delle formule complesse che esse creano nel tempo. Si evolvono, si uniscono e distruggono vicendevolmente, creano pattern statici o dinamici.

Giocarci all’inizio deve essere stato davvero complicato, dovendo disegnare manualmente ogni stato evolutivo. Grazie però al grande successo che ebbe il gioco, molti iniziarono a sperimentarlo sui computer dell’epoca, rendendo più disponibile il gioco stesso e consentendone evoluzioni sempre più complesse.

I primi tempi dopo l’invenzione di Conway ogni forma di vita creata finiva il suo ciclo di vita con la morte dell’organismo, con un loop dinamico o un pattern statico; fu allora che Conway indisse un concorso con un premio di soli 50 dollari in cui sfidò il mondo a creare un organismo che fosse in grado di non terminare il proprio ciclo vitale con la morte o un loop.

La sfida fu vinta da un gruppo di ragazzi del MIT che creò il famoso Cannone di Gosper (Gosper Glider Gun); il Cannone consiste in un organismo che ogni 15 generazioni crea un figura composta da 4 celle, viva e capace di muoversi in diagonale: il cosidetto Aliante o Navicella.

Immaginate quanta fascinazione si portasse dietro questo gioco agli occhi degli informatici del tempo nell’assistere non a qualcosa di preordinato e cognitivo, ma a qualcosa che aveva realmente più a che fare con la vita stessa.

[Mondi, scontri di società, esseri che nascono, si evolvono e muoiono. 4 semplici regole per creare infiniti universi]

Perché è così importante il Gioco della vita? Perché non si è estinto come una qualsiasi moda passeggera?

Il motivo è perché a differenza della programmazione che veniva effettuata all’epoca, dove un software era in grado di risolvere problemi specifici attraverso una serie predeterminata di istruzioni, la creazione degli automi cellulari ha permesso per la prima volta un approccio alla programmazione di tipo “bottom-up” ovvero la creazione di poche regole base che combinate tra loro potessero risolvere qualsiasi tipo di problema

Chi ha detto intelligenza artificiale? … Siri, Cortana e Google Now vi dicono qualcosa?

[ FINE PRIMA PARTE]

Applicazione per provare il Game of life

Mac OsX http://apple.co/1EYFssr

iOs http://apple.co/1AQGFa1   http://apple.co/1FyVdXw

Android http://bit.ly/1AQGX0E  http://bit.ly/1BN0RVm