Slashdot Mirror


Home-Built Turing Machine

stronghawk writes "The creator of the Nickel-O-Matic is back at it and has now built a Turing Machine from a Parallax Propeller chip-based controller, motors, a dry-erase marker and a non-infinite supply of shiny 35mm leader film. From his FAQ: 'While thinking about Turing machines I found that no one had ever actually built one, at least not one that looked like Turing's original concept (if someone does know of one, please let me know). There have been a few other physical Turing machines like the Logo of Doom, but none were immediately recognizable as Turing machines. As I am always looking for a new challenge, I set out to build what you see here.'"

32 of 123 comments (clear)

  1. Cool...I think. by Anonymous Coward · · Score: 2, Insightful

    I admire people who build things like this, but at the same time I also wonder just why the heck they do it.

    I guess that's the difference between people, I'd rather build something new than re-create something that's been done before. (Honestly not trying to sound like an ass, just find it interesting.)

    1. Re:Cool...I think. by 91degrees · · Score: 4, Insightful

      I don't think it has been done before though. At least not as a hardware implementation. The reason being that while it's an interesting hypohetical machine, it's extremely inefficient means of computing anything. But it is very nice to actually see a visualisation of such a machine

    2. Re:Cool...I think. by thrawn_aj · · Score: 2, Interesting

      Who modded this 'troll'? Are people not allowed to muse wonderingly anymore? Sheesh, some people need to unclench.

      Personally, having been entirely fascinated with Turing and his work during my college years (from a mathematical point of view - the Entscheidungsproblem rather than CS), seeing an actual Turing machine sends shivers up my spine. Kudos!

      For anyone interested in knowing more about this fascinating scientist, I recommend the book by Andrew Hodges.

    3. Re:Cool...I think. by epee1221 · · Score: 2, Informative

      Well, infinite tape is the optimal design.

      Strictly speaking, limiting a Turing machine to a finite tape makes it something other than a Turing machine (e.g. a linear bounded automaton).

      --
      "The use-mention distinction" is not "enforced here."
  2. hmmm by Denihil · · Score: 3, Insightful

    maybe i'm missing something but i'm used to people talking about "turing machines" as a machine that is "turing-complete", not looking like a hypothetical turing machine he described in his paper. Is this aesthetics over the principle he meant it to be taken by? Cool hardhack though btw, love to have one of those on my coffee table.

    --
    WÌÌfÍ--ÍSÌÒÍ...Í...ÌHÌÍfÍÍÍ--ÍÍÍ
    1. Re:hmmm by fuzzyfuzzyfungus · · Score: 4, Funny

      For the ultimate in coffee table extravagance, you need this turing machine running an implementation of Conway's game of life, ideally using a chessboard as the display device for that: full cells would rise slightly above the board, moving back down when declared empty.

      To provide randomized starting positions for your game of life simulations, without sinning against Von Neumann, a vintage mahogany-clad Geiger-Müller counter would of course be included...

    2. Re:hmmm by FooAtWFU · · Score: 5, Interesting

      Well, if you're going to make a Turing machine run something equivalent to Conway's Game of Life, forget the random: have the simulation be A Turing Machine in Conway's Game of Life.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
  3. Know what I'm thinking? by snarfies · · Score: 4, Funny

    Hot Tub Turing Machine!

  4. This made me have a major geek moment. by BlueKitties · · Score: 4, Funny

    For social reasons I will refrain from mentioning this to my friends (which I have) later tonight. Baaaah, I want one! This is so pointless but nifty, my inner collector is crying out. Damn fiscal responsibilities in life tell me it's a waste of money, but oh, the geeky child inside cries out!

    --
    "Sorrow is better than laughter, for by sadness of face the heart is made glad." [Ecclesiastes 7:3]
  5. "Parallax Propeller chip-based controller" by John+Hasler · · Score: 3, Funny

    No relays. How sad.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  6. Technically... by Corporate+Troll · · Score: 5, Insightful

    Purely technically, a Turing Machine that hasn't infinite tapes is simply a Finite State Machine. You cannot build a "real" Turing Machine. Doesn't make his creation less interesting though :-)

    1. Re:Technically... by risk+one · · Score: 4, Interesting

      Actually, in a sense, you can. The Turing machine doesn't require an infinite tape, just a tape of arbitrary length. Basically, you need to be able to always add more tape. Eventually, of course, the universe will run out of mass for you to make tape out of, but the machine is still a proper Turing machine. The distinction may seem meaningless, but consider the set of all finite bitstrings. This set will not contain any infinitely long strings, but it will contain arbitrarily long string. However long you want your string, there's one in the set, and a longer one, but no infinitely long ones. There's a definite difference between arbitrary finite length and infinite length. I've always found that this realization makes the Turing Machine just a little bit more real.

    2. Re:Technically... by FrangoAssado · · Score: 2, Interesting

      Well, if you want to split hairs, at least split them to the end...

      Eventually, of course, the universe will run out of mass for you to make tape out of, but the machine is still a proper Turing machine.

      How is this "still a proper Turing machine"? There are programs that would work on a theoretical Turing machine (with arbitrary amount of tape), but would run out of memory in your scheme.

      The OP point stands: we will never actually be able to build a real Turing machine[1]. Still, computers are very good approximations (for programs that require up to a certain amount of memory).

      [1] Assuming the universe is actually expanding and that the theory of relativity is right (a good discussion can be found here: http://www.scottaaronson.com/democritus/lec20.html)

  7. Re: I found that no one had ever actually built on by Corporate+Troll · · Score: 5, Insightful

    And you'd be wrong.... Computers are Finite State Machines with an insane number of states.

  8. Re:You're Doing It Wrong by noidentity · · Score: 3, Interesting

    As far as I can see, he's using a microcontroller which is, itself, Turing-complete. So it's still only emulating a Turing machine (just with physical tape, instead of an emulator on your computer).

    Couldn't that be said of any Turing machine? Whatever you build it out of is Turing-complete, I think.

  9. Re:You're Doing It Wrong by trurl7 · · Score: 5, Informative

    RTFA. I know that's a sin, but seriously, do. You'll discover you are wrong.

    The microcontroller loads the program as written in ascii on an SD card. It also can write the initial data onto the tape. After that, the computation is, indeed, performed by the "machine". Hence the optical reader for the characters on the tape.

  10. All in the head? by s-gen · · Score: 3, Insightful

    A turing machine isn't just the head and the tape, its those things plus a state transition table. The microcontroller is doing the state transition table part.

  11. Re:You're Doing It Wrong by HateBreeder · · Score: 2, Informative

    Actually, if you'd bother reading the article, you'd find that the micro-controller is being used to do drive the electric motors, image process and maintain the turing machine's "state". that's it.

    --
    Sigs are for the weak.
  12. Re: I found that no one had ever actually built on by hoggoth · · Score: 3, Insightful

    Incorrect. The keyboard, mouse, and audio input insure it is indeed a Turing machine with infinite input.

    --
    - For the complete works of Shakespeare: cat /dev/random (may take some time)
  13. Turing Machine=Mathematician Without Insight by aaaaaaargh! · · Score: 4, Funny

    A Turing machine is supposed to represent what an infinitely patient mathematician with no insight can achieve when he has an infinite amount of paper and pencils. Obviously, the infinity here poses some problems, but you can build a finite Turing machine by finding a mathematician that has no insights,giving him tranquilizers to make him more patient, and locking him into your basement with some food and papers and pencils.

  14. bad moderation by Khashishi · · Score: 2, Insightful

    It looks like some berserk moderators got in here. Why all the troll mods?

  15. Setting aside the Turing stuff... by HotNeedleOfInquiry · · Score: 5, Insightful

    The hardware is very elegant and well-done. The guy is a multi-talented geek of the highest order.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
  16. New Math? by Jason1729 · · Score: 2, Funny

    Wow...where can I buy a Turing-complete microcontroller?

  17. Re:You're Doing It Wrong by ircmaxell · · Score: 5, Informative
    Actually, sorry but you're wrong. Alan Turing himself described a Turing Machine as a "Logical Computing Machine" which consisted of:

    an infinite memory capacity obtained in the form of an infinite tape marked out into squares on each of which a symbol could be printed. At any moment there is one symbol in the machine; it is called the scanned symbol. The machine can alter the scanned symbol and its behavior is in part determined by that symbol, but the symbols on the tape elsewhere do not affect the behavior of the machine. However, the tape can be moved back and forth through the machine, this being one of the elementary operations of the machine.

    Now, let's look at how this works. It reads a symbol from the tape using the camera. Then it checks its internal state, and sees what it should do with that symbol (should it change the symbol, change the state, and/or how should it move). Then it does that action and moves on to the next symbol as instructed by the last "rule". Considering that the only thing that the machine keeps track of from position to position is the state, it is indeed a Turing machine. The microprocessor's job (as he states) is to act as the read/write head for the machine. Turing never described HOW the head worked, just WHAT it did. And this head performs EXACTLY what Turing described. And that's why this is a Turing machine. If you wrote a program on your computer that did this, it too would be a Turing machine. The delineation is in how it handles and stores states, not the method in which it "processes" data... And Turing's original work described a Turing machine as using a person to perform the actions (but strictly following the ruleset). So I fail to see how this could possibly NOT be a Turing machine...

    --
    If a man isn't willing to take some risk for his opinions, either his opinions are no good or he's no good
  18. Re:You're Doing It Wrong by ircmaxell · · Score: 3, Interesting

    The program would only ever be on the tape in the case of a Universal Turing Machine: http://en.wikipedia.org/wiki/Universal_Turing_machine...

    --
    If a man isn't willing to take some risk for his opinions, either his opinions are no good or he's no good
  19. Re: I found that no one had ever actually built on by CannonballHead · · Score: 2, Funny

    Ensure. Unless you mean those input devices actually insure your computer. Maybe that was part of the health care bill?

  20. Re:Finite State Machine by nitehawk214 · · Score: 2, Funny

    If you replace every instance of "Finite State Machine" with "Flying Spaghetti Monster", the post sounds more like a religious discussion.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
  21. Re:Finite State Machine by radtea · · Score: 3, Funny

    What I find tickling about this implementation is the clear evidence of an embedded FSM emulating the programmed TM.

    The Flying Spaghetti Monster is embedded in the programmed Transcendental Meditation?

    Proof of Intelligent Design!

    --
    Blasphemy is a human right. Blasphemophobia kills.
  22. Re:Isn't this actually using three states? by quadelirus · · Score: 2, Insightful

    I believe the 1, 0 and blank are the characters of the TM's alphabet, not the states. The states are internal to the machine and there can be quite a lot of them depending on what the program is to accept the TM's language.

  23. So you haven't seen this? by Fjodor42 · · Score: 2, Interesting
    --
    "The number you have dialed is imaginary. Please rotate your phone 90 degrees and try again."
  24. I'm impressed by the_other_chewey · · Score: 5, Funny

    Im impressed: For an infinite tape, the reels look very compact.

  25. Re: I found that no one had ever actually built on by LandruBek · · Score: 2, Interesting

    No, actually he was correct. Having an unlimited amount of input (over a finite alphabet) does not promote a finite state machine to being a (classical) Turing machine. If you want to have a real Turing machine, then you must have unlimited writable memory (as well as a few other things). Finite state machines handle unlimited input just fine. Actual desktop computers have "only" a finite (gigantic) number of possible states, assuming you don't let people swap in an unlimited number of new hard drives.

    --
    $META_SIG_JOKE