Skip to content

Chapter 19 · agent-neuron · Lab

The colony

Ants, food and a nest with nobody assigning work: each ant its own long-lived neuron over its own threshold, the trail the engine’s ground, the drumbeat the nest answering arrivals.

A colony, nobody in charge

The colony is ants, food and a nest, and no neuron assigns work. Each ant is its own long-lived neuron, seeded with its own response threshold against the colony’s hunger: it forages when the hunger passes its bar, and not before. In the recorded take, the eagerest third of forty ants (thresholds near two to six) averaged 16.0 trips while the most reluctant third (10.3 to 14.0) averaged 2.8: thresholds deciding who works, not a scheduler.

The trail is the engine’s, not the ants’: the network file’s ground block has the nest lay pheromone per delivery into the engine’s ground (decision 0012), the engine evaporates it between writes, and a return that names no destination is routed by the engine’s seeded draw, the living trail usually, the base mass’s small leak to a nearest ant otherwise. Every delivery home is drummed to every ant, the nest answering each arrival to all of them, and an idle ant that is recruited takes the trip at once.

The map is data: the file gives every neuron its place (at, decision 0011), so the 3D view is a layout with the walking distances kept honest, and the ants walk it. The nearest patch runs out first; the nest lays negative ground for it, the trail falls through zero and goes dark, and the arrivals that keep landing there are counted (forty-two wasted trips on this seed) until a seeded drop site surfaces on the far side and the traffic crosses the map to it. The take settles on the last delivery’s second: the colony settled at sixty-three seconds on honeydew, every delivery home, hunger at rest.

The rule it proves

It is decision 0012, built and pinned in SPEC 4.5: the ground is the trail’s own field in the file, a value per place, written when told and aged as it is read, with the selection rule over a neuron’s outgoing links one pseudocode block the engines share, seeded, and a draw consuming exactly one word per omitted destination, so the same seed is the same take. The colony demo’s network file carries the block, and the demo is its first reading.

The other half is the colony reading in the project’s multiplayer note: response thresholds (the note’s named references run from Bonabeau to Gordon) make each ant a self-selecting worker over exactly its stimulus, which is what a per-neuron threshold already is (SPEC 5.2) with no scheduler anywhere; the at field the view needs is 0011’s descriptive fields. Nobody is on a desk here and no budget caps the take: the graph is the whole referee.

Run it

npm run demo colony -- --ants 40 --seconds 60 --seed 11   # the recorded take: the same seed replays it
npm run demo colony                                        # the default: 24 ants, food, a nest, and no one in charge
CommandFrom the demos repo’s root. The seed fixes the drop schedule and the routing, so a retake is the command again, with only the ants’ own picks wobbling between takes.

What it is not

Not biology and not learning: the mapping is the project’s own reading (the note names its discipline: a design reference, not cosplay), the ants are small scripts, exact delivery counts wobble between takes by design, and nothing carries between runs.

overfocus/agent-neuron