

A Turing Machine built using LEGO - itamarb
http://www.legoturingmachine.org/

======
ColinWright
<http://news.ycombinator.com/item?id=4126210>

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?

~~~
arethuza
Here's one that uses an electric motor to power it - but no electronics:

[http://hackaday.com/2011/03/25/mechanical-turing-machine-
can...](http://hackaday.com/2011/03/25/mechanical-turing-machine-can-compute-
anything-slowly/)

~~~
Tichy
It looks quite small? Given that it is an universal computer, I guess that is
quite a feat.

~~~
srimech
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.

~~~
Tichy
Still, I am not sure how big other physical computers are (do any even exist)?
I think it's cool :-)

Is there a compiler for it? :-)

~~~
srimech
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.

------
mibbitier
Inaccurate. This isn't a Turing machine built using Lego. It's some simple
memory which is then used by the Lego mindstorms CPU.

~~~
snti
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.

------
jgrahamc
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.

~~~
jps359
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].

~~~
camtarn
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?"

------
pertinhower
Instructions for how to build it would be nice. I see source code for the NXT
brick, but no diagrams.

