phasecyte — skills absorbed in one pass, no gradients

Both agents below face the same unseen survival world. The phasecyte nest (left) absorbed five skills — warm / flee / hydrate / forage / evade — by watching each skill master once: a single streaming pass per skill, no gradients, no replay buffer, ~15 seconds of CPU. A recognition router picks the skill each tick (shown live in the title bar). The DQN (right) trained for 300 episodes of reinforcement learning — and is the larger model: 27,270 parameters vs the nest's 19,383 (router + five leaves, 1.4× smaller).

Side-by-side survival duel: phasecyte nest vs DQN
● food ▼ water ▲ fire ◆ berry ✚ poison ○ agent ✖ predator speed:

How to read the duel

A 12×12 toroidal tile world with a 20-tick day/night cycle. The agent moves N/S/E/W, consumes the tile it stands on, or rests. Nights are cold; fire is the only heat source — and also a hazard. A slow predator wanders the map (it moves every 4th tick; contact chips integrity). An episode ends at 300 ticks or at the agent's death. The four bars are the agent's drives, and each has a lethal condition:

barrestored bylethal when
energy eating food ● / berries ◆empty (0) — starvation
thirst drinking water ▼empty (0) — dehydration
integrity nothing — only avoid fire ▲, poison ✚, predator ✖ empty (0)
temp a homeostat: fire warms, night cools; setpoint 0.5 (the dotted line) either end — empty freezes, full cooks. The bar turns red near a lethal bound.

So an agent that dies "with its bars full" almost always hit a temperature bound — the classic flat-policy failure: it learns "fire = survival at night," camps it, and cooks. Warming is a sign-flip skill (approach fire when cold, retreat when warm), which the nest carries as two separate leaves — WARM seeks, FLEE cools — with the router doing the flip.

Survival distributions — the same 40 held-out maps for all three

agenttrainingmeanmedian per-map σworstdead ≤20 reach t≥67
flat DQN300 episodes of TD 34.93815.011 10 / 401 / 40
phasecyte wake-nest one gradient-free pass per skill (~1 min) 50.04312.718 1 / 408 / 40
+ overnight dream offline, self-generated pseudo-data only 54.457.512.8 191 / 40 16 / 40

The distributions say more than the means. The DQN's modal death is t = 13 — it dies in the first minute on a quarter of maps (the fire-exploration trap); the nests hit that regime once in forty, worst case 18. Deaths cluster at the day/night boundaries (t = 43 and 67 with a 20-tick day): the wake nest piles up at nightfall of day two, and dreaming moves 8 more maps through a full extra day/night cycle (median 43 → 57.5). Nobody in this cohort beats the second night — the consequence-taught nest (148.5 n=3) and the hand-coded arbiter (167.6) live several days beyond it, which is the open headroom.

Quick vs optimized — both architectures at both budgets (n=3)

survival, 40 mapsnested organismflat DQN
quick budget 47.4 ± 4.6 — one gradient-free pass (~1 min) 37.9 ± 2.7 — 300 episodes of TD
optimized budget 148.5 ± 12.9 — consequence-taught trioron router, 300 TD episodes over gradient-trained skill leaves 49.0 ± 14.3 — 3000 episodes (10×)

The same duel at the optimized budgets — the consequence-taught nest against the 10×-trained DQN, same unseen map:

Optimized duel: TD trioron nest vs 3000-episode DQN
● food ▼ water ▲ fire ◆ berry ✚ poison ○ agent ✖ predator speed:

At ten times the training budget, the DQN just reaches what the nest gets from a single pass — and the optimized nest sits 3× above that. One asymmetry to state plainly: the nest's leaves learn from skill demonstrations and the DQN learns tabula-rasa. The symmetric control — a demonstration-warm-started DQN — is measured in "the nest as teacher" below: it gains only +3.

The nest as teacher (n=3)

Can the organism train the DQN? Three arms, same student, same 300-episode budget — only where knowledge enters differs:

student DQNper-seed survivalmean
tabula rasa34.9 / 40.0 / 38.9 37.9 ± 2.7
+ nest demonstrations (BC warm-start, then TD) 41.6 / 41.5 / 39.640.9 ± 1.1
+ nest-guided exploration (the organism explores for it) 57.2 / 33.7 / 139.4 76.8 ± 55.5 — bimodal

Cloning the nest's play (92.6% action accuracy!) barely helps — the missed 7% are exactly the critical fire decisions. But when the nest explores for the student, one seed in three locks onto the teacher's strategy and plays at near-teacher level (139 vs the teacher's 148.5) — something no amount of solo training ever produced. The flat network could always represent that policy; it just never finds it without the organism showing it where to look. Untuned vanilla DQN; the bimodality is the student's instability, not the teacher's.

Everything trains through the public package — the same API you can install:

pip install trioron  # v0.3.0
from trioron.pcll import PhasecyteNest, dream_distill

What this shows — and what it doesn't

Shows: runtime skill absorption. A phasecyte stores phase-coded evidence as running sums, so learning a skill is one pass over a demonstration — the sample-efficiency regime games actually live in. The nest structure (leaves + router) is what makes this work: the same skills flattened into one policy fail reproducibly.

Doesn't show (yet): the overnight dream — each phasecyte leaf distilling itself into a gradient trioron leaf on dreamed pseudo-data — is a wash in this world so far (+2.0 ± 3.8 survival). On the harder 15-task classification benchmark the same mechanism beats its teacher in 9 of 9 cases; wiring that gain into the world is open work. The hand-coded ceiling (167.6) and the consequence-taught router (148.5 ± 12.9, n=3) show how much headroom remains.

← back to the guided tour  ·  source  ·  PyPI