EXPERIMENTS.md · lines 1572–1621E32 — The fly decides how long to forage, from the returns
Date 2026-09-12 · Question (operator) Why is the number of proposals per round
something the experimenter sets? · Provenance forager/forage.py,
forager/mushroom.py, …/{forage_wide,forage_mvt}.py
First, the evidence that the number mattered. Raising proposals per round from about
600 to about 3,900 - free, since screening costs no evaluations - made the search
worse:
Made to keep walking after the returns have gone, the swarm piles against whatever its
judgement most likes, and a judgement that is merely good becomes one over-trusted.
Searching harder against an imperfect score is not searching better.
The rule. A forager leaves a patch when the rate it is still gaining falls to the
average rate the environment has been paying - Charnov's marginal value theorem (1976) -
which makes the decision one about reward rather than a schedule, and needs no fitted
constant.
The units, which the first attempt got wrong. Compared directly, the fly stopped at
the earliest permitted step on every round of every seed - the signature of comparing
two different things. Its score is a weighted sum of output-neuron activity, of order
0.005; the reference rate is in standardised reward, of order 0.1. The exchange rate was
already being kept, for the prediction error in learn(), and converting with it makes
the comparison one between two quantities of the same kind.
Result, 60 evaluations, 10 seeds:
The means are indistinguishable and the spread is noticeably tighter, for one fewer
number chosen by the experimenter. The difference in how often it beats the sweep is 4 of
10 against 1 of 10, which at this sample size is not significant (Fisher exact p ~ 0.30)
and is not claimed either way.
Caveat, and it is the interesting one. Of 45 rounds the fly chose the minimum 10
steps in 24 of them, with a tail out to 23. The minimum is 2 x window and window is
still a number someone picked, so the floor binds about half the time: the rule has
removed the schedule but not every constant behind it. The right next question is whether
the fly should also decide how much of its budget to spend in a round, rather than the
budget being divided evenly in advance.