Search This Blog

Friday, September 14, 2012

Magic: The Gathering is Turing complete

Magic: The Gathering is Turing complete:



Alex Churchill has posted a way to implement a Turing complete computer within a game of Magic: The Gathering ("Turing complete" is a way of classifying a calculating engine that is capable of general-purpose computation). The profound and interesting thing about the recurrence of Turing completeness in many unexpected places -- such as page-layout descriptive engines -- is that it suggests that there's something foundational about the ability to do general computation. It also suggests that attempts to limit general computation will be complicated by the continued discovery of new potential computing engines. That is, even if you lock down all the PCs so that they only play restricted music formats and not Ogg, if you allow a sufficiently speedy and scriptable Magic: The Gathering program to exist, someone may implement the Ogg player using collectible card games.



A series of Ally tokens controlled by Alex represent the tape to the right of the current head: the creature one step to the right of the head is 1 toughness away from dying, the next one over is 2 toughness from dying, etc. A similar chain of Zombie tokens, also controlled by Alex, represent the tape to the left. The colour of each token represents the contents of that space on the tape.

The operation "move one step to the left" is represented in this machine by creating a new Ally token, growing all Allies by 1, and shrinking all Zombies by one. The details are as follows:

When the machine creates a new 2/2 Ally token under Alex's control, four things trigger: Bob's Noxious Ghoul, Cathy's Aether Flash, Denzil's Carnival of Souls, and Alex's Kazuul Warlord. They go on the stack in that order, because it's Bob's turn; so they resolve in reverse order. The Kazuul Warlord adds +1/+1 counters to all Alex's Allies, leaving them one step further away from dying, including making the new one 3/3. Then Carnival of Souls gives Denzil a white mana thanks to False Dawn (he doesn't lose life because of his Platinum Emperion). Then Aether Flash deals 2 damage to the new token, leaving it 1 toughness from dying as desired. And then the Noxious Ghoul, which has been hacked with Artificial Evolution, gives all non-Allies -1/-1, which kills the smallest Zombie. Depending on whether the smallest Zombie was red, green or blue, a different event will trigger. The machine has moved one step to the left.

If the new token had been a Zombie rather than an Ally, a different Kazuul Warlord and a different Noxious Ghoul would have triggered, as well as the same Aether Flash. So the same would have happened except it would be all the Zombies that got +1/+1 and all the Allies that got -1/-1. This would effectively take us one step to the right.





Magic Turing Machine v4: Teysa / Chancellor of the Spires

(via /.)

(Image: Magic the Gathering, a Creative Commons Attribution Share-Alike (2.0) image from 23601773@N02's photostream)







No comments:

Post a Comment