DOCUMENTATION / ARTIFICIAL LIFE

Chip Archipelago.

Bodies and microfluidic chips evolving together (POET), against direct optimization.

Open the experiment

What the page shows

Soft bodies and microfluidic chips evolving together. A chip is a channel with its own widths, pillars, a current along it, vortices and sticky or slippery zones; a body is a soft body of skin, muscle and cilia. The body’s score is how far along the channel it gets, from 0 at the inlet to 1 at the outlet.

Chip view
One chip with a body running from the inlet on the left. Gray: walls and pillars; amber: sticky zones; blue: slippery ones. The readout shows the chip's origin, live progress and the recorded score.
The archipelago
Every chip a run created, by iteration. A lifeline runs from a chip's creation to its retirement; dashed lines join a chip to its parent; arrows are transfers, where a body moved into another chip because it beat the resident. The selected chip's curriculum is drawn in blue.
Curriculum
The chain of chips (and any transfers) that led to the selected chip.
As a real chip
The chip's approximate real dimensions, flows and zones.
POET vs. direct optimization
A table of every seed, and a chip-by-chip plot for the selected seed: POET's resident (blue), a body optimized directly on the same chip (amber) and the untrained first body (hollow).

How to use it

Run (seed buttons)
Choose one of the research runs. Seeds 24–26 are the longer full-profile runs.
Body: resident / optimized directly
Watch POET's resident or the directly optimized body on the selected chip. “Swap in chip” runs another chip’s resident on this chip instead.
Speed / Replay / Copy share link
Playback speed, restart the run, or link to this exact chip and body.
Archipelago thumbnails
Click any chip to run it. Faded chips were retired before the end.
Table rows / chip plot rows
Click to select a seed or a chip; hover the plot for exact values.

Try this: open seed 9, chip 9, where POET’s resident gets 0.88 of the way and the directly optimized body 0.15, and follow its curriculum back to the first chip. Then open seed 15, where direct optimization won on every final chip.

Background and theory

Stepping stones

Can a hard problem be solved by going through easier ones first? Training directly on a hard task can stall, because nothing nearby scores better; a curriculum of intermediate tasks can provide a path. The question here is whether that applies to biobots: would a body trained through a series of chips do better on a hard chip than one trained on it directly?

POET

POET (Paired Open-Ended Trailblazer, Wang and colleagues, 2019) keeps a population of environment–agent pairs. Each agent is optimized in its own environment. Every few iterations, environments mutate into new ones, and a child is kept only if it is neither too easy nor too hard for current agents (the minimal criterion) and is novel compared with every environment seen so far. Agents are also tried in other environments and move in when they beat the resident: a transfer. In the paper, walking robots trained this way solved obstacle courses that direct optimization couldn’t.

This version

  • The paper’s optimizer barely moved here, because a body’s tissue map changes in jumps. Instead, each iteration a body makes 16 random variants with step sizes from small to large, and the best replaces it if it does better.
  • Each search starts from the best of 16 random bodies, and a body still short of the reproduction threshold after 30 iterations is replaced. Both fixes apply to POET and the control alike.
  • The control: after POET finishes, a fresh body is optimized directly on each final chip for the same number of iterations. The comparison is POET’s resident against that body, chip by chip.
  • The same simulation runs in the browser (WebGPU) and the research code (JAX), checked against each other.

Methods

Bodies and chips

  • Bodies are the Morphospace Atlas’s soft bodies: an 8 × 8 voxel grid of passive, contractile and ciliated tissue, encoded by its 215-gene CPPN, with the same springs, muscle, cilia and anisotropic drag.
  • A chip is a channel along a polyline of up to 6 segments, each with its own half-width (constrictions and bends). It can also have up to 8 round pillars; a current along the channel with the parabolic profile of channel flow; up to 4 vortices; and up to 4 zones where drag is scaled up (sticky) or down (slippery). It packs into 96 numbers, which is what mutation acts on.
  • Walls and pillars push masses back with a soft contact force along the gradient of the distance to the nearest wall. The flow and drag are evaluated per mass, so a body straddling a zone feels both.
  • Score: the furthest progress of the body’s centroid along the channel’s centerline, from 0 at the inlet to 1 at the outlet. Bodies start near the inlet (about 0.1), facing downstream. It is sampled 15 times in a 15-second rollout (20 in 20 seconds for the full profile), and a chip is solved at 0.9.
  • Real units are approximate: an 8 × 8 body stands for a xenobot about 0.6 mm across, so one simulation unit is about 1.5 mm and one unit per second about 1.5 mm/s.

The optimizer

An elitist (1 + λ) evolution strategy: each iteration, λ = 16 Gaussian perturbations of the resident genome, and the best replaces the resident if it scores higher. Each offspring draws its step size log-uniformly from [0.03, 0.45]: large steps find a working body from scratch, small ones refine a good one. The simulation is deterministic, so keeping the best is safe. Alternatives were tried and dropped:

  • OpenAI-ES, the paper’s optimizer, gets no usable gradient, because decoding takes an argmax per voxel and the score is a patchwork of flat steps.
  • A fixed step of 0.3 left good bodies stuck: in 215 dimensions almost every large step breaks them.
  • The 1/5 success rule shrank the step after every failed generation and stalled bodies from scratch.

The POET loop

  • Starts from one pair: an easy first chip and a body chosen as the best of 16 random genomes on it.
  • New chips, every 10 iterations: pairs scoring at least 0.35 may reproduce. 12 candidate children are made by mutation: move, add or remove a waypoint; change a width; add, move or remove pillars, vortices and zones; change the current.
    • Each child is tried with every current body and passes the minimal criterion if the best of them scores between 0.2 and 0.9: neither impossible nor already solved.
    • Passing children are ranked by novelty, the mean distance to the 5 nearest chips ever admitted, over an 8-number descriptor: length, mean and narrowest width, total bending, pillar area, current, vortex strength, and zone strength.
    • The 2 most novel join, with the best body as resident.
    • Past 6 pairs, the oldest retire.
  • Transfers, every 10 iterations: every body is tried in every other chip and moves in if it beats the resident by more than 0.02. The paper’s fine-tuning (“proposal”) transfer is left out.
  • Restarts: while no chip has been made, a first body still below 0.35 every 30 iterations is replaced by a new screened body.
  • Quick profile: 80 iterations. Full profile: 300 iterations, 24 offspring, up to 12 pairs, 24 candidates and 3 children.

The control and the comparison

  • For each chip still active at the end, a fresh body (best of 16 random genomes) is optimized directly on it with the same strategy for as many iterations as the whole POET run, with the same restart rule. Every POET lineage had at most that many iterations, so the control matches iterations per chip. It does not match total rollouts, since POET also spends rollouts on other chips and transfers.
  • Per seed: POET’s mean best progress over the final chips, minus the control’s. The gain is summarized by its mean ± standard error over seeds, a t statistic and a sign test. Also reported: chips each side does better on or solves, and each final chip’s curriculum (its chain of ancestor chips and the transfers into its pair).
  • “Untrained” is the first screened body’s score on a chip, a rough measure of how hard the chip is.

Seed sets and pre-registration

  • Seeds 0–11 (development): screening and restarts were added after early runs stalled, while looking at these seeds.
  • Seeds 12–23 (fresh): the same code and settings, unchanged, on seeds never used while developing.
  • Seeds 24–26 (full-profile pilot): pre-registered before any run. The rule: if POET is ahead on all three seeds with a mean gain of at least +0.10, run 12 more full seeds as the real test; otherwise stop. Nothing was changed between seeds.
  • Replays on the page use an independent implementation of the same physics and land within about 0.03 of the recorded progress.

Results and what they mean

No clear advantage at this scale. The result came in three stages, and the stages are the lesson.

Seeds 0–11 (development)
POET ahead on 10 of 12, mean gain +0.12 ± 0.04 in progress. But the method was adjusted while looking at these seeds.
Seeds 12–23 (fresh)
Run afterwards with nothing changed: POET ahead on 6 of 12, mean gain −0.02 ± 0.05.
Seeds 24–26 (full profile)
A pre-registered test of longer runs (300 iterations, 12 chips at a time): gains of −0.00, +0.06 and +0.02. It needed POET ahead on all three with a mean of at least +0.10, and failed.

Over all 24 short runs the gain is +0.05 ± 0.03, which could easily be chance. The clear early result was an example of how a method tuned on a set of runs can look better on them than it is. See Reading the results for why fresh seeds and pre-registration matter.

What does hold up:

  • POET builds real curricula: chains of up to 9 chips in the short runs and up to 18 in the long ones.
  • On some chips the stepping stones matter a lot: over the 143 final chips of the short runs, POET was ahead by more than 0.3 on 25 and behind by that much on 12. The long runs made longer curricula but no gaps that large either way.

What it means: curricula can help on particular chips, but at this scale they don’t reliably beat optimizing directly. In the original paper, the gap appeared on environments that direct optimization couldn’t solve at all; here most final chips were within reach of direct optimization.

Limits and open questions

  • Bodies are 2D abstractions of tissue, and the flow is a prescribed field rather than solved fluid dynamics.
  • Chip sizes are approximate (one simulation unit is about 1.5 mm), not a fabrication-ready design.
  • Runs are short by the paper’s standards: 80 or 300 iterations, where the paper ran thousands.
  • The control matches iterations per chip, not total compute; POET also spends effort on other chips and transfers.
  • The open question is chips that start out of reach of direct optimization, where the paper found its gap.