Skip to the simulations
SIMEA · five simulations

The SIMEA simulations

A claim about how systems steer the people inside them is empty until you can watch it happen and put a number on it, so here are five models that run in your browser, say what they cannot show, and can be driven by hand until they break.

SIMEA is a research project. Classical economics models the agent as a rational maximiser, and behavioural economics keeps the maximiser while cataloguing the ways it fails; SIMEA takes the agent as a decision subject, embedded in systems and steered by them, where the systems in question are algorithms, platforms and recommender architectures. It proposes three measurable constructs: the influence gradient a system exerts on a choice, the autonomy threshold that remains the agent's own, and the entropy of the choice environment itself. The note that sets all of this out is here.

01Why a programme like this needs models it can run

A written framework can be perfectly coherent, cite well, sound right, and contain nothing that could turn out to be wrong. You can write that systems shape choices, and no sentence in the paragraph will object if what you actually meant was vague.

A simulation does not accommodate: to write one you have to decide what an agent is, what it can see, what it does with what it sees, and what the system is allowed to do to it, and every one of those decisions can be wrong in a way a sentence cannot. The model then runs and produces an outcome you did not choose, and it is frequently not the outcome the prose implied.

A construct that cannot be computed is not measurable, whatever the paper says about it. The influence gradient is defined against a counterfactual, the same population without the system in it, and in the world there is no such thing to compare against: in a simulation there is, so you can run both, hold everything else identical down to the order in which the random numbers are drawn, and read the difference. That does not solve the measurement problem outside, but it shows exactly what quantity you would be trying to get at, which is the necessary first step and is usually skipped.

That the size of the next event can be genuinely unforecastable even when the mechanism is fully known is easy to nod along to and hard to believe properly. Reading it is agreement; dropping grains on a pile until it happens to you is something else.

02The five

The middle one is the programme's own; the other four are standing models from the literature, rebuilt here because each isolates one thing the programme needs the reader to have felt rather than been told. Each page cites its source, states what it assumes, and says what it does not show.

One Segregation without a bigot Schelling's model. Two kinds of household, a board, and a rule about how many neighbours you want to be like you. You set the demand: an outcome can be far more extreme than any preference that produced it, and reading the preference off the outcome is a mistake.
Two, the flagship The recommender A population with opinions, a feed that decides what each of them sees, and the same population run again beside it with a neutral feed. You set how hard the feed favours agreement, how open the agents are and how much random material gets through, and the three constructs are defined on screen and measured while it runs.
Three Diffusion One contagion at one transmission probability, over a lattice, a small world and a scale free graph, plus a threshold rule that behaves nothing like the simple one. You change only the shape of the network, and the structure a system imposes turns out to matter more than the thing travelling through it.
Four The jam A ring road with nothing blocking it, one tap on one brake, and a jam that forms and travels backwards through the traffic. You set the density and the reaction time, find the edge between free flow and stop and go, and see what a collective object with no cause looks like.
Five The pile Grains dropped one at a time, toppling when a cell holds too many, with the avalanche size distribution building up on a log log plot. You drop grains, and a system holds itself at the edge of stability where the size of the next event is unforecastable in a way no better instrument would fix.

03How the three constructs are operationalised

All three live in the second simulation, defined on the page where they are measured: each is one way of turning a construct into arithmetic, chosen because it is simple, bounded and legible, and not the only way.

influence gradient G = ( sum over bins of | F_steered − F_neutral | ) / (bins − 1) autonomy threshold A = average over agents of ( 1 − μ · m_i ) entropy of the environment H = average over agents of ( − sum over bins of q_i log q_i ) / log (bins) G is the distance along the axis between the steered population and its counterfactual twin, where F is the running share of the population at or below a bin: how far the mass would have to be carried to lay one exactly on the other, as a share of the width of the axis. A is the weight an agent's own prior still carries in its update, where m_i is how many of the items it was shown it accepted. H is the Shannon entropy of the distribution one agent's feed is drawing from, normalised so that a feed covering the whole space reads one, and averaged over the population.

Reading these numbers across different models, or carrying them out of this site, would be a mistake: they are built to be compared with themselves, inside one model, where the only thing that changed is the thing the reader changed.

04What all five of them are not

None of these is evidence about people: every agent in them is a short rule I wrote by hand, every number comes from the parameters above it and describes nothing outside the page, and any claim about the world here comes from a paper rather than from a run.

In every one of them I know the mechanism exactly, because I wrote it, and the counterfactual is available on request. Neither is true of anything the programme actually wants to study. The gap between a model where the influence gradient can simply be computed and a world where it cannot is the research problem, and these pages are the statement of it rather than its solution.

05How they are built

Each simulation is one HTML file: plain JavaScript and a canvas, no library and no framework, no network call after the fonts have loaded, and nothing stored anywhere except the settings in the address bar, so that a link reopens the run you were looking at. They work offline once loaded.

Each one holds its animation if your system asks for reduced motion and keeps a step button, every control is a standard slider, radio group or button, and every model can be driven from the keyboard alone. Each canvas carries a written description of what it currently shows, and each figure keeps a running line of prose that agrees with the arithmetic, so that a screen reader gets the same reading a pair of eyes does.