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 />

<strong>the</strong> wall, or if (oh no!) <strong>the</strong>re’s a sudden power outage. In this event you might end up with<br />

half <strong>the</strong> old microcode <strong>and</strong> half <strong>the</strong> new microcode, <strong>and</strong> <strong>the</strong> two will no doubt be<br />

incompatible <strong>and</strong> your machine won’t run at all. At this point, you’d call on <strong>the</strong> services of<br />

an ueber-geek to reflash <strong>the</strong> BIOS from scratch.<br />

The instructions that <strong>the</strong> chip reads out of <strong>the</strong> memory are called machine language.<br />

Everything is a Program<br />

Philosophical ontology <strong>and</strong> computer science's Object Oriented Programming (OO)<br />

as in C++ or Java.<br />

Everything is ma<strong>the</strong>matics Everything is a set Everything is an object.<br />

Objects are better than sets, as <strong>the</strong>y have function pointers, <strong>the</strong>y are a verb as well as<br />

a noun.<br />

An interesting thing about OO (object-oriented) languages is how <strong>the</strong>y are like set<br />

<strong>the</strong>ory. We build up class definitions from <strong>the</strong> primitive byte variables (of various st<strong>and</strong>ard<br />

lengths, recall that a floating point real is just four(?) bytes, <strong>for</strong> instance) like <strong>the</strong> way set<br />

<strong>the</strong>orists build up all of ma<strong>the</strong>matics from commas <strong>and</strong> pairs of brackets. Objects are even<br />

better than sets, though, as <strong>the</strong>y contain function pointers <strong>and</strong> corresponding blocks of code,<br />

that’s a cool thing about <strong>the</strong> von Neumann architecture is that we have instruction pointer<br />

<strong>and</strong> data pointer, so we crawls over both data <strong>and</strong> code.<br />

Software engineering. Teaches us to look <strong>for</strong> patterns in our lives.<br />

Activator-Inhibitor CA Rule<br />

My rules have a definition of <strong>the</strong> following <strong>for</strong>m, where I write a <strong>and</strong> b <strong>for</strong> activator<br />

<strong>and</strong> inhibitor levels.<br />

(Avoid division by 0) IF (b > bMin) THEN bSafe = b ELSE bSafe = bMin.<br />

(Activator) aNew = a + aDiffuse • (aNabeAvg - a)<br />

+ sDensity•a•a/(bSafe • (1 + aSaturation•a•a))<br />

+ sDensity • aBase<br />

- aDecay • a.<br />

(Inhibitor) bNew = b + bDiffuse • (bNabeAvg - b)<br />

+ sDensity•a•a<br />

- bDecay • b.<br />

(Clamp) Clamp both a <strong>and</strong> b to be in <strong>the</strong> range [0, abMax].<br />

Kaneko-Abraham Rule<br />

Their idea was to combine diffusion <strong>and</strong> <strong>the</strong> logistic maps as follows. Suppose I<br />

write pop <strong>for</strong> a cell’s current population value, <strong>and</strong> newpop <strong>for</strong> <strong>the</strong> new value that I want to<br />

compute. At each update each cell computes a diffusion term <strong>and</strong> a poplogistic term based<br />

on a logistic parameter A <strong>and</strong> a diffusion parameter B. The parameters A <strong>and</strong> B are <strong>the</strong> same<br />

<strong>for</strong> each cell.<br />

diffusion = B•(Average of neighboring population values - pop)<br />

poplogistic = Logistic(A, pop)<br />

newpop = poplogistic + diffusion<br />

p. 61

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

Saved successfully!

Ooh no, something went wrong!