Nothing in this world wants anything

Every simulation you have ever seen was trying to do something. A character wants to reach the exit. A model wants to reduce its error. A population wants to maximise a score somebody chose. This world has none of that, on purpose, and removing it changes almost everything about what you are looking at.

There is no score

It is worth being concrete about how unusual this is, because "no fitness function" sounds like a technical footnote and is actually the central design decision of the project.

In a typical evolutionary simulation there is a moment, once per generation, where every candidate is handed a number. How far it walked. How much it collected. How long it lasted. Then the ones with the better numbers are copied more often, and the loop turns again. That number is the whole engine. It is also, invisibly, the whole result: the population gets better at the number, and the number was chosen by a person.

Here, no such moment exists. Nothing in the code ever computes how good an organism is. There is no ranking, no leaderboard, no selection step where a judge picks winners. What there is instead is a bill.

Every organism pays energy to exist, every tick, and pays more for moving, sensing, thinking, reaching, eating, being too hot, being too cold, being in the wrong light. It has to find enough to cover that or it stops. If it happens to cover it for long enough, and if the fourth of its eight output numbers happens to cross a threshold at a moment when it can afford to, there is another one. If not, there is not.

Selection is not applied to this world. Selection is what the accounting leaves behind.

Why that is not just a fussy distinction

Give a system an objective and you have told it what improvement means, and you have therefore bounded what it can ever discover. A population optimising for distance travelled will get very good at distance travelled. It will not, along the way, invent something you were not measuring, because nothing rewards that and everything punishes the detour.

There is a well-documented and slightly comic literature on what happens when this goes wrong. Populations asked to maximise a number reliably find ways to maximise the number that have nothing to do with what the experimenter meant: exploiting a rounding error, growing very tall and falling over rather than learning to walk, or in one memorable case pausing a game forever to avoid ever losing it. The lesson usually drawn is "be careful how you specify objectives". A different lesson is available, which is that a specified objective is a strange thing to put in a study of life, because nothing in biology has one.

No organism on Earth is maximising anything. There is no quantity that evolution increases. The word "fitness" in biology is a description applied after the fact to whatever left more descendants, not a target handed out beforehand. A simulation with a fitness function has quietly imported a thing that does not exist in the system it claims to be modelling. See genetic algorithms for the fuller version of this argument, and fitness landscapes for why the standard mental picture inherits the same problem.

What it costs to work this way

This should not be presented as a free win, because it is not. Removing the objective removes the single most effective lever anyone has for producing a striking result.

With a fitness function, you can make a population get good at something in an afternoon, and you can point at a graph that goes up. Without one, there is no graph that goes up, because there is nothing to plot. Progress is slow, hard to steer, and frequently absent. A run can go for hundreds of thousands of ticks and produce nothing anyone would write down.

It also makes the project much harder to talk about. A visitor reasonably asks what the organisms are trying to do, and the true answer, that they are not trying to do anything and the question does not apply, sounds evasive. It is not evasive. It is the design.

The runs that produced nothing are written up in the same detail as the ones that did, on research notes, because a project that only publishes its good days is not running an experiment, it is running an advertisement.

So what happens instead

Something does happen, and it is quieter and more interesting than a rising graph.

The world is not uniform. Some ground is harder to cross. Some places are hotter, drier, brighter. Resources deplete where they are eaten and regrow over time, so a good patch becomes a poor one through being good. Organisms carry nineteen genes that set, among other things, how much heat they can stand, how much moisture, how much light, how efficiently they digest, how far they can sense and what that sensing costs them.

Nobody assigns any organism to any region. But an organism whose tolerances are wrong for where it is standing pays more, every tick, than one whose tolerances fit. Paying more means reaching the reproduction threshold less often, or not at all. Over enough generations, the population develops a grain that matches the map, and no step in that process involved anything choosing, moving on purpose, or being scored.

That is what selection without a fitness function looks like. It is not dramatic. If you watch for five minutes you will see nothing. If you watch a population over thousands of ticks you are watching the only mechanism that has ever produced anything, running slowly, in a box.

The uncomfortable part

There is a version of this essay that ends triumphantly, and it would be dishonest, so here is the actual state of things.

Removing the objective does not automatically produce open-endedness. It removes one of the four usual reasons simulations stall, and this world addresses a second, the static environment, by letting organisms change the ground and letting the ground recover. It does not address the other two. The genome has a fixed number of genes. The network has a fixed shape. The set of possible organisms here is large but bounded, so this world is not positioned to produce the endless novelty that biology does, and no result here should be read as though it were.

What has been measured is more modest and still real: populations adapting to conditions the rules never name, lineages diverging under a stated rule, and environmental changes outlasting the organisms that made them. The reasoning on what that does and does not license is in methodology, and the limits are stated on open-ended evolution rather than buried.

The reason to run it this way anyway is that the alternative answers a different question. With an objective, you learn how well a search method does at a target you picked. Without one, you learn what a set of generic rules produces when nothing is pulling. The second question is worse behaved, slower, and much more likely to produce nothing. It is also the question that was actually interesting.