Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Notes</strong> <strong>for</strong> The <strong>Lifebox</strong>, <strong>the</strong> <strong>Seashell</strong>, <strong>and</strong> <strong>the</strong> <strong>Soul</strong>, by <strong>Rudy</strong> <strong>Rucker</strong><br />
(Turing A) The machine reads <strong>the</strong> symbol that is in <strong>the</strong> active cell. It combines <strong>the</strong><br />
read symbol with its current state to make a stimulus pair < internal state, read symbol >.<br />
(Turing B) Given <strong>the</strong> stimulus pair < internal state, read symbol >, <strong>the</strong> machine looks<br />
in its program code to locate a corresponding response triple < write symbol, move direction,<br />
new state >.<br />
(Turing C) On <strong>the</strong> basis of <strong>the</strong> response triple, <strong>the</strong> machine writes a symbol in <strong>the</strong><br />
active cell, moves <strong>the</strong> active cell location one step to <strong>the</strong> left or to <strong>the</strong> right, <strong>and</strong> enters a new<br />
state. And <strong>the</strong>n <strong>the</strong> machine returns to step (Turing A).<br />
The software is <strong>the</strong> particular set of stimulus-response correspondences, while <strong>the</strong><br />
operating system is <strong>the</strong> endless cycling through Turing steps A, B, <strong>and</strong> C. Fur<strong>the</strong>rmore, a<br />
Turing machine input is a string of symbols on <strong>the</strong> tape, <strong>and</strong> an output is any resulting pattern<br />
of symbols that appears on <strong>the</strong> tape at a later times.<br />
The rudimentary quality of Turing machines makes it possible both to reason about<br />
<strong>the</strong>ir abstract capabilities, <strong>and</strong> to carry out exhaustive searches to find certain kinds of<br />
interesting Turing machines. The drawback is that not many interesting computations would<br />
be practically feasible <strong>for</strong> Turing machines, were we to actually build <strong>the</strong>m. The Turing<br />
machine hardware is too simple <strong>and</strong> <strong>the</strong> expressiveness of <strong>the</strong> Turing machine software<br />
language is too limited. There’s a good reason why Dell <strong>and</strong> Intel don’t market Turing<br />
machines. Instead <strong>the</strong>y market real computers.<br />
***<br />
Older, clunkier version.<br />
In his 1936 paper, “On Computable Numbers,” <strong>the</strong> British ma<strong>the</strong>matician Alan<br />
Turing carried out a penetrating analysis of what makes a possible computation in <strong>the</strong> style of<br />
pencil-<strong>and</strong>-paper arithmetic. Recalling <strong>the</strong> old-style elementary school ma<strong>the</strong>matics drill<br />
paper ruled into squares, he suggested that we can think of arithmetic as a process of reading,<br />
writing, <strong>and</strong> occasionally erasing <strong>and</strong> changing <strong>the</strong> symbols in an array of squares. Turing<br />
refers to <strong>the</strong> squares as cells — not in <strong>the</strong> sense of living cells, but in <strong>the</strong> sense of spreadsheet<br />
cells.<br />
Next Turing suggested that we ought to be able to build a simple kind of machine to<br />
carry out this kind of computation — <strong>the</strong>se are what we now call Turing machines.<br />
Turing made his machines as simple as possible. He supposed that one of his Turing<br />
machines would have a read-write head which also remembers <strong>the</strong> machine’s current internal<br />
state. He specified that each machine would have only some finite number N of states — <strong>the</strong><br />
higher <strong>the</strong> N you use, <strong>the</strong> “smarter” <strong>the</strong> machine.<br />
As a fur<strong>the</strong>r simplification, Turing proposed that his machines could get by with a<br />
narrow tape of paper, a long row of cells. You could, <strong>for</strong> instance, have <strong>the</strong> tape act<br />
something like two-dimensional paper by using extra symbols [ <strong>and</strong> ] to mark <strong>the</strong> starts <strong>and</strong><br />
ends of rows. Thus, at <strong>the</strong> beginning of computing <strong>the</strong> sum we mentioned above <strong>the</strong> tape<br />
might look like <strong>the</strong> following.<br />
[ 2 7 5 ] [ 4 8 4 ] [ ]<br />
If we set <strong>the</strong> adding machine’s head down to <strong>the</strong> left of <strong>the</strong> first [, its course of action<br />
might go like <strong>the</strong> following, with <strong>the</strong> machine using internal states to remember which task it<br />
was doing <strong>and</strong> which digits it was moving around.<br />
“Move right to <strong>the</strong> first ], go left one cell <strong>and</strong> read 5. Remember <strong>the</strong> 5 (by using an<br />
internal state) <strong>and</strong> move right to <strong>the</strong> second ], go left one cell <strong>and</strong> read 4. Add <strong>the</strong><br />
remembered 5 to <strong>the</strong> 4 <strong>and</strong> get 9. Then move right to <strong>the</strong> second ], erase <strong>the</strong> ], write 9 in this<br />
p. 52