A single model of how located capacity gets shared out. Thousands of [[agent|agents]] arrive one at a time; each compares what every site would cost it, adds its own [[tastenoise|taste noise]], picks one, stays a while and leaves. A site’s price rises with how many are there, and its fit adapts to what it serves. Read it as an economy and the agents are households choosing parcels; read it as a neural network and they are spikes, each won by one neuron of a competitive layer. Both views draw the same agents: every dot moving in one is the same arrival moving in the other. Architectures in both fields turn out to be the same equation with different terms switched on, and stated in symbols each pairing is exact. Underlined terms and blue citations open on hover; click one to pin it and follow its links. Follow one arrival walks through a single choice.
Each row is one setting of the same model, named in both fields. The columns are the model's terms; a dot means the term is off. Pick a row.
Everything above is one stochastic process, stated here once. The dictionary after it names each symbol in both fields and says
why each pairing is exact rather than an analogy; model.test.mjs checks the claims.
With more and smaller agents ($s → ∞$) the loads follow the average flows exactly: the [[fluidlimit|fluid limit]] [[@kurtz1970]]. For steady demand, fixed tuning and prices without memory, those flows settle where the [[freeenergy|free energy]] $F = Σ_{c,j} x_{cj}·(t·d + m·(1 − fit)) + Σ_j κ·r_j^2/2 + ν·κ·Σ_j r_{jA}·r_{jB} − (s·κ/2)·Σ_{k,q} W_{kq}·Σ_{i,j} r_{ik}·B_{kq}(d_{ij})·r_{jq} − κ·Σ_j r_j·(Σ_m w·e^{−γT_j}·g_m(j) + v·T_j) − ρ·Σ_j G(r_j) + τ·Σ_{c,j} x_{cj}·log(x_{cj} ÷ λ_c)$ is lowest. $x_{cj}$ is the flow of class $c$ to site $j$, and $G$ is the function whose slope is $log(1 + r/r_0)$. Under a fixed supply, the constraint $r_j = c$ takes the place of $κ·r_j^2/2$. Every price is the slope of $F$ at its site’s load, a [[lagrange|Lagrange multiplier]], which makes the model a [[potential|potential game]] [[@monderer1996;sandholm2001]].
$F$ leaves two things out, in both readings: [[sticky|sticky]] prices depend on history, and the tuning rule isn’t derived from $F$ (the dictionary says what it is instead). And it exposes one: the nuisance actually suffered is $2νκ·Σ_j r_{jA}·r_{jB}$, twice the term in $F$, because each arrival counts the nuisance it suffers but not the nuisance it causes, an [[externality|externality]]. Charging each arrival the nuisance it causes, a [[pigou|Pigouvian tax]], makes the true cost the potential, so equilibria sit where it is flat. With weak nuisance it has a single minimum, the charge finds it, and the tests confirm the true total cost falls. With strong nuisance several separated layouts are each stable, and the charge guarantees only one of them.
$F$ also needs nuisance to be mutual. If use A minds use B more than B minds A, no single function’s slopes give both their costs, and the model stops being a [[potential|potential game]]. Settling then needs another reason. One is enough: a [[stablegame|stable game]] settles without any potential [[@hofbauer2009]], and a chase, where B seeks A while A avoids B, is one, because its nuisance has no symmetric part. The tests find more. Two uses settle even under strong one-sided nuisance, which isn’t stable, because at a site the split between two uses can only move one way, with no room to rotate. Three uses that each mind the next never settle once $ν$ passes $2τ/(κ·x)$, with $x$ a use’s load at the busiest site, while a symmetric control with the same symmetric part separates there and stops. A Pigouvian charge adds the nuisance caused to the nuisance suffered, which makes any nuisance mutual, so it restores a potential and settles the three uses too.
| Symbol | Economy | Neural network | Why it’s the same |
|---|---|---|---|
| $j$ | A parcel; a firm; a workplace | A neuron; an [[expert|expert]]; a [[query|key]] | The same index |
| An arrival of type $k$ from $s$ | A household, customer or commuter | An input [[spike|spike]], a [[token|token]], a [[query|query]] | The same point of a [[poisson|Poisson process]] |
| $τ·ε_j$ | [[tastenoise|Taste noise]]; τ is the [[taste|variety of tastes]] [[@mcfadden1974]] | [[escapenoise|Escape noise]]: which neuron fires first; τ is the [[temperature|temperature]] [[@gerstner2014]] | Exact: the first of several exponential clocks is a [[gumbel|Gumbel]] argmax [[@yellott1977]] |
| $P(j) ∝ e^{−c_j/τ}$ | [[logit|Logit]] choice | [[softmax|Softmax]] routing and attention | The same formula |
| $t·d(s, j)$ | [[commute|Commute cost]]; trips fall off as $e^{−t·d/τ}$, the [[gravity|gravity model]] [[@wilson1967]] | [[wiring|Wiring cost]]; [[alibi|ALiBi]] [[@press2022]]; cortical connections fall off exponentially with distance [[@ercsey2013]] | Exact for ALiBi; the same form in cortex |
| $T$ | How long a household [[stay|stays]] | How long one spike’s [[channel|adaptation channel]] stays open [[@schwalger2010]] | The same random time |
| $r_j = n_j ÷ (sT)$ | [[floorspace|Floor space in use]], one floor per household | Spikes still in effect; on average, the [[firingrate|firing rate]] | The same count; its mean is the arrival rate ([[little|Little’s law]]) |
| $a_j = κ·r_j$ | [[rent|Rent]] equals the cost of the last floor, when $r$ floors cost $κ·r^2/2$ [[@mills1967;brueckner1987]] | [[adaptation|Adaptation]]: each spike in effect adds $κ ÷ (sT)$ to the threshold [[@benda2003]]; $κ·r^2/2$ is [[selfinhibition|self-inhibition]] | The same rule |
| $a_j$ moves until $r_j = c$ | Fixed supply: [[tatonnement|tâtonnement]] [[@walras1874]] | A [[homeostasis|homeostatic]] set point [[@foldiak1990;desai1999]] | The same resting point; the steps differ (here $τ·log(r_j ÷ c)$, Földiák’s linear) |
| $c$ = the average load | Fees that follow competitors’; [[sinkhorn|congestion pricing]] | [[balancing|Load-balancing bias]] [[@wang2024]]; [[sinkhorn|Sinkhorn]] attention [[@sander2022]] | Exact: the experts use DeepSeek’s fixed step, attention Sinkhorn’s log step |
| $n_j ≤ n_{max}$, and $b_j$ | [[heightlimit|Height limit]]; $b_j$ is what price exceeds building cost by [[@glaeser2005manhattan]] | [[ratecap|Firing-rate cap]]; for experts, a [[capfactor|capacity factor]] that drops the overflow [[@fedus2022]] | The same constraint, with $b_j$ its [[lagrange|multiplier]]; dropped overflow is [[erlang|Erlang loss]] |
| $V_0$ | [[outside|Outside option]]: moving away, staying home [[@berry1994]] | The input fading before any neuron fires; an [[sink|attention sink]] [[@xiao2024]]; softmax with 1 added to the denominator [[@miller2023]] | Exact: one more option ⇄ one more clock |
| $w_j$, fit, $m$ | The share of a building [[fit|fitted]] for each use; $m$, what a misfit costs | The share of a neuron’s synapses [[tuning|tuned]] to each input; its drive is $w·x$ [[@rumelhart1985]] | The same term |
| $w_j$ → the mix served | Refitting toward current use | [[competitive|Competitive learning]]: weights move toward the inputs won [[@grossberg1976;rumelhart1985]] | The same rule |
| $σ$ | [[localization|Localization economies]]: firms learn from nearby firms [[@marshall1890;lucas2002]] | The neighbourhood of a [[som|self-organizing map]] [[@kohonen1982]] | The same kernel |
| $s·κ·Σ_q W_{kq}·(B_{kq} ∗ r_q)_j$ | [[agglomeration|Agglomeration]]: the gain from being near the types one deals with, falling off with distance [[@beckmann1976;fujita1982]] | [[wiringeconomy|Wiring economy]]: short wires to the populations a neuron reads from [[@chklovskii2004;chen2006]] | The same term; with symmetric $W$ it is the slope of a pairwise term of $F$, so prices stay multipliers. A bump that forms with no input given is a [[neuralfield|neural field]]’s [[@amari1977]] |
| $κ·(w·e^{−γT_j}·g_j + v·T_j)$ | [[geography|Geography]] given (a coast) and made ([[technology|roads, a port]]); the made kind grows with use, spreads [[@hagerstrand1965]] and changes what the given kind is worth [[@bleakley2012]] | The substrate’s fixed structure (a sensory edge) and [[myelination|myelin]] that follows use, spreads along tracts and extends reach [[@fields2015;gibson2014]] | The same form: a site value that accumulates where activity is, diffuses, and reshapes the cost of distance. Myelin’s dynamics differ in detail; the pairing is of resting states |
| $ν·κ·r_{j,−k}$ | [[nuisance|Nuisance]] from another use there [[@coase1960]] | [[interference|Interference]] from another feature on the same neuron [[@elhage2022]] | The same term; in the toy models, interference grows with the overlap squared times how often the other feature is active |
| $ρ·log(1 + r_j/r_0)$ | [[scale|Economies of scale]], learning by doing [[@arrow1962]] | Rich-get-richer routing; [[collapse|expert collapse]] [[@shazeer2017]] | The same term: the pull grows as $(1 + r/r_0)^{ρ/τ}$, an [[urn|urn]] process [[@arthur1989]], and even loads break when $ρ/τ > 1 + r_0/r$ |
| $B_j$ | [[built|Built stock]], durable [[@glaeser2005durable]] | Capacity kept for a neuron, like the metabolic machinery that follows its activity [[@wongriley1989]] | The same bookkeeping; no choice depends on it |
| $Σ r ÷ Σ max(r, B)$ | [[occupancy|Occupancy]] | Utilization | The same ratio |
| Agents ⇄ flows ($s → ∞$) | Individual households ⇄ the continuum of urban models | [[spiking|Spiking]] neurons, [[hardattention|hard attention]] [[@xu2015]], top-1 routing ⇄ rate models, soft attention, [[softmoe|soft mixtures]] [[@puigcerver2024]] | The flows are the agents’ [[fluidlimit|many-agent limit]] [[@kurtz1970]] |
| $F$ | Real cost minus τ times the variety of choices [[@anas1983]] | Energy minus τ times entropy [[@hopfield1982;ackley1985]] | The same function, the [[freeenergy|free energy]] |
Only taxes whose network counterpart is exact are here. A network collects nothing, so in each case only what the tax does to choices carries over. Left out, because nothing in this model responds to them: a vacancy tax (the built stock affects no choice), a transfer tax (stays here don’t depend on the cost of moving), a self-assessed or Harberger tax (owners here set no prices), and a road congestion toll (commutes here don’t slow with traffic).
| Tax | In the model | Neural network | Why it’s the same | What it does here |
|---|---|---|---|---|
| [[landtax|On land value]] | Takes a share of $p·r − (1 + θ)·κ·r^2/2$, which is in no $c_j$ | Nothing: a network has no landowner | Exact: no cost and no term of $F$ changes | Raises revenue; the city doesn’t move [[@george1879;brueckner1986]] |
| [[buildingtax|On buildings]] | $κ → (1 + θ)·κ$ | Stronger [[adaptation|adaptation]] per spike: heavier [[selfinhibition|self-inhibition]] | Exact: the same parameter | Shorter buildings, higher rents downtown, a wider city; with one floor per household, sprawl [[@brueckner2003]] |
| [[headtax|Per resident]] | $+H$ at every site | [[globalinhibition|Global inhibition]]: the same inhibition on every neuron | Exact: a softmax ignores what all options share [[@nessler2013]] | A closed city doesn’t move. In an open one people leave until rents have fallen by about $H$ [[@oates1969;wheaton1974]] |
| [[pigou|Pigouvian, on nuisance]] | $+ν·κ·r_{j,−k}$ again: the nuisance an arrival causes | The [[interference|interference]] a feature causes the others, which training on the total loss counts | Exact: what an arrival suffers plus what it causes is the slope of the true cost | Less nuisance; with weak nuisance, a lower true cost [[@pigou1920]] |
| [[fueltax|Per unit of distance]] | Adds to $t$ | A steeper [[wiring|wiring cost]] per unit of distance; a steeper [[alibi|ALiBi]] slope | Exact: the same parameter | What the commute ⇄ wiring knob does |
Cited inline throughout the page: click a citation to see its entry here.