Da un po' di tempo il blog Mr. Palomar ha traslocato.

Tra pochi secondi sarai reindirizzato alla sua nuova casa sul mio sito personale paoloalessandrini.it.

(Se non avviene, clicca qui → Vai al nuovo blog)

Redirect in 2 secondi…

Visualizzazione post con etichetta automi cellulari. Mostra tutti i post
Visualizzazione post con etichetta automi cellulari. Mostra tutti i post

venerdì 1 maggio 2020

La matematica di Gianni Rodari #1: Conway e il "Game of Life"

Gianni Rodari (1920-1980)
Qualche giorno fa ci ha lasciati il grande matematico inglese John Horton Conway, tra i più brillanti degli ultimi decenni.
Conway è stato anche un gigante della matematica ricreativa e inventore di numerosi geniali giochi matematici.
Che Conway vanti molte citazioni su articoli specialistici di matematica o in saggi scientifici divulgativi, non sorprende nessuno.
Credo tuttavia che una citazione risulti, per molte persone, sconosciuta e anche piuttosto sorprendente: il nome di Conway compare nientemeno che nel celebre saggio di Gianni Rodari "Grammatica della fantasia. Introduzione all'arte di inventare storie" (Einaudi, 1973).
Il riferimento all'accademico inglese è contenuto in una delle diciassette brevi "schede" che Rodari mise in fondo al volume, a integrazione dei quarantaquattro capitoli dell'opera.
Perché questa citazione?

Parto da un dato di fatto: Rodari era un grande appassionato di scienza, come traspare dalla sua opera letteraria, e leggeva regolarmente riviste come "Le Scienze".
Qualche anno fa un ottimo giornalista scientifico come Pietro Greco ha esplorato le incursioni rodariane nel mondo della scienza in un libro intitolato "L'universo a dondolo. La scienza nell'opera di Gianni Rodari" (Springer, 2011). Greco ha osservato che Rodari studiava "con sistematicità il rapporto complesso e bidirezionale tra scienza e fantasia. Nella convinzione che non solo la scienza serve alla fantasia, ma che la fantasia serve alla scienza".

La "Grammatica della fantasia",
capolavoro di Rodari
A Rodari questo mutuo legame stava molto a cuore. Se esploriamo il mondo della scrittura e delle trame, possiamo scoprirvi innumerevoli spunti di carattere scientifico, talvolta inseriti intenzionalmente, altre volte no. In questo senso la scienza serve alla fantasia. Più in particolare, Rodari ha spesso individuato nelle narrazioni di altri autori, e inserito nelle proprie, richiami di tipo matematico, legati per esempio alla logica, alla teoria degli insiemi, alla geometria.
Nel capitolo 37 della "Grammatica", intitolato significativamente "La matematica delle storie", Rodari si occupa proprio di mostrare come le strutture logico-matematiche ricorrono frequentemente nelle trame delle storie.

La scheda "Le storie della matematica" si apre con una di quelle frasi che da sole aprono alla mente sconfinati universi:

Accanto a una "matematica delle storie" (vedi cap. 37) ci sono anche delle "storie della matematica".

Ecco, Rodari suggerisce ora di capovolgere il punto di vista e di cercare non più la matematica nelle narrazioni, ma le narrazioni all'interno della matematica. Più in generale, come osserva Greco, "la fantasia serve alla scienza".

È una riflessione acuta e modernissima, questa di Rodari.
Fondamentale per chi, come me, fa il divulgatore e il docente, e deve ideare forme e modalità adatte per veicolare argomenti e concetti che spesso sono oggettivamente difficili per la gran parte del pubblico. Saper trasformare in narrazione ciò che solitamente viene pensato in una forma totalmente diversa, astratta e formale, può rappresentare un'arma vincente, uno strumento comunicativo di enorme efficacia.
In classe io l'ho constatato molte volte: quando riesco a proporre un argomento matematico sotto forma di storia, ottengo sempre risultati apprezzabili, a volte ottimi. La narrazione attiva nella mente di chi ascolta meccanismi emotivi che innalzano di molto l'attenzione e l'interesse.
Ecco allora che, anziché introdurre i numeri irrazionali con un approccio formale, lo si può fare raccontando la vicenda dei pitagorici alle prese con la scoperta dell'incommensurabilità tra le lunghezze del lato e della diagonale del quadrato. Invece di spiegare il calcolo combinatorio attraverso le definizioni tradizionali, si può partire dalla copertina di "Help!" dei Beatles, come ho fatto in "Matematica rock". E così via.
Ma naturalmente Rodari non si riferiva soltanto a un atteggiamento "narrativo" della trasmissione della scienza. Intendeva, più in generale, che la scienza e la matematica possono racchiudere, al loro interno, germi di storie: che questi vengano portati in superficie e sfruttati da insegnanti e divulgatori, è un'altra questione.
Si tratta, in fin dei conti, della stessa tesi che è stata sviluppata nel bellissimo "Matematica come narrazione" di Gabriele Lolli (Il Mulino, 2018), in cui si mostra come (cito dal risvolto di copertina) "nei programmi di grandi matematici i concetti sono i protagonisti di una fiaba che combina nuove idee in moduli ricorrenti, quelle tecniche del ragionamento che sono nate dalla retorica e dalla poesia greca".

L'autore delle "Favole al telefono" ha insistito più volte sulla bidirezionalità storie-fantasia, declinandola spesso in chiave matematica: per esempio, nel capitolo 44 della "Grammatica", troviamo una delle sue frasi più famose:

Le fiabe servono alla matematica come la matematica serve alle fiabe.

John H. Conway (1937-2020)
L'esempio di storie utili alla matematica che Rodari propone nella scheda chiama direttamente in causa John Conway:

Chi segue la rubrica Giochi matematici di Martin Gardner nella rivista "Scienze" (edizione italiana dello "Scientific American") mi ha già capito. I "giochi" che i matematici inventano per esplorare i loro territori, o scoprirne di nuovi, assumono spesso la caratteristica di "fictions" che stanno a un passo dall'invenzione narrativa. Ecco per esempio il gioco denominato "Vita", creato da John Norton Conway, un matematico di Cambridge ("Scienze", maggio 1971). 

Come lettore de "Le Scienze", il grande scrittore di Omegna apprezzava in particolare la rubrica "Giochi matematici", curata dal 1957 al 1980 (e anche successivamente, ma in modo non regolare) dal grande Martin Gardner. Se Rodari non fosse scomparso nel 1980, ancora cinquantanovenne, avrebbe sicuramente trovato illuminanti anche i "Metamagical Themas" (1981-1983) di Douglas Hofstadter e le "Computer/Mathematical recreations" di Alexander Dewdney (1984-1991).

La copertina del "Scientific American "
di ottobre 1970
Nel numero 223/4 (ottobre 1970) del "Scientific American", la rubrica "Mathematical Games" proponeva un articolo intitolato "The fantastic combinations of John Conway's new solitaire game 'Life'". "Le Scienze" pubblicò la traduzione italiana nel numero di maggio 1971, citato da Rodari.
Il "Game of Life" creato da Conway è il più celebre degli automi cellulari: la semplicità delle sue regole, combinata alla meravigliosa complessità delle strutture che riesce a generare, lo rendono uno degli esempi più stupefacenti di bellezza matematica.
In questo vecchio post avevo brevemente parlato di alcune delle sue proprietà.

Che cosa c'entrano le storie con il gioco di Conway? Lo stesso Rodari lo chiarisce benissimo subito dopo:

Esso consiste nel simulare sul calcolatore la nascita, la trasformazione e il declino di una società di organismi viventi. In questo gioco le configurazioni inizialmente asimmetriche tendono a diventare simmetriche. Il professor Conway le chiama: "l'alveare", "il semaforo", "lo stagno", "il serpente", "la chiatta", "la barca", "l'aliante", "l'orologio", "il rospo", ecc. Egli assicura che esse costituiscono "un meraviglioso spettacolo da osservare sullo schermo del calcolatore": uno spettacolo in cui, in fin dei conti, l'immaginazione contempla se stessa e le proprie strutture.

Io me lo immagino, il grande Rodari, a casa sua, nel maggio del 1971, intento a leggere l'articolo di Gardner e fantasticare sui pattern del "Game of Life". Chissà se per un attimo ha anche pensato di ambientare uno dei suoi racconti nel meraviglioso automa cellulare di Conway, facendo muovere rospi, barche, semafori e alianti in una delle sue storie geniali.

Quest'anno si celebra il centenario della nascita di Gianni Rodari. Lo scorso 14 aprile è stato il quarantennale della sua morte.
Ho deciso di offrire un piccolo contributo alla memoria di questo nostro grande autore pubblicando, con cadenza all'incirca settimanale (l'idea è di uscire ogni venerdì), un post dedicato alla "Matematica di Gianni Rodari". Questo è il primo.
L'ultimo coinciderà con il giorno del centenario, il 23 ottobre.
Spero che vi piaceranno.

giovedì 19 gennaio 2012

"Ti con zero" e l'infinito di Calvino

Nei miei post precedenti ho citato più volte Italo Calvino, per una serie di ragioni diverse: per una mia personale predilezione per le opere del grande narratore, per una ricorrente vicinanza delle stesse con le tematiche scientifiche, e, perché no, per una impalpabile affinità che trae origine dal nome di questo stesso blog.
Ricordo che quando avevo circa vent'anni mi ero ammalato di una specie di "calvinite" acuta: continuavo a comprare libri di Calvino, perché dovevo continuare a leggerne. Tra i volumi che acquistai in quel periodo c'era "Ti con zero", la raccolta di racconti pubblicata nel 1967, quasi come prosecuzione ideale delle "Cosmicomiche" del 1965.

"Ti con zero" non è una lettura facile, per così dire, da ombrellone. Il libro è suddiviso in tre parti, ciascuna formata da alcuni racconti. La prima parte si riallaccia alle atmosfere delle "Cosmicomiche", recuperando il protagonista Qfwfq, palindromo narratore vecchio come l'Universo, che racconta le sue vicende senza tempo e senza spazio. Gli scenari cosmogonici che fanno da sfondo alle avventure di Qfwfq evidenziano il gusto di Calvino per le tematiche scientifiche, in particolare astronomiche e cosmologiche. 

Se la prima parte culmina con la morte di Qfwfq, la sezione centrale del libro è invece una lunga e complessa riflessione sulla vita, affrontata con la prospettiva e il linguaggio della biologia. Il trittico, intitolato “Priscilla”, è costituito dai racconti “Mitosi”, “Meiosi” e “Morte”, e curiosamente introdotto da sette lunghe citazioni, di sapore scientifico (tra biologia, filosofia, cibernetica e cosmologia). Le ultime due sono forse le più sorprendenti: rispettivamente tratte da “The general and logical theory of automata” di John von Neumann e dal “Dialogo sopra i due massimi sistemi” di Galileo Galilei.
Ricordo che quando lessi per la prima volta “Ti con zero” provai piacere misto a sorpresa nel leggere la frase di von Neumann usata per introdurre dei racconti. Mi sembrava insolito e meraviglioso che un discorso letterario potesse accogliere in sé anche il linguaggio matematico e considerazioni sulla teoria della complessità e sugli automi cellulari. In fondo mi possedeva la stessa fissazione che ho oggi: l’urgenza di mescolare prospettive diverse, letterarie e scientifiche.

Nella terza e ultima parte Calvino cambia nuovamente registro: i quattro racconti che concludono la raccolta sono storie paradossali, elucubrazioni filosofiche che sviluppano spunti narrativi minimi e apparentemente insignificanti. Molta matematica si nasconde tra le pieghe di questi racconti: in particolare analisi matematica, se è vero che il concetto che si agita dietro le riflessioni di Calvino è il concetto di infinito.

Nel racconto che dà il nome al libro, il protagonista si trova nell’atto di scagliare una freccia verso un leone pronto a balzargli addosso, e compie una articolata serie di riflessioni che si concentrano temporalmente in un unico, lunghissimo, istante. Calvino stesso, a proposito di questo celebre racconto, affermò: 

“In ‘Ti con zero’ cerco di vedere il tempo con la concretezza con cui si vede lo spazio. Nel racconto, ogni secondo, ogni frazione di tempo è un universo. Ho abolito tutto il prima e il dopo fissandomi così sull’istante nel tentativo di scoprirne l’infinita ricchezza. Vivere il tempo come tempo, il secondo per quello che è, rappresenta il tentativo di sfuggire alla drammaticità del divenire. Quello che riusciamo a vivere nel secondo è sempre qualcosa di particolarmente intenso, che prescinde dall’aspettativa del futuro e dal ricordo del passato, finalmente liberato dalla continua presenza della memoria. ‘Ti con zero’ contiene l’affermazione del valore assoluto in un singolo segmento del vissuto staccato da tutto il resto.”

Anche gli altri tre racconti di questa sezione finale del libro, “L'inseguimento”, “Il guidatore notturno” e “Il Conte di Montecristo” insistono sulle stesse tematiche: il tempo, lo spazio, l’infinito, la causalità, la contrapposizione tra il tutto e le parti.
Nelle “Lezioni americane”, Calvino afferma: 

“Studiare le zone di confine dell’opera letteraria è osservare i modi in cui l’operazione letteraria comporta riflessioni che vanno al di là della letteratura ma che solo la letteratura può esprimere”

Bè, in “Ti con zero” queste zone di confine vengono studiate, eccome. Calvino, unico letterato di una famiglia di scienziati, attinge a piene mani dalle tematiche scientifiche, e sembra arrivare ad una conclusione, per così dire, gödeliana: non è possibile comprendere a fondo la realtà, cioè formulare un modello completo del mondo, senza uscire da esso, adottando un punto di vista metafisico e astratto.  
Qualcuno ha fatto notare che nel racconto “Il conte di Montecristo” i due protagonisti adottano due strategie opposte nel rapportarsi con il mondo: Faria si ostina a scavare gallerie nel tentativo di fuggire dalla prigione dell’isola d’If, mentre il conte di Montecristo osserva gli inutili sforzi dell’abate e si raffigura nella sua testa i mille possibili modi per uscire dalla fortezza, senza metterne in atto alcuno: 

"Lavorando di ipotesi riesco alle volte a costruirmi un’immagine della fortezza talmente persuasiva e minuziosa da potermici muovere a tutto mio agio col pensiero; mentre gli elementi che ricavo da ciò che vedo e ciò che sento sono disordinati, lacunosi e sempre più contraddittori."

mercoledì 11 gennaio 2012

Calcolatori-scacchiera per giocare alla vita

Se cercate un gioco da fare in gruppo, ve ne propongo uno molto semplice. Disponetevi in una fila, in modo che ciascuno si trovi una persona alla sua sinistra e una alla sua destra: faranno eccezione le due persone alle estremità, ciascuna delle quali si ritroverà un solo vicino e non due.
All'inizio del gioco, ognuno deciderà autonomamente se stare in piedi oppure accovacciato. Successivamente, le persone per terra con entrambi i vicini in piedi dovranno alzarsi; viceversa chi si trova in piedi tra due persone accovacciate dovrà a sua volta abbassarsi. In tutti gli altri casi si deve mantenere invariata la propria posizione.
Anche i due giocatori alle estremità dovranno fingere di avere due vicini: quello all'estrema sinistra, con un pizzico di fantasia, dovrà immaginare che il giocatore dell'estrema destra si trovi alla sua sinistra, e viceversa.

Se il gioco viene orchestrato con un buon sincronismo, immagino possa essere divertente: confesso di non averlo mai sperimentato, quindi non prendetevela con me se provandolo lo troverete una cretinata assoluta.
In ogni caso, cretinata o no, lo definirei di una versione "ludico-sociale" di un sistema dinamico discreto noto in matematica e informatica come automa cellulare. L'aggettivo "cellulare" si riferisce al fatto che la griglia regolare sulla quale viene raffigurato il sistema è costituita da celle (che possiamo immaginare quadrate), ciascuna delle quali può assumere un insieme finito di stati. Gli stati di tutte le celle vengono aggiornati contemporaneamente, in passi discreti, cioè generazione dopo generazione.

Nella nostra esemplificazione ludica, le persone recitano il ruolo delle celle, e gli stati possibili sono soltanto due, rappresentati rispettivamente dallo stare in piedi e accovacciati.
In molte implementazioni software, i diversi stati possibili vengono raffigurati tramite colori, cosa che attribuisce a questi automi un particolare fascino scenografico.
Il nostro esempio, che si svolge su una semplice fila di celle-persone, è evidentemente unidimensionale, ma nulla vieta che l’automa possa essere bidimensionale: in questo caso la fila diventa una scacchiera, o se preferite un foglio a quadretti.

Negli automi ad una sola dimensione ogni cella ha, di solito, due celle vicine, ma in alcuni casi si considera un “vicinato” più esteso: è come se, tornando al nostro esempio iniziale, ogni giocatore dovesse tenere conto non soltanto della posizione dei giocatori immediatamente adiacenti, ma anche dei loro vicini, un po’ più a destra e un po’ più a sinistra. Negli automi su scacchiera, per ogni cella si considerano solitamente le otto celle adiacenti che condividono almeno un punto con la cella stessa; ma non sono rari automi in cui ciascuna il vicinato è formato soltanto dalle quattro celle che hanno in comune almeno un lato con la cella in questione.
Come avrete capito, la scelta del vicinato è fondamentale nella progettazione di un automa cellulare, perché essa determina le variabili che ogni cella deve tenere in considerazione per decidere come evolvere ad ogni passo.
Una volta definito il vicinato di ogni cella, occorre stabilire le regole di evoluzione. Nell’esempio iniziale, dato che ogni cella ha due vicini, si tratta di considerare le otto possibili combinazioni di stati per tre celle, e associare a ciascuna uno stato futuro per la cella centrale. La figura a fianco sintetizza la regola scelta (0 e 1 indicano rispettivamente le due possibili posizioni dei giocatori, in piedi o accovacciati).

È evidente che questa non è l’unica regola possibile. Quante diverse regole esistono, considerando vicinati di tre celle? Le possibili configurazioni di stati di tre celle sono 23 = 8, e i modi in cui a queste otto configurazioni possono corrispondere stati futuri sono 28 = 256.

Quindi esistono in tutto 256 automi cellulari unidimensionali: essendo tutto sommato pochi, gli studiosi li trattano quasi come dei figli (per dirla alla partenopea, piezz’ e core), al punto che hanno dato un nome a ciascuno di loro.
Un po’ come un appassionato biologo marino che abbia catalogato tutte le specie di cetacei che vivono in un certo arcipelago. Bè, adesso non immaginatevi nomi molto fantasiosi: sono semplicemente i numeri da 1 a 256. Per la cronaca, il divertentissimo gioco che vi ho proposto all’inizio del post utilizza la regola n. 232.

E a due dimensioni? Bè, se consideriamo vicinati “classici” da 8 celle, si ottengono in tutto 29 = 512 combinazioni di stati per vicinato, e quindi 2512 regole: se lo scrivessimo per esteso sarebbe un numero enorme, di 154 cifre. Un po’ troppe per i miei gusti.

I pionieri degli automi cellulari furono il matematico polacco Stanislaw Ulam e il matematico ungherese naturalizzato statunitense John von Neumann, che vediamo nella foto a lato in compagnia del grande fisico americano Richard Feynman (Ulam è a sinistra, von Neumann a destra).
Subito dopo la fine della seconda guerra mondiale, Ulam e von Neumann (che avevano entrambi avuto un ruolo determinante nel famigerato progetto Manhattan, che portò alla realizzazione delle prime bombe atomiche) si proposero di definire modelli matematici in grado di rappresentare la complessità dei fenomeni biologici, con particolare interesse per i meccanismi di crescita e riproduzione degli esseri viventi.
Con l'avanzare dell'informatica teorica e delle tecnologie di computazione, la teoria degli automi cellulari fiorì e attirò l'attenzione di molti studiosi di primo livello.

Nel 1970 un particolare automa cellulare apparve sulla rivista "Scientific American", nella famosa rubrica "Mathematical Games" di Martin Gardner: era il famoso "Gioco della Vita" ("Game of Life"), ideato dal matematico e grande divulgatore inglese John Conway per rappresentare i meccanismi di sviluppo e auto-organizzazione tipici degli organismi viventi. Ben presto la creazione di Conway divenne l'esempio più celebre di automa cellulare, nonché il capostipite di molti altri automi più o meno complessi e fantasiosi.
Nella sua versione classica, il Gioco della Vita si compone di una scacchiera di celle in cui ogni cella ha 8 vicini e può assumere 2 stati (viva o morta). Le regole sono due: una cella morta con 3 vicini vivi diventa viva, mentre una cella viva con meno di 2 o più di 3 vicini vivi muore (rispettivamente per isolamento o per soffocamento).

Fiumi di inchiostro (e di bit) sono stati versati sul Gioco della Vita: una ricerca sul web vi permetterà di scoprire sorprendenti meraviglie su questo automa.
Chi comincia a trastullarsi con il sistema di Conway scopre ben presto che esistono particolari configurazioni che, in base alle semplici regole del gioco, si comportano in modo speciale: alcune oscillano indefinitamente tra due stati estremi, altre si spostano attraverso la scacchiera, altre ancora sono stabili e immutabili, altre ancora si evolvono per molte generazioni e poi ripetono lo stesso ciclo di trasformazioni. Esistono perfino gruppi di celle stabili che sparano proiettili. E così via, in un fantastico bestiario di strane creature matematiche.

Uno degli aspetti più importanti a livello teorico è il fatto che il Gioco della Vita, dotata delle regole sopra esposte, ha la stessa potenza di calcolo di un qualsiasi computer: detto in altro modo, è Turing-completa, o equivalente ad una macchina di Turing universale.  Qualsiasi calcolo che possa essere eseguito da un algoritmo, insomma, può essere eseguito in qualche modo sulla scacchiera di Conway.

La rivista "Scientific American" è sempre stata particolarmente attenta agli automi cellulari. Conservo ancora un numero del 1989 nel quale un articolo di Alexander Dewdney (nella indimenticata rubrica “(Ri)creazioni al calcolatore”) descriveva un altro bellissimo automa cellulare, ideato da David Griffeath e denominato "spazio ciclico".
L'automa è composto da una griglia di celle che possono assumere un certo numero di stati, rappresentati tipicamente da colori diversi e disposti in una successione ordinata. Gli stati iniziali sono del tutto casuali; successivamente, se una cella ha un vicino il cui stato è il successivo del proprio, allora la cella viene "mangiata" e assume lo stato del vicino. (Si tenga presente che l'aritmetica utilizzata, sia per gli stati che per la geometria delle celle è modulare, cioè è la cosiddetta "aritmetica dell'orologio", in cui il successore dell'ultimo numero disponibile è lo zero).

Ricordo, come fosse ieri, che appena lessi quell'articolo provai subito a implementare l'algoritmo sul mio personal computer (credo in Pascal), e rimasi affascinato (ma dovrei dire forse stregato, o incantato) dal constatare come una regola apparentemente così semplice e banale potesse generare, con il trascorrere delle generazioni, configurazioni di grande bellezza e ordine, come potete vedere nella figura sopra.
Emozioni come quelle segnano irrimediabilmente chi le ha provate (non so se nel bene o nel male). Anzi, adesso che ci penso, devo andare a cercare quel programmino scritto tanti anni fa: chissà che non funzioni ancora dopo tanti anni...

L'ultimo post di Mr. Palomar, anzi no

Sono trascorsi quasi 14 anni da quel Capodanno del 2011, quando Mr. Palomar  vide la luce. Da allora, molta acqua è passata sotto i ponti, c...