Oggi è il 7 settembre 2018. Esattamente 25 anni fa ho fatto una sorprendente (e inaspettata) incursione nella zona del Crepuscolo; a un quarto di secolo, quella visione alimenta ancora la mia scrittura. Pur toccando corde matematiche, solleva interrogativi che coinvolgono direttamente la coscienza, la creatività, la regione sfumata tra sonno e veglia e l’accesso a dimensioni “altre”. Poiché sullo stesso confine si giocò la storia del mentalismo dal 1784 ai primi decenni dell’Ottocento, quello che mi accadde la mattina del 7 settembre 1993 è lo stimolo autobiografico su cui si apre La zona del Crepuscolo, il secondo volume della mia serie Mesmer (leggi la presentazione). In questo post rivelo per la prima volta il contenuto di quella visione, descrivendone nei dettagli il contenuto matematico.


Nei primi anni Novanta mio padre mi insegnò un passatempo che risaliva agli anni della sua infanzia. Il gioco consiste nel riempire le cento caselle di un quadrato rispettando due semplici regole.

Inserito il numero 1 nella prima casella in alto a sinistra, ogni numero successivo può essere scritto:

- facendo 3 passi in orizzontale o in verticale (saltando due caselle)
- facendo 2 passi in diagonale (saltando una casella)

Non è necessario che le caselle intermedie siano vuote: l’importante è che lo sia la casella di arrivo.

Ecco una partenza possibile.

Dall’1 faccio tre passi a destra e scrivo 2. Da qui faccio due passi in diagonale (in basso a sinistra) e scrivo 3. Poi faccio altri tre passi a destra e scrivo 4. Da qui posso raggiungere una qualsiasi delle sei caselle a sfondo giallo.

Arrivare fino a 100 è molto difficile: la griglia si ingolfa in fretta e, dopo aver riempito un po’ di caselle, ci si ritrova in una posizione senza sbocchi.

Ecco un esempio di schema ingolfato dopo 80 passi:

Arrivato a 80, non posso andare avanti perché tutte le quattro caselle raggiungibili (a sfondo giallo) sono occupate.

Come racconto qui, dopo svariati mesi di tentativi a vuoto, l’impresa pareva fuori dalla mia portata: per quanto mi fossi spinto avanti, non ero mai riuscito a superare quota 97.

Mio padre aveva completato la griglia una sola volta, molti anni prima: custodivo come una reliquia il foglio su cui aveva trascritto la sequenza completa fino a 100.

La soluzione mi era apparsa all’improvviso nelle prime ore del 7 settembre 1993: né addormentato né completamente sveglio, avevo “visto” – con gli occhi della mente – il sotterfugio con cui avrei potuto risolvere l’enigma. Al risveglio, avevo trasformato quella confusa intuizione in una procedura rigorosa, scoprendo di avere intuito giusto: con quella tecnica avrei ottenuto non solo una ma – con l’ausilio di un calcolatore – addirittura miliardi di soluzioni. Eccone una delle tante:

A 25 anni esatti da quella visione, rendo disponibile l’algoritmo (in linguaggio R) in grado di risolvere il gioco:

Scarica cento.r

L’algoritmo crea una matrice solution di dimensioni 10×10 che presenta i numeri da 1 a 100 nella sequenza corretta:

Nelle ultime righe, formatta la stessa matrice creando il file cento.htm. Basandosi su numerose scelte casuali, ogni volta che viene lanciato, il software produce una soluzione diversa.

Alcune soluzioni prodotte dal mio algoritmo.

La visione del 7 settembre 1993

Dal punto di vista tecnico, quello che “vidi” in stato di dormiveglia quella mattina di fine estate 1993 fu la possibilità di dividere il quadrato in quattro parti, risolverne una a partire da due caselle specifiche e sfruttare la simmetria per “ribaltare” tre volte la soluzione trovata.

Per mettere alla prova la bontà dell’intuizione, con un po’ di tentativi risolsi l’angolo in alto a sinistra, collocando l’1 e il 25 in quelle esatte posizioni:

Poi isolai il percorso seguito (figura A) e lo ribaltai a destra (figura B), lo stesso in basso (figura C) e infine a sinistra (figura D):

Le tre figure B, C e D indicano la sequenza di tre ribaltamenti lungo l’asse verticale, orizzontale e ancora verticale.

Riempito di numeri, il quadrato aveva questo aspetto:

C’erano da eseguire alcune semplici trasformazioni aritmetiche:

- ogni numero N del quadrato in alto a destra doveva diventare 51 – N
- ogni numero N del quadrato in basso a destra doveva diventare N + 50
- ogni numero N del quadrato in basso a sinistra doveva diventare 101 – N

Il risultato era un quadrato completo, con i numeri da 1 a 100:

Per rispettare il vincolo del numero 1 in alto a sinistra, visto che attualmente c’era il numero 8 e il percorso era completamente ciclico, spostai tutti i numeri indietro di 7 unità, ottenendo un quadrato perfettamente risolto:

Aggiornamento

Il 9 settembre 2018 Roberto Revello mi segnala che una semplice rotazione in senso orario della prima soluzione è sufficiente per sfruttare lo stesso meccanismo.

Questo è l’algoritmo R che ho implementato per sfruttare il suo suggerimento:

Scarica centoRevello.r

Ecco lo schema proposto da Roberto:

L’11 settembre 2018 mi suggerisce di partire da caselle diverse e ribaltare le matrici in modo differente. Ecco l’algoritmo R che ho implementato per sfruttare il suo suggerimento:

Scarica centoRevello2.r

Questo è lo schema proposto da Roberto:

Proposte

• Sei in grado di risolvere il gioco a mano, senza utilizzare la tecnica qui suggerita?

• Sei in grado di elaborare una tecnica risolutiva diversa, scrivendone l’algoritmo?

Per approfondire

Leggi la presentazione di La zona del Crepuscolo, secondo volume della serie Mesmer.

Tutti i post sono distribuiti con Licenza Creative Commons BY-NC-SA 4.0