Page 178 -
P. 178

243_masterpieces_03.qxd  4/18/03  7:02 PM  Page 150




           150    Masterpiece 3 • The LEGO Turning Machine



                  switches to control the movement and the write/erase functions, modifying the software
                  accordingly, or using a specific program for this.
                      NQC is a wonderful language because it’s easy to learn, powerful and very wide-
                  spread. However, there are other languages—like leJOS (the LEGO version of the Java
                  interpreter) or BrickOS—that would probably be much better than NQC to program a
                  Turing machine.These alternate languages have more complex data structures and more
                  flexible functions, so you can work on a different way to implement the state transition
                  table, for example.



                   NOTE

                       For more information regarding Java Turing Machines and other software:
                            ■  www.nmia.com/~soki/turing
                            ■  www.nmt.edu/~prcm/turing
                            ■  www.turing.org.uk/turing/scrapbook/tmjava.html
                            ■  www.cheransoft.com/vturing


                      These are only a few ideas. Remember that LEGO is beautiful because everyone has
                  a different way to approach and solve a problem, so take these tips only as simple sugges-
                  tions that you can expand and revise as much as you want.

                  Summary


                  In this chapter, we took a journey into the very origins of AI, building a revolutionary
                  device created to study computability: the Lego Turing Machine.
                      The purpose of the chapter was to see how you could create structures that contain
                  data, like the tape and its modifiable cells, and handle reading and writing of symbols on
                  it, using appropriate devices. We also learned how the state transition table, the “intelli-
                  gent” part of the model, could be coded with a programming language and used to con-
                  trol the entire behavior of the machine.
                      Even though the LEGO Turing Machine may seem a fairly simple model, it covers
                  many of the aspects that distinguish a true masterpiece: unconventional building solu-
                  tions, a particular way of programming, expansion possibilities, and a model that is really
                  beautiful to see in action.
   173   174   175   176   177   178   179   180   181   182   183