Page 141 -
P. 141

243_masterpieces_03.qxd  4/18/03  7:01 PM  Page 113




                                                                     The LEGO Turning Machine • Masterpiece 3  113



                        It’s very interesting to understand how the state transitions table (the program) works,
                    and examine the machine’s behavior step-by-step. Do you think that you’ll be able to
                    modify the table to let the machine return back to its original cell after adding the two
                    numbers? I can assure you, it’s not difficult.A quick tip: you actually have to change State
                    2 and add another state to let the machine go left until it finds a blank.
                        As you can see, now that we’ve gone a bit more in depth, this device is really more
                    like a computer program (a sort of software) rather than a computer (hardware), its key
                    part being the programming algorithm defined in the action table.




                      Inventing…
                      The UTM: Universal Turing Machine

                      In his works, Turing described a new, powerful concept applied to his machine. If
                      an algorithm of a particular procedure can be coded with standard instruction
                      (that can be read by a Turing Machine), then the work of interpreting the instruc-
                      tions itself is a mechanical process, and can be run by a particular Turing machine
                      called the Universal Turing Machine (UTM). This is basically the concept of a
                      modern computer: one machine that can be used for many different tasks, if pro-
                      grammed with the appropriate algorithm. The UTM, like modern computers, uses
                      the idea of storing instructions in the same way in which data and numbers are
                      stored. That was a revolutionary concept in 1936, many years before the first
                      practical application of a digital computer.




                    The Differences between our LEGO Turing
                    Machine and an Authentic Turing Machine


                    Building a real machine like the one that Alan Turing theoretically conceived is impos-
                    sible, even without the limits of the Lego MINDSTORMS system. In March 2002,
                    Aatish Bhatia published some pictures of his “LEGO Pseudo-Turing Machine” on the
                    Web (www.generation5.org/aisolutions/ab_legoturing.shtml).This was the first attempt
                    to build such a device with LEGO, although it remains an interesting experiment, it
                    lacked a fundamental functionality that defines a Turing Machine: the possibility to write
                    on tape. In that moment, I thought that it would be great if someone could push the
                    experiment a bit further. I did some tests, and after many trials and errors, I triumphed! I
                    built a limited but working device that has all the characteristics to be considered a true
                    LEGO Turing Machine.
                        The first problem you encounter (and a large problem at that) is that the tape should
                    be infinite. However, in actuality the tape does not need to be infinite, just indefinite,
                    meaning that you build a finite device that can always be expanded for your needs.
                    LEGO is the perfect tool to achieve this. It has the wonderful feature of being modular
   136   137   138   139   140   141   142   143   144   145   146