Slashdot Mirror


A Model Railroad That Computes

tri44id writes "Several blogs have noted an Austrian team that has built a model train set that is a primitive computer. I have to point out, though, that it's actually only a Finite State Machine, like a pocket calculator, not a general-purpose device. Their plan for a general purpose layout is for an infinite-state machine, not a FSM+tape that Turing envisioned in his original paper. Turing took the concept a further step, by presenting a Universal Turing Machine that embodies a special set of states and transitions that allows its tape to be programmable to emulate any other TM. Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine? (Danny Hillis' famous tinkertoy tic-tac-toe machine has neither infinite tape nor programmability, and is thus yet another FSM. It shouldn't be hard to elaborate the Austrian model train FSM to use a series of cars carrying movable magnets to represent Turing's tape cells writable with different symbols, and thus become a true TM or even UTM."

198 comments

  1. Sorry... by Capt'n+Hector · · Score: 2

    It may be because it's 4:11 am, but I didn't understand ANY of that. :( Anybody smarter care to fill me (and hopefully others) in?

    --
    Quid festinatio swallonis est aetherfuga inonusti?
    Africus aut Europaeus?
    1. Re:Sorry... by KontinMonet · · Score: 2, Informative
      --
      Did he inhale?
    2. Re:Sorry... by zootm · · Score: 5, Informative

      A Turing Machine is a simple model of computation that encompasses anything that can be computed by a computer. The strongest claim about the ability of a programming language is that it's "Turing Complete", which means that anything that can be computed on a Turing Machine can be computed in a language. Turing Machines are designed to be very simple, and they're good for theoretical things about computer science.

      A Universal Turing Machine is a Turing Machine that takes, as its input, an encoding of another Turing Machine, then simulates it. As such, you can prove that with a Turing Machine, you can compute anything that any other Turing Machine can.

      By contrast, Finite State Machines, or Finite Automata, are far less complex models of computation. If you treat them as language acceptors (i.e., everything that they compute is whether or not a string is valid in a language) they are only as powerful as simple regular expressions. They can be modelled very quickly by computers, though, since they are deterministic and require no lookahead.

    3. Re:Sorry... by jon855 · · Score: 0

      Google must have improved Wikpedia's site by a notch?

      --
      May /. rule the /.ing realm
    4. Re:Sorry... by Guillermito · · Score: 2, Insightful

      I think the original poster's point is that *real* computers are just FSMs, because they dont have the infinite tape that TMs are supposed to have.

      In that sense, if you add all the bytes of the processors registers plus all the bytes of the RAM, plus all the bytes of hard drives, you get a really, really big natural number. That number would represent the state of the machine.

      You could easily extend that to a network of computers, aggregating all individual states to form a big network state.

      On the other hand, that conceptualization falls once you add the human factor (think of mouse clicks or keyboard input). It is not as easy to link a human's state to a natural number.

      So, when human input is involved (or maybe some other input source, like a temperature sensor) I think that input can be regarded as the infinite tape, making real computers TMs after all.

    5. Re:Sorry... by KontinMonet · · Score: 1

      The parent asked what it all meant but was then modded out of sight...

      --
      Did he inhale?
    6. Re:Sorry... by zootm · · Score: 0, Redundant

      I'm not sure I understand what you mean!

      Wikipedia's a very useful thing to link to in case people want in-depth knowledge. Today, I didn't have to Google search to find answers, though, since I study this stuff (ironically, I posted that answer while I should've been in a lecture about computational complexity).

    7. Re:Sorry... by pjt33 · · Score: 1, Redundant
      A Turing Machine is a simple model of computation that encompasses anything that can be computed by a computer.
      You do seem to be assuming the Church-Turing hypothesis.
    8. Re:Sorry... by zootm · · Score: 1

      Indeed. But going into the nitty-gritty details of things like this when trying to explain to someone who's just confused seemed a little bit counter-productive....

    9. Re:Sorry... by jon855 · · Score: 0

      Oh what I meant was that Google recently offered some hosting support for Wikipedia. I believe this was on /. last week. Aha, so your giving a lecture? Nice, what college do you attend to? www.rit.edu here...

      --
      May /. rule the /.ing realm
    10. Re:Sorry... by Anonymous Coward · · Score: 0

      The strongest claim about the ability of a programming language is that it's "Turing Complete"


      Everything that is actually considered a programming language is turing complete, so it is not the strongest claim about a language, it is a defining characteristic.

    11. Re:Sorry... by SwimsWithTheFishes · · Score: 2, Funny

      Not TURING machine, TOURING machince.

      Just another dog-gone Slashdot typo.

      --
      *click**beep**beep* Scotty, One to Mod up!
    12. Re:Sorry... by Suidae · · Score: 1

      So, what you're saying is that a human at the keyboard is an infinite source of random input?

      Given the users I'm forced to deal with, I'd have to agree.

      Although sometimes I'm tempted to make them non-infinite using decidedly violent methods.

    13. Re:Sorry... by clean_stoner · · Score: 1

      I'm sorry, but whoever modded that post "Redundant" is dumb as hell. By definition, the first post cannot possibly be redundant. Modding it anything else would be more appropriate than Redundant.

      --

      Sigs are for the weak.

  2. Just state machine? by notany · · Score: 5, Insightful

    I haven't been fortunate enough to find a computer that was more powerful than a sufficiently large finite-state machine.

    --
    Dyslexics have more fnu.
    1. Re:Just state machine? by Welpa · · Score: 3, Funny

      Yep, this is a truly embarassing story. Just goes to show that if you use enough technical jargon, you can fool a Slashdot editor into accepting a troll.

    2. Re:Just state machine? by KontinMonet · · Score: 4, Funny

      Microsoft patented a process for a 'limited resource computing device'. Presumably because they are aware of an unlimited resource computing device somewhere. Why don't you contact them?

      --
      Did he inhale?
    3. Re:Just state machine? by zootm · · Score: 4, Interesting

      Finite State Machines, however, are useless as models of computation when you're treating them in that way. True, you can theoretically model any physical computation device with an FSM (albeit one with billions of states, even for the most simple systems which allow arbitrary computation), there is a difference between being a simple regular language acceptor and being Turing Complete.

    4. Re:Just state machine? by Welpa · · Score: 1

      Hmm, how about distinguishing between a *theoretical* model, which is what a Turing Machine is (with infinite tape and all), and a *real* model (like a model railroad or a computer).

      I'd like to see you try to construct an infinite tape. ;)

    5. Re:Just state machine? by Anonymous Coward · · Score: 0

      Yeah, the grand-parent was trolling (and modded insightful!). Remember that computers have finite memory, space and running time, and thus can only produce finite (though very large) languages. And any finite language can be replicated by a sufficiently large finite state machine.

    6. Re:Just state machine? by zootm · · Score: 1

      Heh, I don't know why I went off on one there, actually -- now I've R'd TFA, all this distinction between FSMs and suchlike are nearly completely pointless. Blast!

      You do get space-bounded TMs, though, and they're more sensible things to be dealing with when working with results about computation. Although making a space-bounded UTM implementation with a train set that actually accepted usefully-sized programs would be completely impractical...

    7. Re:Just state machine? by jon855 · · Score: 0

      Black helicopters just left the Microsoft Campus... Wait, Microsoft?! I'll withdraw my contact...

      --
      May /. rule the /.ing realm
    8. Re:Just state machine? by Anonymous Coward · · Score: 1, Funny

      When you realise, that computers are just finite state machines, you also realise that they must reach a point (state) where they have been before. Given the determinative nature of the computer the next state is given from the current. So it starts to repeat it self over, and over again. Isn't this the exact definition of a computer crash? So why does so many people bother switching on their computers when they know that it has entered an infinite loop, even before it has booted.

    9. Re:Just state machine? by ghoti · · Score: 1
      I'd like to see you try to construct an infinite tape. ;)
      Easy
      --
      EagerEyes.org: Visualization and Visual Communication
    10. Re:Just state machine? by Anonymous Coward · · Score: 0

      Yeah? Try writing an infinite amount of symbols there...

    11. Re:Just state machine? by northcat · · Score: 0, Troll

      Holy shit, they patented the double-click. Where is the slashdot article on this, I think I missed it?

    12. Re:Just state machine? by eyal · · Score: 2, Informative

      "billions of states" can be achieved with ~30 bits of memory.
      I believe that in order to model "any physical computation device" you're going to need many many more states
      (1KB RAM == 2^8192 states == ~1e2466 states).

    13. Re:Just state machine? by Hognoxious · · Score: 1
      'limited resource computing device'
      I assume it has less than 64K of memory.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    14. Re:Just state machine? by Anonymous Coward · · Score: 0

      jesus . . . not only are BOTH of those quotes false to begin with, the Bill Gates one isn't even quoted correctly. The popular urban legend is 640k.

    15. Re:Just state machine? by Alan+Partridge · · Score: 0

      Writing an infinite amount of something is impossible, though a short loop of tape would take it if you didn't need to read back.

      --
      That was classic intercourse!
    16. Re:Just state machine? by null+etc. · · Score: 1

      My computer is an infinite-state machine.

    17. Re:Just state machine? by Anonymous Coward · · Score: 0

      That's not an infinite tape, it's a onesided tape. Next, are you going to claim a Klein-bottle is infinite too?

    18. Re:Just state machine? by WaterBreath · · Score: 1
      I believe that in order to model "any physical computation device" you're going to need many many more states

      A state-machine is much more than just states. It's also the logic that dictates state-transitions. So for the FSM to be complex enough to be useful, the state transition logic will take up much more space than the actual state itself.

      30 bits may very well be enough to store the state of a system. But depending on how the bits represent the states, the transition logic may be more or less complex. For example, tying state representation closely to actual state variables will simplify code. I.e. if the bits essentially just acted as flags for different situations, it's simple to check those flags specifically and act accordingly. However, then you'd be restricted to monitoring only 30 (or less) unique aspects of the system with the 30 available bits. To get the most use of out of the state memory, you would need to remove this restriction. So every 30-bit combination would be a completely unique state, and flipping one bit (a minor change to state-representation) wouldn't necessarily mean a minor change to the actual state of the device. To deal with this, your logic would need to essentially become a big case statement:
      if state = 101010101010101010101010101010 then
      ...
      else if state = 001010101010101010101010101010 then
      ...
      else if ...
      end if
      It's the infamous code-size/state-size/code-speed tradeoff. You can't have all three be optimal at the same time.
    19. Re:Just state machine? by tonsofpcs · · Score: 0, Offtopic

      Actually, that covers clicking, click+hold [making it cover dragging], and double-clicking and triple-clicking and n-times-clicking.

    20. Re:Just state machine? by tonsofpcs · · Score: 1

      It also covers press-and-hold record buttons, so I guess this would cover the buttons on old tape recorders that you press the button once and the button holds itself in [it is held in] and then press it again to release......

      Microsoft thinks of everything!!!

      And then there's the cover-all clause: While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.

    21. Re:Just state machine? by reversible+physicist · · Score: 2, Insightful

      As far as we know, the whole universe is just a finite state machine (see, for example, Computational Capacity of the Universe). Infinite entropy for finite systems was the big problem with 19th century physics that the introduction of quantum mechanics fixed.

    22. Re:Just state machine? by notany · · Score: 1
      Thanks for reference (computational capasity of universe). I have been thinking this.

      For funny side of things. Now that we know that we 10E90 bits will be enough for everyone. 299 bits will be enough to address every bit in the universe. 296 bits if we want to access 8-bit bytes.

      It also seems evident that universe wasn't compiled with full optimizations. There is no input or output so all this computation could have been optimized out. Let's have silent moment for this tought.

      --
      Dyslexics have more fnu.
    23. Re:Just state machine? by Hognoxious · · Score: 1
      The popular urban legend is 640k.
      Results 1 - 50 of about 17,000 for 640K enough everybody

      Results 1 - 50 of about 41,400 for 64K enough everybody

      And before you start, you said popular, not correct (if indeed either of them is). Finally, whoosh!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    24. Re:Just state machine? by javax · · Score: 1

      crap - then we're all boned...
      At least every computer I know is at best a linear bound Turing Machine...

    25. Re:Just state machine? by poopdeville · · Score: 1

      A space bound TM is an FSM. By the definition of a TM, each cell can be in one of finitely many states. If you bind the number of cells, you force the machine to have only finitely many possible states.

      (There's a slight technical difficulty, since I'm implicitly using the word "state" in two different senses. An FSM state corresponds to something like "the configuration the whole machine is in at a particular time," whereas a TM state corresponds to something like "the symbol in a given cell at a given time.")

      --
      After all, I am strangely colored.
    26. Re:Just state machine? by zootm · · Score: 1

      Yes, it can be represented as an FSM. It's just useless like that. The context is not useful here...

    27. Re:Just state machine? by f()rK()_Bomb · · Score: 1

      Except that a moebius strip is actually finite, you will arrive back where you started. Can keep going infinitely but it is not an infinite piece of tape

      --
      "The space elevator will be built about 50 years after everyone stops laughing." - Arthur C. Clarke ~1980
  3. What to do with it... by wertarbyte · · Score: 3, Interesting

    Could they use it to control another digitally controlled model railroad once they build the more advanced system?

    --
    Life is just nature's way of keeping meat fresh.
    1. Re:What to do with it... by strider44 · · Score: 2, Insightful

      See how big that railway system is and see what it does: calculates 1 + 1. Besides the fact that you'd need underlying mechanics to control the other model railroad, it'll also be absolutely enormous and as slow as hell. Just think of how long one train would take to calculate one instruction using that thing, and think of how many instructions required... which would be a hell of a lot.

    2. Re:What to do with it... by Anonymous Coward · · Score: 0

      Or use it to control itself....

      Wait for it...
      ...

      Does your brain hurt now?

    3. Re:What to do with it... by Suidae · · Score: 1

      Maybe they could use very very small trains and run them very very fast.

    4. Re:What to do with it... by Mikkeles · · Score: 1
      ' Maybe they could use very very small trains and run them very very fast.'

      Or, perhaps, we could simulate it with electrons (for the trains), wires (for the tracks), and switches (for the switches)!
      That could be really fast.

      --
      Great minds think alike; fools seldom differ.
  4. Too much time by strider44 · · Score: 5, Funny

    I just wasted about half a day compiling and recompiling my linux kernel to get it "just right".

    But still, I feel even I have the authority to say that some people just have too much time.

    1. Re:Too much time by Anonymous Coward · · Score: 0

      Half a day? You didn't compile it on this model railroad, did you?

      Imagine a Beowulf cluster of H0 railroads!

    2. Re:Too much time by Anonymous Coward · · Score: 0

      An illistration in my incompetance in compiling a linux kernel:

      Step 1: Select everything I think I want. Nothing else.

      Step 2: Compile the kernel.

      Step 3: Boot up the kernel. Computer greets me with a completely black screen.

      Step 4: Select a few things more.

      Step 5: Compile the kernel.

      Step 6: Boot up the kernel. Computer greets me with a completely black screen.

      Step 7: Select everything that could be sanely put into the kernel.

      Step 8: Compile the kernel, taking several hours.

      Step 9: Boot up the kernel. Computer greets me with a completely blank screen.

      Step 10: Realise I've chosen the wrong video driver.

      OK it didn't happen exactly like that - I realised a bit earlier! I hate the riva driver, and bootsplash was stuffing up anyway once I uninstalled the riva driver, so it wouldn't have worked anyway! But yes it did take that long.

      strider

      *forsaken karma bonus and posted as AC because it's offtopic. Please don't mod up, even if it just happens to be funny.

    3. Re:Too much time by goofyheadedpunk · · Score: 1

      Perhaps it's just me, and perhaps this is offtopic, but the phrase "has too much time on their hands" has always sounded far too similar to "thinks too much" to me.

      I am a mathematician, a pure mathematician to be pedantic. Pure, for lack of a better designation, means that I work completely in the abstract. When working in approximation theory ( the use of data points to approximate functions, basically ) I don't really give a hot damn how my work can be applied. It is the math, the idea, that is beautiful and interesting to me. If there were no people to come along and apply my work to something then it would be completely useless, in the practical sense. Is that a bad thing? Maybe, it depends on how Roman you like to be.

      Now, since my passion can often be described as useless I have heard quite often that I either "think too much for my own good" or "have too much time on my hands." I believe these statements are synonomous.

      These crazy bastards constructed a finite state machine out of a train set. It performs calculations. You say that they have too much time on their hands. Why? Because you cannot use the machine to perform calculations?

      What they have done is beautiful. They have brought into the world an idea, they have been creative. Would it have been better for them to be honest hard working men in a factory, as opposed to geeks?

      If there is some other way to view "too much time" please inform me.

      --

      What if the entire Universe were a chrooted environment with everything symlinked from the host?
    4. Re:Too much time by karakal · · Score: 1

      Very good point!! And I think, that you are right. Not everything has to have a direct purpose. Maybe none of the greatest works of art would have been produced if all people had thought like the first poster....

    5. Re:Too much time by poopdeville · · Score: 0, Troll

      Oh my, aren't we pretentious?

      A mathematician--to wit, a pure mathematician! At 18, at most! Without having gone through college! Please, oh wise sage, help me pay my dues and finish my dissertation so that I might call myself a mathematician too!

      --
      After all, I am strangely colored.
    6. Re:Too much time by goofyheadedpunk · · Score: 1

      Wow, who shit in your breakfast cereal?

      I looked through your comment history a bit, and you don't particularly seem like a troll. Perhaps then you are just having a bad day? Or have you finally bubbled over with stress from attempting to pay your dues, which I assume to be college dues as opposed to the "dues" that everyone keeps going on about, and attempting to finish your dissertation?

      Go on, let it all out. It's okay. Just go outside, get away from the computer. Enjoy the fresh air. Take a book with you, they're fantastically relaxing. Take a step back from life, calm down, and ask yourself if it wouldn't be best for you to stop waisting your life on /. attacking minors.

      Being a Mathematician is a matter of disposition and passion, being 17 doesn't mean one hasn't escaped High School for University long ago, and being insipid often makes one a twit.

      --

      What if the entire Universe were a chrooted environment with everything symlinked from the host?
    7. Re:Too much time by poopdeville · · Score: 0, Troll

      Oh my! A mathematician and a psychiatrist too! Here's some unsolicited advice: don't give strangers unsolicited advice.

      Doing mathematics does not make one a mathematician. One needs to make significant contributions to the field for that. The title is reserved for people who have. Until you've done that, you're either too stupid to realize how big a faux pas you've committed, or just a little shit with a big ego.

      --
      After all, I am strangely colored.
  5. Old Idea by Hasie · · Score: 4, Informative

    That is really awesome! The idea of a model railroad being a computer is not new though. I read a book by Desmond Bagley (or was is Alistair Maclean) many years ago where a scientist who wanted his work to remain secret built a model railroad/computer. His dying act is to give his model railroad timetables to the main character. The main character later realises that the timetables are actually code for this unique computer.

    1. Re:Old Idea by k.a.f. · · Score: 2, Informative

      Desmond Bagley: The Enemy. His best book by rather a long margin.

    2. Re:Old Idea by biglig2 · · Score: 1

      Pah, this story only seconds old yet ya beat me to this reference!

      --
      ~~~~~ BigLig2? You mean there's another one of me?
    3. Re:Old Idea by Anonymous Coward · · Score: 0

      I was going to comment on this book.
      I'd say The Tightrope Men was better.

  6. MIT's Model Railroad Club by SoupIsGood+Food · · Score: 4, Interesting

    It's interesting to note that almost everything we find weird and wonderful about computers, and about the culture that builds, modifies and programs computers for the sheer love of intellectual challenge, stems from the MIT Model Railroad Club.

    The hackers who loved switches, relays, automation systems and doing beyond-tomorrow stuff with all of it irritated the hell out of the guys who liked collecting little models of trains, and eventually went on to be the Midnight Hackers of fame.

    SoupIsGood Food

    1. Re:MIT's Model Railroad Club by kaalamaadan · · Score: 1
      See Bill Gosper's Webpage: http://gosper.org/bill.html.

      In EDUCATION, he says:

      • 1963 - 1972 Technology Model Railroad Club. Where I learned the most.
    2. Re:MIT's Model Railroad Club by kahei · · Score: 4, Interesting


      That's where everything _you_ find weird and wonderful about computers comes from.

      If I had to pick a well-defined culture and declare that I belonged to it, as so many /.-ers do, I'd trace my roots back to the home computers of the 80s -- a very different mindset, a bit less cosy, but with the benefit of sprite graphics!

      And when I say sprite graphics, I mean all 15 sprites!

      Note for socially-undeveloped Lisp programmers from MIT: The point of the last sentence was that there were only 8 sprites on the main sprite graphics platform, the VIC chip, but you could produce 15 (and probably more) by confusing it sufficiently. Hacking, you see. Like with the trains. It's an analogy. C'mon, we can be freinds.

      --
      Whence? Hence. Whither? Thither.
    3. Re:MIT's Model Railroad Club by Goth+Biker+Babe · · Score: 1

      It's where my interest in computers came from. Initially I would keep my Dad company and help him with his model railway. Wiring that up got me interested in electronics in the seventies and it was in those electronics magazines I saw the magic that was the hobbyists computer, Altair 8800s, UK101s and the like.

    4. Re:MIT's Model Railroad Club by operagost · · Score: 1

      Wow, flashback. I forget what you had to POKE, but you could sacrifice the upper portion of the character set in order to create your own in RAM. Of course, you needed at least some RAM expansion in order to do anything meaningful once you'd gobbled up half the 3.5KB of free memory creating little spaceships and Pac-men.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
  7. Finite State Machines? Don't knock-em by joshv · · Score: 4, Informative

    I have to point out, though, that it's actually only a Finite State Machine, like a pocket calculator, not a general-purpose device

    Yes, and your desktop computer is also another example of a finite state machine. Granted, all those little silicon switches have an enomorous number of possible states, but rest assured, the total number is indeed finite.

  8. Explanation for dummies by notany · · Score: 1
    Explanation for dummies follows:

    It's about making computer from model railway system where computation is expressed in trains moving along rail. Think about trains as bits and rails as wires. If it's Turing equivalent you can port Linux in it.

    Not wery practical.

    --
    Dyslexics have more fnu.
    1. Re:Explanation for dummies by ockegheim · · Score: 1

      My old train set probably had about two or three bytes worth of states on it. I'm guessing that would require one of the earlier Linux kernals...

      --
      I’m old enough to remember 16K of memory being described as “whopping”
  9. Mine was derailed... by Eternal+Vigilance · · Score: 5, Funny

    Would a UTM Railroad be a train of thought?

  10. Babbage Engine by utopia27 · · Score: 1

    The Babbage Engine was, I believe, intended to be a general-puspose programmable compute device. Although never completed by its inventor (sometime in the 19th century), I believe several have been completed in the recent past.
    http://www.sciencemuseum.org.uk/on-line/bab bage/in dex.asp

    1. Re:Babbage Engine by Anonymous Coward · · Score: 1, Interesting

      William Gibson and Bruce Sterling co-wrote a book on Babbage and his proto-computer, wherein the course of history is refigured due to the success of Babbage's invention (i.e. a working computer more than a half-century early). It's called The Difference Engine, for anyone who cares.

  11. But can it beat a horse? by Eatmorecake · · Score: 1, Funny

    I saw a horse that could do math once... ask it to add, subtract, or multiply, and it was right 9 out of 10 times... No way yer newfangled iLocomotive can beat that sucker!

    --
    Don't you mean.. BIZZARO! ..Signature?
    1. Re:But can it beat a horse? by Fizzl · · Score: 1

      Atleast it beats a lot of dead horse...

    2. Re:But can it beat a horse? by Anonymous Coward · · Score: 0

      I saw a horse that could do math once... ask it to add, subtract, or multiply, and it was right 9 out of 10 times... No way yer newfangled iLocomotive can beat that sucker!

      But could it run Linux? O/w frankly, we're going to be unimpressed...

    3. Re:But can it beat a horse? by Kombat · · Score: 2, Funny

      At least it beats a lot of dead horse...

      Except in Soviet Russia, where the dead horse beats ... nevermind.

      --
      Like woodworking? Build your own picture frames.
    4. Re:But can it beat a horse? by eck011219 · · Score: 1

      ...it was right 9 out of 10 times...

      Must have been an Intel horse.

      --
      It is pitch black. You are likely to be eaten by a grue.
  12. Re:Finite State Machines? Don't knock-em by DisprinDirect · · Score: 3, Funny

    Is this not a Choo-Chooring machine?

  13. True mechanical implementations? by kinnell · · Score: 4, Funny
    Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?

    Given the requirement for an infinitely long tape, I suspect the answer to this question might be no.

    --
    If I seem short sighted, it is because I stand on the shoulders of midgets
    1. Re:True mechanical implementations? by plopez · · Score: 1

      I am still waiting on mine, it's on back order. Along with that trionic field modulator.... :)

      --
      putting the 'B' in LGBTQ+
    2. Re:True mechanical implementations? by Anonymous Coward · · Score: 0

      I once saw one that had half of an infinitely long tape.. although someone went and folded it into a loop with a half-twist somewhere in the middle.

  14. Quantum Computer by fr00dy · · Score: 4, Interesting

    AFAIK the only truly universal turing machine must be implemented with reversible logic and be based on quantum mechanics. http://www.holbornbooks.co.uk/details.aspx?sn=3917 4This book explains it fairly well.

    1. Re:Quantum Computer by Anonymous Coward · · Score: 0

      This article started with model trains, how the .... did we end up in the Quatum Computer field ?

    2. Re:Quantum Computer by WinterpegCanuck · · Score: 1

      /. Readers barely RTFA, you expect them to read a whole book?

  15. D'uh! by Aardpig · · Score: 4, Insightful

    Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?

    Of course not. A truly Universal Turing Machine needs an infinite amount of tape. Or RAM. Or HDD. Or Spaghetti. Or any other infinite amount of storage device. Hell, the submitter makes this clear in their spiel, just after they ask the vacuous question above. I guess they should read what they write a little closer; or stop prancing around like a tit, trying to sound profound and knowledgable.

    --
    Tubal-Cain smokes the white owl.
    1. Re:D'uh! by smallpaul · · Score: 4, Interesting

      No need to be a jerk. The poster's meaning was clear enough. "Has anyone built a mechanical (non-electronic) computer which has the capacity to deal with an arbitrary amount of simulated tape and therefore run arbitrary computer programs up to the limits of the tape available at any particular time." If we all spent our times being as literal as you are, computer science would be quite impoverished. "No need to discuss Turing machines in CS class because Turing machines and computers are totally different things: one depends on infinite tape and the other on finite hard disks. Computer languages can therefore never be Turing-complete." It's a pet peeeve of mine and a way for pedants to try to sound "profound and knowledgable."

      The question is not vacuous and in fact someone has created a mechanical Turing machine.

    2. Re:D'uh! by Welpa · · Score: 1

      Hmm, but that wasn't exactly what the poster said now, was it?

      I think that it is useful to be precise when you are talking about things like TM's. And as you probably know, any TM with a finite tape is equivalent to a finite state machine.

      In fact, maybe you could explain to me exactly what the poster means when he says that the railroad model is "just a FSM" and not a TM. Presumably, I could hook up more rails to expand the system?

    3. Re:D'uh! by iabervon · · Score: 2, Insightful

      An ideal Turing machine only needs an arbitrary amount of storage, not an infinite amount. It is perfectly acceptable to pause in the middle of a run until more tape is added to one end.

      A universal Turing machine has nothing to do with the size of the tape; it is a Turing machine whose FSM supports the emulation of any other Turing machine, when that machine's FSM is written in some format on the tape. That is, it's a computer that runs programs out of storage, rather that having them hardwired in (or, rather, the hardwired microcode runs arbitrary programs out of storage).

      A regular computer is a limited-resource universal Turing machine, which is to say that it can run out of memory, but, if it doesn't, can, in principle, run any computer program in memory. (Actually, it can also do a few things that a Turing machine can't, like get input from a user while running, and some can get actual random values; these don't really change the theoretical power of the system for computing, but are important for practical applications.)

    4. Re:D'uh! by Daniel+Vallstrom · · Score: 1
      Considering how many that are confused about what Turing-completeness means, the grandparent wasn't being a jerk at all. Grandparent was just clarifying things.

      Considering that you say that this is a pet peeve of yours, your own grasp of the issue seems to be left wanting. Your mock argument ending with Computer languages can therefore never be Turing-complete is nonsense since the question if a computer language is Turing-complete is perfectly valid no matter what. Computer languages are just math definitions and higher level languages like Haskell are Turing-complete (I'm sure even though I don't know the details of the Haskell def). In contrast, lower higher level languages like C are not Turing-complete (because the language def imposes limits on most things, e.g. types).

    5. Re:D'uh! by Anonymous Coward · · Score: 1, Insightful

      Turing machines do not require an infinite tape. They require an unbounded tape i.e. one that is as long as turns out to be necessary to perform the computation. Turing was very careful to ensure that his model of computation was physically possible. It is quite possible to build a computer with an unbounded number of states. All you have to do is get it to ring a bell when it is about to run out of disk space. That alerts you to rush out and buy a bigger drive which you then install. Just keep listening out fo the bell.

    6. Re:D'uh! by Anonymous Coward · · Score: 0

      The original poster said Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine? (Danny Hillis' famous tinkertoy tic-tac-toe machine has neither infinite tape nor programmability, and is thus yet another FSM. , and yet you basically say 'Oh, but it's obvious what was meant - exactly what I want it to mean', completely ignoring direct evidence to the contrary. Namely, the original poster's words themselves.

      And you get modded up for it. Amazing.

    7. Re:D'uh! by JadeNB · · Score: 1

      This is just an infinite tape assembled in pieces. If I can successfully get cash from an ATM whenever I need it, then surely you would say that I have an infinite amount of money, even if I am at every time carrying only a finite amount?

    8. Re:D'uh! by smallpaul · · Score: 1

      Yes, you could hook up more rails but the rails encode a more sophsticated program (states in the state machine) rather than a simply larger data store (the Turing machine's tape).

  16. Awake for 29 hours, what do I see..... by Eatmorecake · · Score: 3, Funny

    I'm currently at work, graveyard, and this thing just blew my mind. Someone said this thing is terribly slow, (I doubt they meant it as an insult) but if you wanted to solve that problem you could make a three dimentional roller coaster version. That would be MUCH faster.

    --
    Don't you mean.. BIZZARO! ..Signature?
  17. I'm English . . . . by Tetsugaku-San · · Score: 5, Funny

    I bet they still don't run on time.

    1. Re:I'm English . . . . by Anonymous Coward · · Score: 0

      Wait...
      You just hit the nail on the head. The RR is an ISM. You all are thinking so two dimensional. If you factor in time it is infinite. The RR can only compute or store 0, 1, 2 but they are each valid at some point in time. Zero five minutes ago is not the same zero as right now. All you need to make the ISM is to be able to read from a prior time. Think about it... The answer is time.

    2. Re:I'm English . . . . by Anonymous Coward · · Score: 0

      We need a Leader who promises to make 'em run on time!

  18. Maybe I'm showing my geekier side... by NemesisStar · · Score: 1

    But when I first read this I thought "How could you possibly make a ocmputer out of a model railroad", followed almost instantly by the idea of using each trip around the railroad as the trigger that acts as a clock cycle.

    Very very slow, of course, but still - a way to make a computer out of a model railroad. ... :(

    1. Re:Maybe I'm showing my geekier side... by jon855 · · Score: 0

      I just shudder to wonder how many Hz(s) in total it can reach in a minute. Just hope they have really a huge buffer/cache system... In the million GBs...

      --
      May /. rule the /.ing realm
  19. infinite tape solution by jon855 · · Score: 0

    Just call the Stoch Tape company and they might could at least help you out. Here is where you should look for help 3M.

    --
    May /. rule the /.ing realm
  20. Re:SONS OF NEPHILIM!!!!! THE END-TIMES ARE HERE!!! by Anonymous Coward · · Score: 0

    That's it, I'm putting on my Nikes and drinking the CoolAid!

  21. Old news by Timesprout · · Score: 3, Funny

    Thomas the tank engine has been solving problems for ages now, and in multi task more he keeps the kids amused while he does it.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  22. The problem may be keeping track of an infinite .. by Anonymous Coward · · Score: 0

    number of states with finite hardware, dumbass.

  23. infinite is BIG by ericcantona · · Score: 1

    in order to implement an UMT storage has to have the potential to ->infinity.

    obviously !? its rather difficult to build infinite storage in a finite universe ;-P

    --
    When the seagulls follow the trawler, it's because they think sardines will be thrown in to the sea
  24. Not entirely original ! by CdBee · · Score: 3, Informative

    There was a 70s adventure novel - I believe by Hammond Innes although the title eludes my memory) in which a bomb-scientist who had promised to do no further research when he left government service is kidnapped

    Investigators found that he had a large model railway which was controlled by a computer and the answers to calculations were reported by numbered wagons being arranged in certain orders and locations.....

    It wasn't a very good book, actually.

    --
    I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
  25. Sure... by famebait · · Score: 3, Funny

    Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?

    No, but I have an infinite tape lying around in my shed, so if you know how to do the logic stuff, we can team up.

    --
    sudo ergo sum
    1. Re:Sure... by ikkonoishi · · Score: 1

      I have one in my backyard... well technically it is my backyard... and my neighbor's... and their neighbor's...

      I call it the universe.

  26. Surely they must exist by N+Monkey · · Score: 2, Funny
    Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?


    Of course not.

    I'm sure there must be some... they'll be in a backroom somewhere, stacked next to the perpetual motion machines and the random noise compression algorithms. :-)
    1. Re:Surely they must exist by Ford+Prefect · · Score: 1
      I'm sure there must be some... they'll be in a backroom somewhere, stacked next to the perpetual motion machines and the random noise compression algorithms. :-)
      Try The Ideal Scientific Equipment Company catalogue for some of the above, but sadly they seem out of stock when it comes to Universal Turing Machines...

      I even tried Ebay, but no luck. Any ideas? ;-)
      --
      Tedious Bloggy Stuff - hooray?
  27. ObComment by erlando · · Score: 1

    Imagine a Beowulf cluster of these...

    --
    Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
    1. Re:ObComment by caveat · · Score: 2, Funny

      Amtrak?

      --

      Facts do not cease to exist because they are ignored. - Aldous Huxley
  28. Editor asleep again? by PDAllen · · Score: 2, Informative

    A 'proper' Turing machine is supposed to be able to take on infinitely many states, OK?

    That means that if you want to build one, before you get into how you are going to have the thing operate, you at least have to find a way of coding infinitely many discrete states using some finite amount of matter. Which is not possible: even if you could manipulate matter to the point of using every individual subatomic particle to store a bit of data, there are only finitely many particles and you will have a finite state machine.

    Per the Heisenberg uncertainty principle, you cannot try to encode your state as an infinite-precision real which is (part of) the position or whatever of an object either, if you want to build a machine which is always contained in a finite space.

    You could build a machine which will extend up to physical limits: stick a radar reflector in space, well away from any gravitational influence (which might be a problem, but...), and build a rocket ship which keeps track of how far away the radar reflector is, in the obvious way, keeps it an exact multiple of 1 metre, and runs a universal program (can do this in silicon logic on board) with that distance as the register. Assume that somehow it is possible to fuel the ship. With a bit of care, you can program things such that this program goes wrong with very low probability (you can allow for relativity, you can't rule out quantum effects deciding to move things suddenly by >0.5m, but it is very very unlikely). That will function as a universal Turing machine whenver you put in a program that does not require you to store any really large numbers. But when you are required to store large numbers you may run up against a physical limit in that you may well find there is an upper limit on the length of a geodesic in space-time, and you will be unable to store bigger numbers.

    1. Re:Editor asleep again? by plabtfall · · Score: 1

      >A 'proper' Turing machine is supposed to be able to take on infinitely many states, OK? No, a Turing machine has finitely many states, but an infinite memory. That means you need an infinitely long piece of tape which has a finite language printed on it. It's not that the tape is filled with an infinite number of symbols, but that you need to be able to always write one more symbol at the end. And no, we don't need to be reminded that a perfect TM is physically impossible.

    2. Re:Editor asleep again? by PDAllen · · Score: 1

      I'm misusing terminology, I think - too long since I did this...

      but it amounts to the same thing. The overall state of the machine, including tape, can take on countably infinitely many values.

    3. Re:Editor asleep again? by Anonymous Coward · · Score: 0

      >but it amounts to the same thing.

      No it doesn't.
      It would be very different if the TM had infinitely many states in addition to the infinite tape. For a start there would not be a universal such machine, since there is no way of writing down such a machine on the tape in a finite amount of time, let alone simulate it...

      > The overall state of the machine, including
      > tape, can take on countably infinitely many
      > values.

      This is true. However, for an implementation there is no need to store the whole tape.
      At any time in the computation you only need to store a finite amount of data. The overall amount of the data accessed by any terminating is finite. So, it is not necessary to have access to the whole tape at once.

      After all, there are countably infinitely many natural numbers and there is no problem with implementing them:
      data nat = Zero | Succ nat

    4. Re:Editor asleep again? by PDAllen · · Score: 1

      I was originally trying to point out that the obvious barrier to building an UTM is that you cannot store an arbitrarily large amount of data in the real world. In that case, it does not matter whether you want to view things as infinitely many possible states (of which only finitely many will be used in a computation) or infinitely many finite-state registers / points on tape / whatever, of which only finitely many are used in a computation.

      Incidentally, you claim that there can be no universal machine with infinitely many states because no way exists to finitely describe it... well, you managed a nice short definition of the naturals, so you've managed to prove yourself wrong. Furthermore, your objection would apply equally to standard Turing machines if it were accurate.

    5. Re:Editor asleep again? by Anonymous Coward · · Score: 0

      > Incidentally, you claim that there can be no
      > universal machine with infinitely many states
      > because no way exists to finitely describe it...
      > well, you managed a nice short definition of the
      > naturals, so you've managed to prove yourself wrong.

      If you allow infinitely many states then the transition table can be uncountable. You can just encode the graph of *any* function on the natural numbers (including uncomputable ones) in the tansition table if you allow infinitely many states. So, there is no contradiction here. Can you see the difference?

      In fact, showing that infinitely many states cannot be allowed is used frequently as an exercise in theory courses. For example Q1 in:
      http://www.cs.nyu.edu/courses/spring03/G22.33 50-00 1/hw/hw1.ps

      Of course, we can't store the whole tape. But we don't have to in order to physically compute with a TM. That's my point.

      Perhaps you should look up the definition of a TM again:
      http://en.wikipedia.org/wiki/Turing_machin e
      (including descriptions of implementations ;-))

    6. Re:Editor asleep again? by PDAllen · · Score: 1

      I should have looked up the definition, OK.

      I should not have used the word state.

      What I meant was that there are (countably) infinitely many different configurations for a Turing machine, where by configuration I mean current contents of the tape and state of the machine (and if there is already a definition of that word in use please ignore it).

      And the problem is, still, that you therefore must have sufficient room to store what amounts to an arbitrarily large number, and that, still, is not possible.

      You do need to have countably infinite storage capacity to compute in general with a TM - almost all programs, terminating or not, exceed any finite storage limit. Easiest to see that if you consider a register machine - for any program there are infinitely many whose output is always the same but which have a load of extra states which just bounce up one (otherwise unused) register to some number exceeding the storage limit, then back to zero.

      You never need more than countably infinite storage space - although at first sight there appear to be 2^{\aleph_0} configurations, observe that for any situation which arises in a computation only a finite portion of the tape has actually been through the machine, so that there are only countably many valid configurations.

    7. Re:Editor asleep again? by Anonymous Coward · · Score: 0

      > I should not have used the word state.
      Maybe I should have guessed that you were talking about the configurations.

      > And the problem is, still, that you therefore must
      > have sufficient room to store what amounts to an
      > arbitrarily large number, and that, still, is not
      > possible.

      No argument about that.

      > You do need to have countably infinite storage
      > capacity to compute in general with a TM -
      > almost all programs, terminating or not, exceed
      > any finite storage limit.

      Yes, and no single program can use an infinite amount of space. So, if you are given an arbirtary program that will produce an output then you can compute that output using only finite memory.

      I think we probably mean the same thing ;-). You cannot build a whole (infinite) TM, just like you cannot hold all natural numbers in memory. Still, to compute with particular natural numbers you don't have to store all of them. If you want to get an answer from a TM then you can get it using finite resources, provided the TM terminates. If it does not terminate then you would have to add resources forever, but since we only have a finite lifetime, that doesn't really matter.

      The point I'm trying to make (though I'm probably not doing it very well) is that TMs (including universal ones) are a very realistic model of computation and the infinity in the definition is just there so that there is not limit on how much memory porgrams could potentially use.

      > observe that for any situation which arises in a
      > computation only a finite portion of the tape
      > has actually been through the machine...

      Just my point :-)

    8. Re:Editor asleep again? by PDAllen · · Score: 1

      > Yes, and no single program can use an
      > infinite amount of space. So, if you
      > are given an arbirtary program that will
      > produce an output then you can compute that
      > output using only finite memory.

      But you do not (in general) know how much memory will be used until after you've run the program - if you have N amount of memory and attempt to run the program then almost surely you will fail, for any given N.

      I think we've got to about the same place in this argument, though :-)

  29. Not mechanical, but... by m50d · · Score: 1

    My favourite Turing machine is the one implemented for Conway's life. I think that's pretty impressive.

    --
    I am trolling
    1. Re:Not mechanical, but... by ericcantona · · Score: 1

      yes, and this *can be* UMT

      Iff the life 'board' is of infinite size

      which is, of course, the same thing as requiring infinite storage ...

      --
      When the seagulls follow the trawler, it's because they think sardines will be thrown in to the sea
    2. Re:Not mechanical, but... by Anonymous Coward · · Score: 0

      Yeah, I used to do all my programming in life but I recently switched to minesweeper. It's a huge timesaver as long you stay focused and don't start playing it. Might give this railroad thing a try though.

  30. choo by rooftop · · Score: 1
    The following operations can be calculated: Input Output 0+0 000 000 = 0 0+1 010 100 = 1 1+0 100 100 = 1 1+1 101 110 = 2 0+2 011 110 = 2 2+0 110 110 = 2
    Choo-choo!
  31. Basic Computer: Finite State Machine + Finite Tape by Anonymous Coward · · Score: 1, Interesting

    There is an online demonstration of an Alan Turing Machine. http://abacus.sourceforge.net/alanturingmachine/ab acus.php It is basically an idea of a primitive computer with 2 main components. The components include a Tape to hold the data and a Finite State Machine to contain the instructions to process it. This is like the Processor and Memory relationship. The Tape in the demonstration is finite though.

  32. Doom 3 by Anonymous Coward · · Score: 0

    That is way cool. I have to setup my old model trains and see if I can run Doom 3 on them. Just when I thought I would never use those old model trains. This is indeed good news.

  33. Not a computer? by plabtfall · · Score: 2, Insightful

    After reading this article and the article on the tinkertoy "computer", it surprises me what people consider to be a computer. Did anyone else notice the fact that the train "computer" is just pushing digits around? It computes in *unary*, which is the most inane operation one can think of. We're supposed to be impressed if someone can get a machine to take the input, 11011101 (Meaning 2+3+1) and produce the output, 11111100 (meaning 6)? I'd rather use my much more powerful hands... I mean... autobiological computers.

    1. Re:Not a computer? by pjt33 · · Score: 1

      I seem to recall writing an FSM for a TM which used precisely that notation.

    2. Re:Not a computer? by plabtfall · · Score: 1

      Using unary is one thing. But no one should get an award for adding in it.

    3. Re:Not a computer? by GeoGreg · · Score: 1

      I don't think the point is that it is an efficient computer. But, it is performing computations. I am not particularly impressed, but I am amused. I imagine that was the point.

  34. Thank God for model trains by Inkieminstrel · · Score: 4, Funny

    If they didn't have the model train, they wouldn't have gotten the idea for the big trains

  35. Application by OrcishSpacesuit · · Score: 1

    "Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?"

    42.

  36. Or maybe you're just slow by DarkTempes · · Score: 1

    I feel extremely sorry for you then.

    Because it took me only 15 to 20 minutes (including compile time) to get my kernel 'just right'. =)

    1. Re:Or maybe you're just slow by qray · · Score: 2, Funny

      He was probably using a steam locomotive model train. You were probably using one of the bullet train model railways.

      The bullet trains are much better at hard tasks like compiling kernels, but watch out if they derail. Gives new meaning to the term "system crash".

      --
      oxray mortum docrutia foodrum

  37. Re:Finite State Machines? Don't knock-em by smallpaul · · Score: 1, Insightful

    You're trying to be clever but I hope you do know that having a "finite number of states" is not in and of itself a definition of a FSM.

    You could use your general purpose computer as a finite state machine but it would be an enormous waste of power. Let's imagine for a second that you take your computer with its 4GB of RAM and 100GB of hard disk and invent state names for every possible state. You then write a program in terms of transitions between these states (this is what FSMs do, after all). Now you go to someone else's computer with a little bit less RAM. You cannot repesent as many states now so you must decide which of your named states are least important: like dropping functionality from a program by throwing away functions.

    On the other hand, if you think of your computer as a Turing machine and think of the hard disk as a tape then you can run the same program on computers with different amounts of "tape" and the programs will just use the amount of tape that they need.

    It is demonstrably the case that a finite state machine cannot be programmed to run a JVM or a Python interpreter. For that you need something that is Turing-complete.

  38. MS Windows On Board . . . by Dausha · · Score: 2, Funny

    "I have to point out, though, that it's actually only a Finite State Machine, like a pocket calculator, not a general-purpose device."

    So, does that means it runs Windows? Perhaps it is a special version Windows: Windows RR (as opposed to Windows 958MeNTXP2000CE). Of course, unlike other versions of Windows, it does not crash--it derails.

    Thank you. I'll be here all weekend. Please tip your kelnerino.

    --
    What those who want activist courts fear is rule by the people.
    1. Re:MS Windows On Board . . . by RmanB17499 · · Score: 1

      But does it run Windows Reduced Gauge Railroad Edition?

  39. Re:Finite State Machines? Don't knock-em by nuffle · · Score: 5, Informative

    You're trying to be clever but I hope you do know that having a "finite number of states" is not in and of itself a definition of a FSM. He wasn't trying to be clever, just accurate. Your computer is a finite state machine; It is not a Turing machine. We tend to think of them as Turing machines only because they have an enormous number of states; thus they seem to act like Turing machines as long as we don't do anything that requires more states than the computer has. However, when you run out of ram and/or disk space, you've just recognized the limitation of your desktop FSM. It is demonstrably the case that a finite state machine cannot be programmed to run a JVM or a Python interpreter. That is incorrect. Every computer program is a FSM.

  40. You know wrong by Anonymous Coward · · Score: 0

    This is totally incorrect. Please don't confuse people by bringing quantum computers into this. A quantum computer can be simulated quite happily on a normal computer (albeit with a potential exponential cost in time and memory). Quantum computers are no more universal than a standard, classical universal Turing machine (which is called "universal" for a reason).

  41. Ah! by Anonymous Coward · · Score: 0

    But does it run linux?

  42. Re:Poster asleep again? by Anonymous Coward · · Score: 0

    > A 'proper' Turing machine is supposed to be
    > able to take on infinitely many states, OK?

    No, a TM has finitely many states. I does have an infinite memory tape. However, the memory is only potentially infinite. Any terminating computation uses only a finite amount of memory.

    You can implement a TM just fine, for example in C. If a computation runs out of memory, you just have to get another hard disk... Any computation that will eventually return a result can be computed like that, provided you have enough money for new disks. Any other computation that will never produce a result, will just exhaust your time and money.
    Since a Universal TM is just an ordinary TM, this obviously also works for universal TMs.

  43. Happy Valentine's Day! by mog · · Score: 1, Funny

    I choo-choo choose you!

    1. Re:Happy Valentine's Day! by Reignking · · Score: 1

      Wow, timely for two reasons and funny :)

      --
      One man's Funny is another man's Offtopic.
    2. Re:Happy Valentine's Day! by clean_stoner · · Score: 1

      Kudos for the amazingly esoteric Simpsons reference (and shame on me for instantly recognizing it).

      --

      Sigs are for the weak.

  44. Finite State Chicken by ch-chuck · · Score: 2, Interesting

    Kind of interesting to see that a Chicken can be trained to play a perfect game of Tic-Tac-Toe.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  45. Re:Poster asleep again? by gedhrel · · Score: 1

    You don't "just" have to get another hard disk :-) You also need to be able to store and manipulate arbitrarily large values just to figure out which disk you're addressing. See the infinite monkeys RFC for an example.

  46. Incorrect by Mark_MF-WN · · Score: 1

    Incorrect. Most computers can function as a linear-bounded Turing Machine with In-Out, on account of the fact that they have input and output ports. That makes them substantially more powerful than a finite state machines and context-free grammars.

    1. Re:Incorrect by Welpa · · Score: 1

      Please explain. What does substantially more powerful mean?

    2. Re:Incorrect by Mark_MF-WN · · Score: 2, Interesting
      It means that it can solve any problem that a FSM or CFG can solve, and many more. The set of problems that it can solve is a strict superset of the problems that can be solved using a Finite State Machine or Context Free Grammar.

      Linear-bounded automata are not as powerful as Turing Machines, but are still quite powerful.

    3. Re:Incorrect by Welpa · · Score: 1

      Ok, can you give me a particular problem that an automaton can't solve and a modern computer can?

    4. Re:Incorrect by Mark_MF-WN · · Score: 1
      First, let's be clear: you mean a "finite state automaton". Even a TM is an automaton, it's the unbounded state that sets it apart.

      The classic problem not solvable by a DFA is recognizing {0^n 1^n : n in N}. A PC can solve this by writing its output to tertiary storage via an output port, and as soon as it reads the first 1, it begins reading back what it wrote to the output port, comparing that to its input. Tertiary storage isn't bounded in size, because it can be freely modified during execution. An example would be a ticker-tape writer that has additional tape added by a person whenever the roll runs out.

    5. Re:Incorrect by Rubyflame · · Score: 1

      No, because you're still limited by the amount of matter in the universe (And don't say that's just a technicality - it's exactly the same technicality that prevents a DFA from recognizing the language).

      --

      All it takes is nukes and nerves.
    6. Re:Incorrect by Mark_MF-WN · · Score: 1
      1.) The universe is not a closed system though; some research indicates that matter and energy are routinely created as the universe expands. Therefore the amount of matter in the universe is potentially unbounded.

      2.) An individual particle may be able to store arbitrarily complex information, by encoding that information as a real number equal to its position in space (which can be determined with arbitrary precision if you accept that its intertia becomes undetermined). I'm not aware of any scientific result saying that the number of possible particle positions is finite. If a particle's position in space is allowed to assume any value in the continuum, then even a single particle can encode a Turing Machine's tape. We don't even need to be able to determine the particle's position exactly; we just need the ability to determine its position to any arbitrary precision.

      So there's more than enough infinity in the universe to permit unbounded automata.

    7. Re:Incorrect by Welpa · · Score: 1

      >So there's more than enough infinity in the universe to permit unbounded automata.

      This may be true, but let me assure you that if you take all of the worlds hard disks and put them together, you'll have a lot of storage, but it will still be finite. Meaning that {0^n1^n} is beyond the computer's capability.

    8. Re:Incorrect by Mark_MF-WN · · Score: 2, Insightful
      But we can make more hard drives. It just takes time. And we can make more ticker tape, etc. The machine can just pause until more storage is provided. We have an unbounded amount of time to execute in. The algorithm could simply pause until whatever arbitrary amount of storage is necessary is available.

      You're missing the point here -- a modern computer is not a closed device. Its ability to interact with the outside world via I/O of various kinds gives it the full range of a TM's power. A computer is not just its RAM and CPU and hard drive.

    9. Re:Incorrect by Welpa · · Score: 1

      I see your point, but at some stage there is a bit of cheating.

      There is nothing about "connect more tape" in the definition of TM's; although I concede that if you put that in, you would have something with the same power.

      But in the same way, I could change the defininion of FSA to "connect more states" and get something equivalent. The point I'm trying to make is that using compuatibility theory for distinguishing between computing power for *real* devices is a little bit artificial, since they are all really FSA's.

      The theory behind FSA's, pushdown automata, TM's etc was not really meant to be applied to distinguish between the computing power of my old Spectrum 48k and my shiny new 1.5Gh Powerbook; it is meant as a classification system for *problems*; to make precise the statement that one problem is harder than other. (One can take it further and get into complexity theory.) The main function of TM's in theory is of coarse to demonstrate problems that cannot be solved by any standard computing machine.

      That is why the original story poster was a troll, or at least didn't know what he was talking about.

    10. Re:Incorrect by Hawkxor · · Score: 1

      As long as its theoretically (enumerably) possible to do it. It's 'countably infinite', so to speak.

    11. Re:Incorrect by Mark_MF-WN · · Score: 1

      Fair enough. There's no denying that you get bogged down in a quagmire of semantics when you try to compare a theoretical construct to a real-world thingy.

  47. Re:Finite State Machines? Don't knock-em by Pig+Hogger · · Score: 1, Funny
    Now you go to someone else's computer with a little bit less RAM. You cannot repesent as many states now so you must decide which of your named states are least important: like dropping functionality from a program by throwing away functions.
    Say, like, er, Clippy???
  48. Forget the computer thingy... by Reignking · · Score: 4, Funny

    This layout is horrible! Get some trees in there! Some buildings? This guy made up the computer idea to hide the fact that he couldn't use plaster-of-Paris.

    --
    One man's Funny is another man's Offtopic.
  49. A great example by Badgerman · · Score: 1

    As goofy as this may seem, these methods are some of the best ways to:
    1) Demonstrate micro-level computing to people.
    2) Stretch one's imagination as a programmer.

    I recall many fun hours spent building contraptions with legos, lincoln logs, erector sets, and more. Nothing of this complexity, but the understanding of interactions on a physical level really did help me relate to things on a code level.

    Is there any online museum or page summarizing such contraptions?

    --
    "The Sage treasures Unity and measures all things by it" - Lao Tzu
  50. MOD PARENT UP: FUNNY by Anonymous Coward · · Score: 0

    heh.

  51. Halting by Redwing · · Score: 2, Funny

    Turing showed that such a train can never compute whether it will stop at a given station.

    --
    Raisinettes are my raison d'etre
  52. Re:Poster asleep again? by Anonymous Coward · · Score: 0

    > You also need to be able to store and
    > manipulate arbitrarily large values just to
    > figure out which disk you're addressing.

    That's right. But, in principle, storing arbitrarily large numbers is not difficult. Actually doing it would probably be a nightmare though -- you might need several disks just to store the number of the disk you're addressing ;-)

  53. Slashdot Quantum Theorem by Anonymous Coward · · Score: 0

    For any slashdot conversation related to the computing field, the odds of "quantum computing" being mentioned increase exponentially proportional to the life of the conversation.

    1. Re:Slashdot Quantum Theorem by narcc · · Score: 1

      Yes, but it's impossible to predict the exact point at which a thread will decay.

  54. Magnets, huh? Oh really. by freddled · · Score: 1

    You could turn it into just such a machine by putting ipods on each truck and a wireless network to download data . . . oh no wait Putting magnets on the trucks doesn't help. To work, the movement of the trains has to create the ISM. You could do it by shunting the cars into different sequences and having an infinite number of cars. Wow. Maybe that's how DNA works?

  55. Eureka Journal by rgfranks · · Score: 1

    In case you're looking for the Journal the orignal paper by Adam Chalcraft and Michael Greene, see
    http://www.srcf.ucam.org/archim/eureka/backissues. html#53

    1. Re:Eureka Journal by AndyCater · · Score: 1

      Thanks for crediting Adam and Michael (also
      cited by Martin Gardiner at some point). This
      was considerable thinking by a couple of undergraduates :)

    2. Re:Eureka Journal by Adam+Chalcraft · · Score: 1

      The Eureka site doesn't have the text of the article, AFAIK. If I get permission, I'll post the text, or a scan of it, to the Eureka site or my own .

    3. Re:Eureka Journal by Adam+Chalcraft · · Score: 1
    4. Re:Eureka Journal by AndyCater · · Score: 1

      I can't spell Gardner correctly. The referenced
      Austrian museum in the article on Slashdot has
      a copy of your article as a .pdf. Whether they
      should or not, is another matter :) I've emailed
      you a copy to your address at scoriton.demon.co.uk
      - hope this helps.

  56. Doodley doot, doodley doot, doodley doot... by Stanistani · · Score: 1

    Alan Turing, meet Gomez Addams..

  57. sigh by mako1138 · · Score: 1

    I'm sure this UTM will be able to calculate how often somebody forgets to close a pair of parentheses.

  58. What a stupid question by pclminion · · Score: 1
    Do Slashdot readers know of any mechanical implementations of a truly Universal Turing Machine?

    Since a universal TM by definition requires an infinitely long tape, uh... no, I don't think there are any mechanical implementations. What a dumb question.

  59. TM clarification by Dr_Ish · · Score: 1

    In the posts here, there is some confusion between the notion of a Turing machine simpliciter, and the notion of a Universal Turing machine. For all the technical details including the relationship between Turing machines and finite state automata, people should refer to Hopcroft, J. and Ulman, J. (1969), Formal Languages and Their Relation to Automata, Addison-Wesley, and Hopcroft, J. and Ulman, J. (1979) Introduction to Automata Theory, Languages and Computation,. Also of note is McCulloch, W. and Pitts, W. (1943), "A Logical Calculus of the Ideas Immanent in Nervous Activity" in Bulletin of Mathematical Biophysics, 5/115.

  60. If I remember my Comp. Theory correctly... by Vthornheart · · Score: 1

    A Universal Turing Machine is currently theorized to be an unsolvable problem... that is not to say that it is impossible... but someone would have to disprove the current dogma of Computing Theory in order to create one.

    --
    -Vendal Thornheart
  61. Search engines take on a whole new meaning by Frateroe418 · · Score: 2, Funny

    Imagine, a search engine (perhaps a small diesel) looking for those missing op codes. I suppose that there would be more likelihood of crashes too, especially if there are too many wet leaves on the tracks.

  62. Lego by Jozer99 · · Score: 1

    Wasn't there some guy building logic games out of Lego DACTA? With a couple dozen of those and a hand crank you could make an infinite state machine, right?

  63. Re:Old Idea (Desmond Bagley) by grinder · · Score: 4, Interesting

    You were right the first time. Desmond Bagley wrote "The Enemy" and it featured a model railway that computed genetic manipulations.

    It was bought by the main character at an auction, for 31000 pounds. When his boss heard that he had bought a train set for such an ungodly amount of money he said "You expect me to be able to clear that through Expenses?" To which the character replied "Call it by its real name, a computing device."

    'Twas a fine yarn that story. Nearly as good as Running Blind.

  64. Re:Finite State Machines? Don't knock-em by Tired+and+Emotional · · Score: 1

    Yes, but mine's running Windows, so its a non-deterministic Finite State Machine.

    --
    Squirrel!
  65. mechanical implementations by Bob+Hearn · · Score: 2, Informative
    Not exactly the same thing, but it is possible to build computers of a sort out of very simple physical systems: sliding-block puzzles. You know, where you have a box of wooden rectangular pieces, and you have to slide them around so as to make one reach a certain position.

    The resulting computers are nondeterministic. They are computers in the sense that, given a Turing machine and a given input, you can construct a corresponding sliding-block puzzle that is solvable if and only if the Turing machine would eventually print YES. The catch is that this only works when the Turing machine is allowed to use only an amount of tape polynomial in its input size (but then, the same is effectively true of real computers). Technically, this means that sliding-block puzzles are PSPACE-complete - that's the next complexity class up from NP-complete.

    Anyway, the construction does involve building logic gates out of sliding-block components, so the things are rather like actual computers. The constructions are based on the earlier result that you can build computers out of Rush Hour puzzles.

    More info here:
  66. Re:Finite State Machines? Don't knock-em by Anonymous Coward · · Score: 0

    they seem to act like Turing machines as long as we don't do anything that requires more states than the computer has

    You mean they act like a Turing machine as long as we don't do anything that requires a longer tape than the computer has

  67. Water based adder by nganju · · Score: 1

    It's a finite state machine, but still a very cool little project.

    --
    There are 2 kinds of people in this world. Those that can keep their train of thought,
  68. I wonder.... by soldeed · · Score: 1

    How big a layout would one need to operate as a common 8 digit pocket calculator?

  69. applying computability theory by WeedSmokingGangsterR · · Score: 1

    UTM is an unsolvable problem. We should keep in mind that since a UTM requires infinitly long tape there does not exits a mechanical implementation, since all our representations of storage are by nature finite. However, we can take memeory to be infinite, (i.e. when we need more space on the tape, we add more memory sticks) thus making a general computer theoretically able to simulate a UTM. Interesting project nonetheless.

  70. No infinite tapes even on ebay by xee · · Score: 1

    A truly universal turing complete machine would need an infinite amount of memory. So no, there are no real physical implementations of universal turing machines.

    --
    Oh shit! I forgot to click "Post Anonymously"...
  71. Not enough cheese error by Anonymous Coward · · Score: 0

    Strangely the machine gave the error not enough cheese error, and requested a stuffed bear be placed on top of it...

  72. Is this anything like.... by Kees+Van+Loo-Macklin · · Score: 1

    Is this anything like Bistro Mathmatics?

    --
    It's not what you know. It's not who you know. It's what you know about who you know.
  73. Fact mimics fiction. by Anonymous Coward · · Score: 0
    If you haven't read it already, may I suggest The Enemy, by Desmond Bagley? (ISBN 184232005X). One of the plot points: a train system that's a computer. Ok, it's a relatively minor connection; it's more a reflection on the potential perils of genetic manipulation. But still worth a read.

    Scary, just how well some authors have predicted the future. Yes, ok, hindsight and all that...

  74. Steam Powered Turing Machine by kalgen · · Score: 2, Interesting

    By far the coolest implementation of a turing machine is the one at the University of Washington. It's steam powered!

  75. Bounded-tape TM? by CreateWindowEx · · Score: 1
    While technically a computer can be represented with an a really enormous FSM, to represent a computer with N bits of state (e.g., all the total bits in registers, RAM, hard disk, etc) requires a FSM with O(2^N) states, whereas to model that same system with a bounded-tape TM requires a tape with O(N) cells, so by some sort of vague hand-waving feel-good rational, I thereby claim that a bounded-tape TM is a more meaningful equivalent to a computer. A FSM for the microcontroller in my washing machine might take more states than there are atoms in the known universe, due to that pesky 2^N factor.

    It is sort of like saying that Shakespeare is equivalent to a roomful of typing monkeys because you can generate all possible N-page plays in a finite amount of time with a finite number of monkeys.

    Perhaps a better analogy would be that you can model the behavior of the planets with epicycles to any degree of precision as long as you add enough epicycles, but it is not a good model of orbits. It's been well over ten years since I've studied this, though, so insert grains of salt as appropriate...

    1. Re:Bounded-tape TM? by Anonymous Coward · · Score: 0
      It is sort of like saying that Shakespeare is equivalent to a roomful of typing monkeys because you can generate all possible N-page plays in a finite amount of time with a finite number of monkeys.

      Remember, Turing machine discussions already fundamentally assume that time is irrelevant! Specifically, a Turing machine can only be proven not to halt if you wait an infinite amount of time, and note that it's "not done yet". Once you're ignoring time on such a vast scale, then it's quite meaningful to say that the monkeys "do the same job" as Shakespeare does: with the vast differences in time required aside, they do! They are "computationally equivalent", which is, after all, the point of Turing machine discussions.

      If you're abstracting away all the important implementation details in order to compare formal computational power, as measured in terms of formal languages recognized, the number of "states" in any given characterization is meaningless, because you don't really have states. You don't even have an implementation. In this case, you have two equivalent formulations of the same language recognizer. In short, a "tape bounded Turing machine" is a finite state machine: just conceptualized as a slightly different abstraction.

      If you do have a real world implementation, then, first of all, you have to build a finite state machine, because you don't have infinite building materials.

      So, how you can you best encode your finite state machine efficiently and cost-effectively? That will vary widely with the problem at hand! A machine to accept the password "abcdefgh", using the standard English alphabet, can be implemented in 10 states, as can any specific 8 letter password acceptor. This is so simple than a direct encoding of states in hardware is probably the fastest and easiest.

      As you gain complexity, you start to want to optimize in different ways, such as encoding states temporally (like your "tape bounded Turing machine" would, as opposed to the more naive encoding you complain of), compressing inputs, re-using branches, taking probablisticly optimal branches based on expected data, and so forth. What the actual performance will be like depends on the hardware, how good your probability analysis was, how well you compressed states, etc. All of the above depends on your budget, which is usually the real limiting factor.


      In short, if you're talking about any kind of theoreticaly computing device, you're too far away from a practical implementation to make any valid comparisons. Any attempt to discuss "efficiency" at that level is rather misguided: the real-world constraints on the problem may well be abstracted completely away.

      For example, the real-world constants could come out such that the run time performance for an O(2^N) solution is really 2^(N/30) seconds, but the O(N) solution might be a constant 2N seconds. The O(2^N) solution may not scale well, but if the real world constraints state that if N is 25, the system melts down, then the maximum real world times are: 1/64 s for the O(2^N) solution versus 48s for the O(N) solution. Even though theory states that O(N) is "better", this is only a general rule, and real world scenarios can override this.

      The lesson: don't try to make statements about abstract mathematics apply too literally to the real world. And yes, IAAM (I am a Mathematican).
      --
      AC

  76. Am I the only one who thought by Rares+Marian · · Score: 1

    Maniacal turing machine... A cross between The Moon is a Harsh Mistress and 2001: A space Odyssey.

    --
    The message on the other side of this sig is false.
  77. Exhibition was a year ago by 1110110001 · · Score: 1

    Living in Vienna I find it sad to be informed a year after it was exhibit. But monochrom always have some crazy/nice ideas and some of them can be seen in the Museumsquartier (u-bahn station: Volksgarten). Visit it if while you're in Vienna.

    b4n

  78. Re:Finite State Machines? Don't knock-em by drxray · · Score: 1

    You forgot some places to put your swap file:
    RAM
    Hard drives
    Removable storage
    Internet

    None of those are infinite, but the last two can be very big indeed.

    Hmm, I thought I had a point when I started righting this comment - I guess my brain ran out of states.

    --
    Slashdot - Mutual Assured Discussion
  79. Upon reflection... by Eternal+Vigilance · · Score: 1

    In America, a railroad is more of a Finite State Touring Machine.

    ( Dear God, will he ever halt??? )

  80. The Little Turing Machine That Could by Eternal+Vigilance · · Score: 1

    I think I can, I think I can, I think I can...