As I said there, I'm always deeply disappointed (less deeply as time goes by, I'm coming to expect it) when something like this in Lego is actually just a peripheral for a program running in silicon somewhere.
I no longer have any of my Lego, but I remember building most of a completely mechanical Turing Machine way back in the early 1970s. So satisfying seeing it work purely mechanically, and I'm sure someone with more creativity and skill than I had, or indeed have, could do it.
Comments on Reddit suggest this is also a fully-mechanical Lego Turing Machine (including electric motor), but I haven't watched the full video to make sure there's no Mindstorms CPU kit:
That's mine. It's a physical implementation of a 5-symbol, 2-state Turing machine which was shown to be universal by Wolfram. If it were perfectly reliable (it isn't) and had an infinite tape (it doesn't) then it would be universal. Going to the extremes of low symbols and states makes it extremely inefficient in terms of code density, if you can apply that term to a Turing machine. The shortest program I've been able to write for it, doing unary subtraction of 3 and 2 would take about 60 hours and need a tape three times longer than I have.
Thanks for the correction - I doubted if such a relatively simple device could be universal (see comment below), but it's fascinating to learn that it is! :-)
It calculates a cellular automata called Rule 110 (http://en.wikipedia.org/wiki/Rule_110) which is very difficult to code for. I've seen a paper which shows a method for coding any Turing machine into rule 110, but most of it is beyond my mathematical ability at the moment. So far as I know nothing resembling a normal compiler exists for it.
It's actually much simpler to make a mechanical implementation of rule 110 directly, but Turing machines are more widely recognised.
Actually, it is a Turing machine built using Lego. The part built using just Lego bricks however isn't a universal Turing machine. I don't see a claim anywhere that it's a UTM, just that it's a TM, which it clearly is.
BTW: The site links to the code running on the brick, which is a very simple parser for a basic TM language which interprets programs written in that language. So even though the "universal" part isn't done using basic bricks, it actually is a UTM.
I always find these physical Turing machines kind of silly. The Turing machines and UTM are theoretical devices used to solve a problem in mathematical logic.
Also, this particular machine isn't a UTM. It doesn't read its program from the tape, and therefore it's useless IMHO.
Now, if someone wants to build a UTM using the symbols and state transitions described in Turing's original paper then that would be worth looking at.
It's sole purpose is to demonstrate to people in an accessable fashion what a turing machine is.. and I'd say that this does a swell job of that [at least, their video on vimeo does].
The actual demonstration is kinda lacking - if you're observing the machine, you can't see what's going on in software, so there's still a layer of 'magic'. This isn't really much better than building a simple electronic computer with LEDs on each of its 32 bits of memory.
In some ways it's actually worse: for the electronic computer there are less layers of abstraction (digital logic [adders, flipflops etc] > logic gates > transistors > semiconductor physics) than for NXT (scripting language > interpreter > real language > compiler > digital logic > ...). Even though the NXT language is probably easier to understand, it takes longer to explain if someone keeps asking "but how does that work underneath?"
As I said there, I'm always deeply disappointed (less deeply as time goes by, I'm coming to expect it) when something like this in Lego is actually just a peripheral for a program running in silicon somewhere.
I no longer have any of my Lego, but I remember building most of a completely mechanical Turing Machine way back in the early 1970s. So satisfying seeing it work purely mechanically, and I'm sure someone with more creativity and skill than I had, or indeed have, could do it.
Please?