Formica
ovvero una macchina di Turing bidimensionale
Questo gioco deriva dall'articolo apparso sul numero 254 de Le Scienze, dell'ottobre 1989, scritto da A.K. Dewdney.
In realtà, l'argomento era stato già affrontato in precedenza su Le Scienze, e la bestiolina protagonista del gioco era appunto una formica; Dewdney invece ridefinisce Tur-mite l'animaletto (da Turing e termite). Ho mantenuto la definizione originale.
La formica o tur-mite che sia è una creatura cibernetica a forma di quadrato dotata del più rudimentale dei cervelli; eppure, muovendosi sul piano infinito in cui vive, traccia strane figure che sembrano riflettere un progetto di base intelligente (dal testo di Dewdney).
Il nostro animaletto inizia la sua esistenza in una delle cellette di un piano infinito suddiviso a scacchiera; ogni celletta può assumere un certo numero predefinito di stati, identificati visivamente da colori. Inizialmente le cellette sono tutte nere, ma la formica, spostandosi nel suo universo piatto, può farne evolvere lo stato secondo certe semplici regole, generando bizzarre e complicate immagini.
La formica si muove sul piano ubbidendo a regole ferree, da essa rigidamente rispettate. Ad esempio, un possibile insieme di regole è il seguente (descritto dal punto di vista della formica):
Qual'è il colore della cella in cui mi trovo? | Allora... | ...e poi... |
Nero | Coloro la cella di Azzurro | Mi volto a destra |
Azzurro | Coloro la cella di Giallo | Mi volto a sinistra |
Giallo | Coloro la cella di Rosso | Mi volto all'indietro |
Rosso | Coloro la cella di Nero | Resto voltata come sono |
La formica esegue ripetitivamente ed instancabilmente il programma, spostandosi senza fine sul piano. Dopo ogni azione, compie un passo avanti.
Il programma allegato consente di variare il numero di colori (o stati) possibili per le celle (quindi il numero di righe della tabella) da 2 ad 8; è inoltre possibile variare la direzione che la nostra formica assume in dipendenza del valore dello stato (terza colonna della tabella). Non è invece possibile cambiare il comportamento relativo alla seconda colonna (in fondo è inutile...), in quanto qualsiasi colore viene automaticamente trasformato nel colore successivo (cioè dallo stato K, ogni cella transige necessariamente allo stato K+1 modulo N, dove N è il numero di stati).
Per predisporre le regole occorre, utilizzando il programma, definire il numero di stati (colori), da 2 ad 8; premendo OK si abilitano i riquadri dove stabilire la direzione assunta per ciascun colore: il pallino in alto di ogni riquadro corrisponde al "Resto voltata come sono", per le altre direzioni mi pare sia ovvio... Premere poi ancora OK per confermare le scelte fatte...
Il tasto Refresh serve se, durante una elaborazione, viene aperta un'altra finestra Windows che si sovrappone al grafico, il che cancella del tutto o in parte la figura fino ad allora realizzata. La pressione ripristina la figura, e poi si procede come se nulla fosse accaduto...
Molti degli insiemi di regole portano a figure confuse e caotiche; altre a geometrie regolari, seppure molto complesse. Provare ad esempio il seguente insieme di regole (predisporre 2 soli colori):
Qual'è il colore della cella in cui mi trovo? | Allora... | ... e poi... |
Nero | Coloro la cella di Azzurro | Mi volto a destra |
Azzurro | Coloro la cella di Nero | Mi volto a sinistra |
In questo caso, dando lo Start, la formica percorre un certo numero di passi in modo caotico e disordinato, apparentemente privo di schemi; poi, di colpo, cambia atteggiamento ed entra in una sequenza regolare immutabile che la porta fuori dallo schermo, verso l'infinito ed oltre...
Altro esempio, notevolmente più complesso (predisporre 8 colori);
Qual'è il colore della cella in cui mi trovo? | Allora... | ... e poi... |
Nero | Coloro la cella di Azzurro | Mi volto a sinistra |
Azzurro | Coloro la cella di Giallo | Mi volto a destra |
Giallo | Coloro la cella di Rosso | Mi volto a destra |
Rosso | Coloro la cella di Blu | Mi volto a sinistra |
Blu | Coloro la cella di Fucsia | Mi volto a sinistra |
Fucsia | Coloro la cella di Verde | Mi volto a destra |
Verde | Coloro la cella di Bianco | Mi volto a destra |
Bianco | Coloro la cella di Nero | Mi volto a sinistra |
In questo caso, dando lo Start, la formica costruisce poco a poco un'area chiusa simmetrica; che si estende man mano...
E ora... riuscite a scoprire la combinazione di predisposizioni necessaria per generare la seguente immagine? Beh, se ci riuscite, fatemelo sapere; io l'ho dimenticata e non riesco più a ricostruirla... Comunque, qualcosa di simile appare se, con 8 colori, si seleziona Destra-Destra-Sinistra-Sinistra-Destra-Destra-Sinistra-Sinistra (DDSSDDSS); è in qualche modo sorprendente osservare la formica vagare a lungo caoticamente nel centro e poi a tratti schizzar via sui bordi a costruire strutture simmetriche...
Diavolo! Non è affascinante la commistione di caos della parte centrale con la regolarità inequivocabile della parte periferica? PERCHE' accade ciò?
Comunque... a salvare la casualità della vita quotidiana, il programma allegato consente di definire un'area circostante la cella iniziale da cui la formica parte, per la quale lo stato iniziale non è il NERO assoluto, ma i colori di partenza sono scelti invece a caso. Operando opportunamente, si possono scoprire nuove configurazioni.
Di notevole, se si sceglie di nuovo la configurazione DDSSDDSS, ancora la colorazione del bordo dell'area percorsa dalla formica tende a rimanere regolare, in contrasto con il centro sempre caotico, qualunque sia l'area iniziale casuale prescelta... Le regole DDSSDDSS impongono in qualche modo la simmetria e l'ordinamento, più o meno parziale, del perimetro... Chissà come... (E poi provate DDSSSSDS...).
Buon divertimento!
Scarica qui il programma Formica!
10 novembre 2002, Bruno Davide
Vai alla genealogia Torna a home page Invia informazioni Legge sulla privacy Copyrights ©