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