17.06.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!