Return

##

- CELLULAR AUTOMATA I HAVE KNOWN AND LOVED
- SCHEMATIC OF A TURING MACHINE
- SIXTEEN DIFFERENT LINE AUTOMATA
- XOR LINEAR CELLULAR AUTOMATON
- SIXTEEN IMAGES

####
CELLULAR AUTOMATA I HAVE KNOWN AND LOVED

Next |End

        This is the sort of book which should have been written by Alexander
    Shulgin, one of the most successful salesmen scientists of the
    twentieth century. Shulgin helped to research then popularise the drug
    called ecstacy or more internationally known as XTC.

        Any chemist will recognise the structural formulae for illegal drugs
    such as LSD or everyday chemicals such as the bases of DNA. So in
    information science the specifications of line automata can be written
    and recognised by different people in different parts of the world.

        Cellular automata are models used by scientists to describe the real
    world. Fibonacci's rabbits and Pascal's Triangle (known to Omar
    Khayyam) are examples of the output of Cellular Automata. The
    Sierpinski gasket is frequently referred to by mathematicians writing
    about Cantor's Ternary Set, but it crops up when the Pascal triangle or
    some Fibonacci style series are arranged in lines then coloured odd or
    even.

        A line automata can be specified with very simple rules.

        Stephen Wolfram described these in an article on the connections
    between mathematics and computer Science. This appeared in the
    Scientific American, in 1984. The definitions were accompanied by some
    very interesting pictures. One of them showed what might be green
    slimey stuff in a pond: surely a breeding ground for artificial life.
    The signature of this image could be written down (0131123). Any person
    with a computer can recreate this line automaton.

        The rules for line automata are simply explained in terms of vector
    mathematics where you work on rows of data. The line automaton is a
    generalisation of a finite state machine. The finite state machine is a
    computer science concept invented in the 1930s. The definition is very
    straightforward. A finite state machine is a collection of machine
    states S, input values I and response values R, along with two
    transition functions F and G.

            F: S x I -> S           State transition function
            G: S x I -> R           Response function

        The stimulus response nature of this model suggests an abstraction
    of Pavlov's dogs and behaviourist psychology.

        This definition is taken from Marvin Minsky's book "Finite &
    Infinite Machines". Marvin Minsky was a researcher at the Massachusetts
    Institute of Technology (MIT) and the book was a regular textbook for
    computer scientists in the late 1960s and early 1970s. In a line
    automaton finite state machines are arranged in a line, and inputs are
    the states of neighbouring cells. Other regular geometric arrangements
    may be used and they are generally known as CA or 'Cellular Automata'.
    If successive input and output states are arranged in a sequence which
    may be indexed by the set of positive and negative natural numbers
    along with a pair of responses equivalent to 'move left' and 'move
    right' then the device is called a Turing Machine.

####
SCHEMATIC OF A TURING MACHINE

Next | Back|Top|End

                         o-----o
                         |FSS  |
                         o--+--o
                            v

            o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o--o- ...
       TAPE | 0| 1| 1| 0| 1| 0| 1| 1| 1|  |  |  |  |  |  |  |  |
            o__o__o__o__o__o__o__o__o__o__o__o__o__o__o__o__o__o_ ...

        Turing used this concept to chase up a solution to Hilbert's Tenth
    Problem. This is something to do with Diaphontine Equations, a part of
    human culture popularised in the number riddles of the Arabs and
    Greeks. Diaphontine equations seek whole number solutions for problems
    such as x^2+y^2=z^2.

        More details can be found in Marvin Minsky's book. Turing's theory
    is very abstract and does not make for easy reading.

####
SIXTEEN DIFFERENT LINE AUTOMATA

Next | Back|Top|End

        Restrict the number of states to just two values: 0 and 1 or 'ON'
    and 'OFF'. The input to each cell is the state of its neighbour to the
    left. There is no explicit response.

        The state transition function F: S x I -> S is a function from the
    set Z2 x Z2 to Z2, and there are 2^(2x2)=16 such functions.

        The behaviour of an array of cells can be modelled by algebra. For
    ease of computer representation most such arrays are modelled as loops
    where the rightmost element is identified with the leftmost element.

        If the values of the cells are stored in an array X and the
    transition function F:Z2 x Z2 is made to work on column vectors then
    the transition from one generation to the other can by written:

        X <-  F(X, L X) where L is the left shift operator.

        In fact the function may be encoded as a set of sixteen values, and
    a lookup table can be used. Pairs of (x,y) of 0,1 values may also be
    encoded to the values 0 1 2 3 by the expression z=x+2y.

        The transition function being in the set Map (Z2xZ2, Z2) can be
    given a name from classical logic. These names are well known in
    computer science. They include AND, OR, IMPLIES, NOT, XOR for exclusive
    or, and EQUALS.

        The new values of the vector X can be computed, and successive
    generations may be printed on the screen. Here we use the XOR function.

        X<-LA_XOR N
        |Linear automaton using exclusive or.
        X<-_40t1 & N<-24 #ifndef"N"
        AA: (8r" ")," O"[X]   | display line
           X<-(X+1mX)#mod 2   | transition rule
           ->(0<N--)/AA

####
XOR LINEAR CELLULAR AUTOMATON

|Next|Back|Top|End

            .......................................O
            ......................................OO
            .....................................O.O
            ....................................OOOO
            ...................................O...O
            ..................................OO..OO
            .................................O.O.O.O
            ................................OOOOOOOO
            ...............................O.......O
            ..............................OO......OO
            .............................O.O.....O.O
            ............................OOOO....OOOO
            ...........................O...O...O...O
            ..........................OO..OO..OO..OO
            .........................O.O.O.O.O.O.O.O
            ........................OOOOOOOOOOOOOOOO
            .......................O...............O
            ......................OO..............OO
            .....................O.O.............O.O
            ....................OOOO............OOOO
            ...................O...O...........O...O
            ..................OO..OO..........OO..OO
            .................O.O.O.O.........O.O.O.O
            ................OOOOOOOO........OOOOOOOO
            ...............O.......O.......O.......O
            ..............OO......OO......OO......OO
            .............O.O.....O.O.....O.O.....O.O
            ............OOOO....OOOO....OOOO....OOOO
            ...........O...O...O...O...O...O...O...O
            ..........OO..OO..OO..OO..OO..OO..OO..OO
            .........O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O
            ........OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

        Any person with access to a computer may experiment with cellular
    automata. Just like in any scientific enterprise the same results will
    be obtained by repeating the same experiments. Because of the
    simplicity of these experiments many different results may be obtained
    for different transition rules. An observant reader will see that the
    cellular automata gives Pscal's triangle reduced to even or odd.

        By an amazing coincidence of mathematics this form was given another
    name during the 1900s when mathematicians were defining Topology, or
    the business of how close things may be to each other. Cantor divided
    an interval into three then threw away the middle interval. He then
    repeated the process indefinately creating a copy of the unit interval
    within itself but occupying zero area. This lead to the mathematical
    theory of Surgery on Manifolds associated with Banach, Hausdorff and
    Sierpinski. Julia was also working in this area 100 years ago.

        The shape is called the 'Sierpinski Gasket' and it is often printed
    in books on fractals. Fractals may appear quite different from the
    evolution of cellular automata but in fact they are part of the same
    branch of mathematics. This is called 'Dynamical Systems Theory'.
    Needless to say Dynamical Systems were also invented over one hundred
    years ago, long before computers were ever invented. Poincare was one
    of the first mathematicians to write on the subject.

####
SIXTEEN IMAGES

| Back|Top|End

    These represent the sixteen simplest possible line automata. Some people
    claim that similar growth patterns can model everything in the universe.
    Unlike many wild theories some of these results may be investigated and
    verified by anyone with access to a personal computer and any knowledge
    of any programming language. The algorithm for line cell J in line T is
          X[T+1,J] <- F (X[T,J], X[T,J-1])
    where F is one of the sixteen possible logic functions on 0,1 pairs.

1. Back to the Top
2. Wolfram Science