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

49 of 198 comments (clear)

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

    4. 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!
  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 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).

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

  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.

  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.

  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.

  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 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.
  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. Mine was derailed... by Eternal+Vigilance · · Score: 5, Funny

    Would a UTM Railroad be a train of thought?

  9. Re:Finite State Machines? Don't knock-em by DisprinDirect · · Score: 3, Funny

    Is this not a Choo-Chooring machine?

  10. 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
  11. 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.

  12. 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 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.)

  13. 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?
  14. I'm English . . . . by Tetsugaku-San · · Score: 5, Funny

    I bet they still don't run on time.

  15. 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
  16. 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
  17. 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
  18. 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. :-)
  19. 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.

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

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

  22. 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.
  23. 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.

  24. 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.
  25. 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

  26. 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); }
  27. 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.
  28. 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
  29. 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.

  30. Re:ObComment by caveat · · Score: 2, Funny

    Amtrak?

    --

    Facts do not cease to exist because they are ignored. - Aldous Huxley
  31. 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.

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

  33. 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:
  34. 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!

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