DOCUMENTATION / ARTIFICIAL LIFE
Biobot Tierra.
Four invented ways for replicating bots to inherit, and which comes closest to evolving.
Open the experimentWhat the page shows
Four dishes side by side. In each, bots sweep loose cells into piles; a compact pile left alone hatches a new bot, and old bots fall apart back into cells. All four dishes start identically and differ only in how offspring inherit from their parents, the heredity channel.
- Dish header
- The channel, simulated time, bots alive, total born and the deepest generation.
- Family tree
- Above each dish: every bot is a line from birth (bottom) to death, joined to its parent and colored by its color marker. Click a bot or a line to trace its ancestry.
- Result charts
- Lower on the page: how each gene changed over the research runs, how many bots stayed alive, and a summary table for every channel.
How to use it
- Heredity channel
- Above each dish: Control, Mold, Imprint or Carry-over. Changing one restarts all four dishes.
- Mutation
- The typical change in a trait (on a 0–255 scale) each time it is inherited, or none.
- Loose cells
- How much raw material each dish has.
- Lifespan
- How long a bot lives before falling apart, in simulated seconds.
- Speed
- Simulation speed; max runs as fast as your device allows. Each dish runs on its own processor core.
- Pause / Restart / New seed
- Pause, start over with the same seed, or start over with a new one.
- One dish per channel
- Reset the four dishes to one of each channel.
- Share link
- The same seed and settings reproduce the same births and deaths, step for step.
Try this: run at maximum speed and watch the color markers in each family tree. In the Control dish colors mix at random. In the Imprint dish, a single color often takes over: a lineage winning, by selection or by luck.
Background and theory
Why heredity matters
Darwinian evolution needs three things: variation, differential reproduction (some individuals leave more offspring) and heredity (offspring resemble their parents). Xenobots replicate kinematically, gathering loose cells into piles that mature into new xenobots, but the piles round up into spheres whatever their builder looked like. With nothing inherited, there is no natural selection: a built-in safety brake. The Replication Arena shows the replication itself.
The arena and the genes
Bots live on a 128 × 128 lattice of loose cells. Each has five genes, each from 0 to 255: mouth, size, speed, turning bias, and a color marker that does nothing except make lineages visible. Because the marker has no effect, how far it drifts is a measure of chance alone.
The four channels
- Control
- No heredity, as in the lab: offspring hatch as default spheres with random behavior.
- Mold
- The pile's shape templates the offspring: it copies the shape of the bot that built most of the pile.
- Imprint
- A bioelectric-style imprint: the offspring copies the behavior of the bot that last worked the pile.
- Carry-over
- Cells remember the bot they came from, and the offspring takes the average genome of its pile's cells.
All four are invented; none has been seen in xenobots.
Measuring evolution
Evolution is judged against the no-heredity control, with standard measures:
- Heritability: the slope of offspring trait against parent trait (1 is an exact copy, 0 is nothing passed on).
- Response: how much a trait moved over the run, compared with the dish’s own founders.
- Productivity: births in the last third of the run, which show whether a dish became better at replicating.
- Evolutionary activity (Bedau and Packard): trait combinations that persist longer than they would by chance, counted as “lasting genotypes”.
The name comes from Tierra, Thomas Ray’s 1991 artificial life system, in which self-copying computer programs evolved in a virtual computer.
Methods
An exact, integer model
Evolving the Replication Arena for many generations needs something far cheaper than tens of thousands of particles. So here the dish is a lattice of cell counts, bots move in fixed point, and every quantity is an integer, with random numbers from a counter-based hash of (seed, step, site or bot). A run is a deterministic function of its seed. The page’s live dishes use an independent implementation that matches the research code exactly, birth for birth and death for death; a check compares every birth, death and living bot over 1,200 busy steps in each channel.
The lattice and the bots
- A 128 × 128 lattice with a circular dish of radius 62 sites. Each site holds a count of loose cells, their mean genome (rounded), and the bot that last pushed cells into it, with the step it did so.
- A genome is five integers from 0 to 255. Mouth sets a wedge half-angle (0 to about 70°); size a radius of 3–6 sites; speed v = 40 + 60 g / 255 (rounded), so 40–100 in 1/256 of a site per step (about 3–8 sites per second); turn a steady change of heading per step; color does nothing.
- Each step (20 to a simulated second), a bot turns by its bias plus jitter, reverses about once every 200 steps (run and tumble), and moves. A move that would leave the dish, or bring two bots closer while they overlap, is undone and the bot turned around.
- Sweeping: every site under a bot moves its cells one lattice step: forward inside the mouth and at the center, elsewhere toward the body’s nearest edge. The step is dithered (each axis moves with probability equal to that component of the direction), so on average cells move along the true direction.
- Loose cells drift to a random neighbor, less so when the neighbors are crowded (stickiness, which holds piles together), and any excess over a packing cap spills to the four neighbors.
Piles, hatching and death
- Every 10 steps a site is dense when its 3 × 3 sum is clearly above the loose background. Plowed ridges are as dense as piles but thin, so a pile grows only from core sites, whose whole 7 × 7 neighborhood is dense. Core groups join 4-connected and claim the dense sites near them.
- A pile is a candidate if it has at least the hatch mass (600 cells), is compact (at least 0.65) and has no bot near it. A candidate that holds for 60 steps (3 seconds) hatches: its cells become the new bot’s mass.
- Bots die after a lifespan drawn within ±25% of the mean (2,400 steps by default), and their mass scatters as loose cells over a disk of radius 12, carrying their genome. Total material is conserved exactly.
- Who is who: each pile records its builder (the bot that pushed most of its cells) and its last toucher. The recorded parent is the bot whose traits were copied: the last toucher under imprint, otherwise the builder, including in the control, so every dish has a family tree and only what passes down it changes.
Heredity and mutation
- Control
- A sphere (mouth 0, size 128) with random speed, turn and color.
- Mold
- Mouth, size and color from the builder; speed and turn random.
- Imprint
- Speed, turn and color from the last toucher; the body is a sphere.
- Carry-over
- Every trait from the mean genome of the cells the pile is made of (blending).
- Mutation
- Each inherited trait z becomes clip(z + ε, 0, 255), with ε = (u − 510) · m / 148 rounded, where u is the sum of four random bytes (mean 510, sd about 148) and m is the mutation size: unbiased and roughly Gaussian with sd about m. Sizes 4, 16 and 48 were run.
The sweep
Mold, imprint and carry-over at mutation sizes 4, 16 and 48, 16 seeds each, plus 32 control dishes: 176 dishes, each 200,000 steps (about 2.8 simulated hours) from 8 founders on 40,000 loose cells. Every condition with a given seed starts from the same founders and lattice, so comparisons within a seed are paired. Every birth (slot, step, parent, builder, toucher, generation, mass, position, genome) and every death is logged, and the measures are computed from those logs.
Measures
- Heritability: the least-squares slope of offspring trait on parent trait, b = Cov(offspring, parent) / Var(parent). Bots are asexual, so the slope estimates h² directly. For fitness (offspring count), the same slope among bots whose lives are complete, after subtracting the mean count of bots born in the same window, so a dish-wide boom or bust doesn’t read as heritable. The control must show none; its trait heritabilities are 0.00–0.02.
- Response: a trait’s mean over births in the last third of the run minus the mean of that dish’s own founders. An earlier version used the expected 127.5 as the baseline; with 8 founders the sample mean is typically about 26 away from it, so founder sampling leaked into the response. The paired diagnostic speed minus marker subtracts the neutral color’s response in the same dish (left out for carry-over, whose material pulls the marker).
- Productivity: births in the last third, which don’t depend on who is credited as the parent.
- Evolutionary activity (Bedau and Packard): genotypes are each trait cut into four bands. A genotype accumulates activity for every step a bot of it is alive, and counts as adaptive when its activity beats the 95th percentile of the control’s at the same mutation size.
- Statistics: means ± standard errors over dishes; conditions compared with the control, or paired by seed. See Reading the results.
Calibration: the mouth
In mixed populations the selection gradient (offspring per standard deviation of a trait, about 250 bots) was significant on speed and size and neutral on the mouth and the marker. To restore the Pac-Man advantage seen in the lab, a sweep tried 16 arena settings on 6 seeds each. Its best setting (hatch mass 900, reversals every 60 steps) doubled the Pac-Men’s hatches over the spheres’, but on 16 fresh seeds it gave 0.88×: the win was selection noise. The defaults were kept.
Follow-up study
A follow-up re-examined the sweep and tested the imprint result in larger populations. Everything after the Price decomposition ran in the research dish below, at 200,000 steps; the page’s live dishes keep the original settings. Its methods:
- Run-down diagnosis. Read-only bookkeeping of every pile at every scan (too small, not compact, bot nearby, maturing, hatched), with snapshots of where the material is. It found dead bots’ releases re-hatching as ever-larger bots.
- A dish that holds a population. A hatch cap (a pile hatches with exactly the hatch mass, an equal share of each site, and leaves the rest loose), 100,000 cells and a lifespan of 4,800 steps, chosen from a grid of supply × lifespan × release radius. It holds about 39 bots steadily, with about 165 effective parents per tenth of a run.
- Price decomposition. For each cohort (the founders and five windows of later births), the change in mean trait from parents to offspring is split exactly into selection, Cov(w, z) / w̄, and transmission, E(w Δz) / w̄. It is computed under three choices of parent (builder, last toucher, recorded parent), since the split depends on the choice.
- Copying rules. Two research-only variants of imprint copy from a random one of the pile’s touchers, or from its builder, which separates being the last to touch from building.
- Competition assay. Eight late-run bots and eight founder-like bots (same body, random behavior), or eight bots matched to the late bots’ speed, start together in a fresh dish. The measure is the late bots’ share of the founders’ direct offspring, over 16 replicates.
- A cost of speed. Lifespan shortened in proportion to the speed gene, lifespan × (1 − c · speed / 255) with c = 0.25, 0.5 or 0.75 (so up to 25%, 50% or 75% at the top speed), as a dial on selection strength.
- A pre-registered rerun. Conditions, windows, tests and thresholds fixed before any dish ran: 16 fresh seeds plus 8 for replication, each condition paired by seed with the control, t ≥ 2.6 (about one-sided p < 0.05 after a Bonferroni correction for four tests). One amendment, to the windows, was recorded before any result.
- The rerun’s tests. S1, the slope of mean newborn speed per tenth over tenths 2–5; S2, the Price change of the cohort born at steps 40,000–80,000; S3 (imprint-builder only), the late bots’ share of offspring in the assay, against 0.5. Each is paired by seed with the control. Confirmed means S1 and S2 pass, and S3 for imprint-builder.
- A phase diagram. Imprint-builder in the research dish, 8 fresh seeds per cell, in two slices: mutation size 0, 8, 16, 48 or 128 × cell supply 30,000, 40,000, 60,000, 80,000 or 100,000; and the same supplies × speed cost 0, 250, 500 or 750 ‰ at mutation 16. A control at each supply (360 dishes). Each cell, paired by seed with its supply’s control, is scored separately on: the shift (newborn speed against own founders over tenths 1–3); sustained change (the slope over tenths 4–10); the assay (late against founder-like bots in the cell’s own dish, 8 replicates of 40,000 steps); and persistence and bimodality of late speeds (coefficient above 0.555). Passes at t ≥ 2.6. The heuristic N × s × h (bots alive over tenths 1–3, the selection gradient on speed per sd, and the offspring-on-parent slope) is compared with the outcomes.
Results and what they mean
In short: inheritance plus selection gives a fast adaptive shift, by sorting the founders’ variation, which then holds. Nothing accumulates after it in any setting tried.
The original sweep
Each channel at three mutation sizes in 16 dishes for 200,000 steps (about 2.8 simulated hours, up to 70 generations), against 32 control dishes, whose traits show no heritability, as they should. Responses are measured against each dish’s own founders.
- Imprinting shifts the population early, then stops. At mutation size 16, bots born late were 53 ± 15 faster than their dish’s founders, and its dishes stayed more productive than the control (41 ± 20 more births late in the run). Most of the rise is there in the first generation (+34 ± 9, all mutation sizes), and speed stays roughly flat after it.
- Populations were tiny: 2 to 6 bots alive on average, falling to about 2, in every channel including the control.
- Copying isn’t enough. Mold copies shape almost exactly (heritability above 0.8), but shape barely affects how many piles a bot builds here, so the copies add only drift and harmful mutations: mold dishes do worse than the control.
- Blending removes variation, not transmission. Carry-over offspring follow their pile’s mean genome closely (slope 0.90–1.01 per trait at mutation 4, 0.53–0.90 at 16), but pile means vary little (sd 7–15, against about 68 among founders: variance 20 to 90 times smaller), so offspring are alike: the objection Fleeming Jenkin raised against Darwin in 1867. The recorded parent, the builder, predicts almost nothing (slope 0.0–0.1), which is why the original page’s heritability of 0.13 misled. The dish’s starting cells carry a default genome (speed 128, color 0), so carry-over offspring are also pulled toward it, and even its color marker moves.
- The speed-minus-marker check was under two standard errors (25 ± 16 overall), and the nine conditions share founders, so they aren’t independent tests.
The follow-up
- Why populations ran down. A dead bot’s cells formed a compact pile that hatched again as a larger bot, so mass collected in ever fewer, larger bots. The hatch cap fixes it; the research dish holds about 39 bots.
- The early shift is selection. Imprint’s founders’ cohort at mutation 16 (original sweep, recorded parent): change +37.2 ± 15.5, of which selection +39.4 ± 14.6 and transmission −2.2 ± 3.4. Later cohorts: change −0.0 ± 0.5. At mutation 48, selection continues and mutation takes it back (a selection–mutation balance, strongest near the trait’s clipped ends). Read through the builder instead, the same births show mostly transmission: the split depends on the ancestry.
- Copying the builder responds more. In the research dish, newborn speed rises about +75 above founders under imprint-builder and +45 under imprint, which copies the last toucher (not the builder in 65–69% of births).
- The assay: an adaptation, and it is speed. Late imprint-builder bots take 0.60 ± 0.03 of the offspring against founder-like bots (0.58 ± 0.02 in the rerun), but 0.46 ± 0.04 against founder-like bots given their speed. Under imprint, 0.52 ± 0.03. Dishes of either group alone make the same number of births: the advantage is competitive, not productive.
- A cost of speed turns net selection from positive (250 ‰, for imprint-builder) through near zero (500 ‰, dishes wander widely) to negative (750 ‰). No coexisting slow and fast types appeared: late speed distributions stay unimodal.
- The pre-registered rerun: not confirmed for either rule. S1: +2.7 ± 3.4 (imprint) and +2.8 ± 3.0 (imprint-builder), t below 1. S2: +0.05 ± 0.58 and −0.06 ± 0.66. S3 (imprint-builder): 0.58 ± 0.02, t 3.9, a pass. The replication block agrees. Speed rises over about three tenths and then holds; speed minus marker is +86 under both rules.
- The phase diagram is mostly one phase. From 40,000 cells up (13–39 bots), the shift passes in all 24 cells at costs 0 and 250, at about the same size across populations. Sustained change passes in 1 of 40 cells (60,000 cells at cost 250 ‰, t 2.9), about what chance gives: with 8 paired seeds, a false pass at t ≥ 2.6 has probability about 0.018, so about 0.7 are expected in 40 cells (fewer than 40 independent tests, since cells share controls). The edges: at 30,000 cells nothing persists (the control has about 2 bots); a cost of 500 ‰ halves the shift and 750 ‰ reverses it; mutation 128 halves it. Mutation 0 shifts as much as mutation 8–48 (+39 to +66), with one founder’s speed fixed in every dish, so the response is sorting of standing variation. The assay passes in 10 cells, with shares above 0.5 in 23 of the 24 populated cells at costs 0 and 250. Bimodal late speeds are commonest at mutation 48–128 (4–8 of 8 dishes), where clipping piles speeds at the ends; elsewhere 0–5 of 8, which skew against the trait’s bound can also produce. N × s × h tracks the cost axis (r 0.95) but not the mutation axis (r −0.25), since mutation inflates the sd that s is measured in.
What it means: heredity and selection are both present and produce real adaptation, but once. The founders’ variation is sorted and the population holds, in every setting tried. Continuing change would need something the arena doesn’t offer, such as traits whose improvement keeps paying, or a changing environment. These are properties of the model, not thresholds for real xenobots.
Limits and open questions
- Every heredity channel is invented.
- Bots are simple 2D agents on a lattice, and cells are counts per site.
- A pile hatches by rule (enough cells, compact, untouched for 3 seconds); real piles take days.
- Bots live a fixed lifespan (2 minutes by default); real xenobots last days to weeks.
- The follow-up’s population range is narrow: on the 128 × 128 lattice, from about 2 to about 39 bots. Larger populations need a larger lattice.
- Runs are 200,000 steps (about 75 generations in the research dish); longer runs weren’t tried.
- In this coarse lattice, Pac-Man shapes don’t out-replicate spheres as they do in the lab and in the Replication Arena: a search of 16 arena settings found no robust advantage, so size and speed matter here, not the mouth.