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

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

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

Saved successfully!

Ooh no, something went wrong!