Magic... Turing!

On April 21, 2013

Alan Turing giocava a Magic? Forse. E' possibile creare una macchina di Turing all'interno del gioco Magic: the Gathering...

 

Immaginiamo di voler spiegare le regole del ‘Risiko!’ a un giocatore che non vede l’ora di cominciare. È lì, in attesa delle vostre parole, freme. Di sicuro, per non annoiarlo, non cominceremo parlando dell’importanza della guerra nella società moderna per dare idea dello scopo del gioco, né della deriva dei continenti per spiegare il disegno del tabellone. Cominciamo infatti col dare le linee generali dell’ambientazione: tu, capo militare di un esercito di carri armati, utilizzi le tue capacità strategiche, sfidi la sorte, ricevi rinforzi e bonus per imporre il tuo dominio sul Mondo. L’amico però comincia a sbuffare: non ha il minimo interesse verso la Guerra, lui vuole solo imparare a giocare, vuole solo l’essenziale, solo le regole, senza fronzoli o accessori contingenti.

Allora noi, un po’ risentiti, ripartiremmo in tutt’altro modo: tu, giocatore con delle pedine, interagisci lanciando dadi e ottenendo particolari combinazioni di carte per ottenere altre pedine, conseguendo obiettivi prefissati. Molto meno poetico, senza dubbio, ma almeno il nostro amico è contento (anche un po’ noi, che siamo riusciti ad estrarre l’essenza del gioco, e magari ci è pure più chiaro).

Ecco, immaginiamo ora che l’amico-poco-poetico abbia fatto un’altra domanda: che cos’è un computer?

Immaginiamo pure che, come prima, non gli interessi né ritenga importante sapere il funzionamento di tutti i componenti, il meccanismo che li unisce insieme. Anche qui, lui cerca l’essenziale.

Saremmo costretti a ragionarci un bel po’. Qual è l’Essenza del computer? Dove si cela? Non nel mouse, non nella tastiera. Cosa rimane, astraendo? Una macchina che sa svolgere algoritmi, ossia ricevere in pasto dei dati, comportarsi in maniera prevedibile e, con un repertorio il più possibile limitato di istruzioni, restituire altri dati.

Con uno sforzo non indifferente, possiamo pensare a un computer come a un nastro diviso in caselle con dei simboli stampati sopra. Il nastro può scorrere, passo dopo passo, alla sinistra e alla destra di una testina che legge i simboli.

Disponendo di un suo repertorio di regole, la testina interpreta i simboli come istruzioni e si comporta di conseguenza. Il simbolo letto determina l’eventuale modifica del contenuto della casella su cui la testina è posizionata e lo spostamento verso destra o sinistra della testina stessa. La macchina cambierà il suo stato, in maniera del tutto automatica, a partire dai dati iniziali scritti da noi sul nastro.

In alcuni casi il processo terminerà lasciando registrata sul nastro una stringa che rappresenta il risultato finale dell’elaborazione, in altri potrebbe invece non arrestarsi affatto.

Chiaro amico-poco-poetico? Abbiamo trasformato il nostro pc in quello che si chiama una macchina di Turing, un modello dalla portata intellettuale immensa: ideale, semplice, ma in grado di poter effettuare tutte le elaborazioni di calcolo che vogliamo, rendendolo di fatto equivalente ad un computer.

Alcuni modelli di calcolo che sanno manipolare dati tramite regole sono in grado di creare una macchina di Turing al loro interno e possono quindi essere considerati computer a tutti gli effetti, con tutti gli ingredienti necessari ad assemblare una macchina algoritmica. Alcuni esempi di modelli Turing equivalenti?

Linguaggi di programmazione, automi cellulari, Magic: the Gathering, lambda calcolo,…

-Aspetta, aspetta, cosa hai detto?

- Lambda calcolo, un sistema formale sviluppato per analizzare la definizione di…

- No, prima! Magic: the Gathering? Il gioco di carte?

-Sì amico, proprio lui.

Per chi non lo conoscesse, Magic è uno dei più famosi giochi di carte collezionabili: creato nel ’93, da allora raffina costantemente le sue regole, sconfinando a volte nel campo della più efferata burocrazia. Due o più maghi si sfidano a colpi di magie (le carte) estratte dal loro grimorio (il mazzo) lanciando anatemi, evocando creature.

Ogni turno utilizzi il mana, l’energia magica proveniente dalle terre, per impostare il tuo gioco, basato su stregonerie, istantanei, creature, incantesimi e planeswalkers.

Le stregonerie e gli istantanei sono magie dall’utilizzo singolo, gli incantesimi invece permangono in campo influenzando le sorti della partita, le creature attaccano l’avversario per strappare via i suoi venti punti vita, principale scopo del gioco, mentre i planeswalkers sono carte cherappresentano altri maghi, come te, pronti ad aiutarti.

Al di là dell’ambientazione fantasy, esiste un regolamento complesso che ha bisogno di molto tempo per venir padroneggiato.

Così complesso che Alex Churchill è riuscito a comporci una macchina di Turing.

Che Magic e l’informatica siano collegati è chiaro a chiunque abbia passato un po’ di tempo a giocarci (la Pila, il meccanismo de ‘l’ultimo ad entrare è il primo ad uscire’ , è un concetto di base sia per uno che per l’altro) ma addirittura assemblare un computer… a base di carte? In che modo?

Costruendo fisicamente, con le carte giuste, i componenti della macchina di Turing di cui abbiamo parlato prima: il nastro, i simboli e la testina.

Per i più curiosi qui darò un’idea generale del meccanismo, per i dettagli c’è sempre il sito di Alex Churchill (www.toothycat.net/~hologram/Turing/). Per gli altri, un salto di qualche riga e dritto alla conclusione.

Il modello del nastro è basato su una serie di pedine creatura, Zombie o Yeti a seconda della loro posizione rispetto alla testina. I simboli scritti sul nastro sono espressi come altri due tipi di creatura sulle pedine Zombie e Yeti, abbiamo ad esempio Zombie Arcieri Scimmie o Scimmie Yeti Alleati. Una combinazione di tre carte (‘Signore della Guerra di Kazuul’, ‘Ghoul Velenoso’, ‘Fiammata Eterea’) permette al nastro di scorrere a destra o a sinistra.

La testina della macchina è basata su un complicato meccanismo che coinvolge molte copie di ‘Rianimatore Pneumoputrido’, con il testo cambiato da carte come ‘Evoluzione Artificiale’.

La macchina ha anche la capacità di fermare l’esecuzione dell’algoritmo attivando un meccanismo che coinvolge ‘Morto Vendicativo’ e che fa terminare la partita restituendo un risultato.

Conclusione. Il sito non dà tutti i dettagli, ma è divertente ricostruirli, di come questa macchina sia in linea di principio realizzabile durante una vera partita a quattro giocatori; anzi, aggiungo io, se tutti e quattro i giocatori fossero d’accordo e i loro mazzi costruiti ad hoc (per i pignoli, intendo anche legali in formato Legacy), sarebbe possibile ottenere la macchina in ogni partita giocata.

Quindi, la prossima volta che, amico-poco-poetico, ti venisse in mente di risolvere la Congettura di Golbach, ma non ti andasse di accendere il computer, potresti chiamare altre tre persone e impostare un algoritmo più ‘magico’.

Chissà, magari sarebbe la volta buona di dimostrarla.

 

Davide Palmigiani

Leave a Reply

Your email address will not be published. Required fields are marked *

this site uses the awesome footnotes Plugin