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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<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 />
spot, move one cell to <strong>the</strong> right <strong>and</strong> write ]. Now remember that you’re working on <strong>the</strong><br />
second column from <strong>the</strong> right. Move left to <strong>the</strong> first ], move right two digits (<strong>for</strong> “second<br />
column”), <strong>and</strong> read 7. Remember <strong>the</strong> 7 <strong>and</strong> move right to <strong>the</strong> second ], etc.”<br />
Eventually you’d could end up with <strong>the</strong> head back to <strong>the</strong> left of <strong>the</strong> first [, in an “I’m<br />
finished” state, with <strong>the</strong> tape looking like this.<br />
[ 2 7 5 ] [ 4 8 4 ] [ 7 5 9 ]<br />
So that’s more or less how a one-dimensional tape would work.<br />
We think of a Turing machine as having internal states 0, 1, 2, ... ,N <strong>for</strong> some finite N.<br />
We’ll use state 1 as <strong>the</strong> starting state, <strong>and</strong> state 0 as <strong>the</strong> “halted” state. Once <strong>the</strong> machine<br />
enters state 0, it doesn’t do anything else.<br />
A Turing machine has an inexhaustibly long tape divided into cells. The head is<br />
always at some specific position on <strong>the</strong> tape, <strong>and</strong> we call this spot <strong>the</strong> active cell. To begin a<br />
computation, you mark some symbols into <strong>the</strong> tape cells, <strong>and</strong> set <strong>the</strong> machine’s head to <strong>the</strong><br />
left-most marked cell in state 1.<br />
The Turing machine’s computation consists of <strong>the</strong> following steps, repeated over <strong>and</strong><br />
over<br />
(TM-1) The machine reads <strong>the</strong> symbol that is in <strong>the</strong> active cell. It combines <strong>the</strong> read<br />
symbol with its current state to make an input In that consists of a pair .<br />
(TM-2) Given <strong>the</strong> input pair In = , <strong>the</strong> machine looks<br />
in its program code to locate a corresponding output triple Out = .<br />
(TM-3) On <strong>the</strong> basis of <strong>the</strong> output Out, <strong>the</strong> machine writes a symbol in <strong>the</strong> active cell,<br />
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 state<br />
between 1 <strong>and</strong> n. And <strong>the</strong>n <strong>the</strong> machine returns to step (TM-1).<br />
Footnote on Turing Machine States<br />
One additional point needs to be made regarding Turing machines <strong>and</strong> my general<br />
definition of a computation. In my definition, <strong>the</strong> computing system is viewed as an integral<br />
whole, with <strong>the</strong> outputs simply being states of <strong>the</strong> whole system. But Turing machines are<br />
described as having both an internal state <strong>and</strong> a “tape state” which consists of <strong>the</strong> current<br />
pattern of symbols on <strong>the</strong> machine’s tape. But I can make Turing machines fit my general<br />
definition by viewing a Turing machine as having a full state which consists of an pair. Suppose that a Turing machine M has a special start state S <strong>and</strong> a halt<br />
state H. If tapein is some tape pattern you want to compute on, you are really computing<br />
M(). You are checking <strong>for</strong> <strong>the</strong> halt condition by applying an IsMHalted test such<br />
that IsMHalted() just checks if internalstate is H.<br />
Beige Box Details<br />
The memory, often called RAM <strong>for</strong> “r<strong>and</strong>om access memory” can be imagined as a<br />
long ribbon of cells. The PC’s memory cells hold so-called words of memory. Here “word”<br />
does not mean “meaningful language unit,” it simply means a particular fixed number of bits,<br />
say, where a bit is of course a simple 0 or 1. In <strong>the</strong> 1980s a word was sixteen bits, <strong>the</strong>n it<br />
became thirty-two bits, <strong>and</strong> in <strong>the</strong> 2000s it began phasing into sixty-four bits.<br />
The memory addresses run from zero on through <strong>the</strong> thous<strong>and</strong>s, millions <strong>and</strong> billions,<br />
p. 53