A forward model is easy to run: give it parameters, get a price history, a cross section, a head field. The inverse problem is the hard one: which parameters produced this picture? Interactive evolution answers it by letting an observer pick or rank, generation after generation, the candidates that look closest. Five papers from 2001 to 2008 worked this out in markets, mantle convection, crustal faulting and aquifers. Here you can be the observer in each of them, and then hand the job to a model.
Boschetti and Moresi put it plainly in 2001: automation does not remove subjectivity from inversion, it hides it inside the starting model, the parameterization and the regularizer. Their alternative was to make the subjectivity explicit. A genetic algorithm proposes a small population of forward models, a person ranks them, and the ranking replaces the numerical misfit. Nothing in the algorithm changes; linear normalization selection only ever used ranks anyway.
Ashburn and Bonabeau carried the method to an agent-based market in 2004, fitting fundamentalists, chartists, noise traders and one mistaken order to the 20-minute FTSE frenzy of September 20, 2002. Ecemis, Bonabeau and Ashburn then asked the obvious question, why not a plain GA, and answered it with data: a least-squares GA found a curve with lower error (31.68 against 38.85) that had the wrong shape, because the features that mattered were never in the error function. They also added two tools against observer fatigue, selection by module and a network that learns the observer's ratings. Singh, Minsker and Valocchi went further in 2008 and treated the human rank as one objective among three, so the trade-off between fitting the data and believing the expert became visible instead of being decided in advance.
The labs below are compressed versions of those setups. The forward models are toys, but the inversion problems keep their character: coupled parameters, nonlinear maps, targets you can only judge by eye.
Each tile overlays one candidate (blue) on the target (black). Choose how the observer works, then evolve. Module selection and ratings are the 2005 additions; the language model is the 2026 one.
Bars: distance between the best candidate and the target on the observer's features, one bar per generation.
Triangles mark the target's true parameters once revealed (random target only; a drawn shape has no genotype). Several genotypes draw nearly the same curve; a "match" is a family of answers, not a point.
Ecemis et al. ran a GA whose fitness was 1/(E + 0.0001), with E the root mean square price error, for 50 generations. It beat the interactive result on E and lost on shape. Press the button to run the same race against the current target and see which way it goes here.
Compare two numbers for each curve: E, the pointwise error, and the observer distance, which is computed on features (spike time and height, undershoot, swings, settling). The GA spends 600 evaluations where the observer spends twelve per generation, so it usually wins on E, and on these simple targets it may win on shape too, because one spike dominates the sum of squares. The paper's case was harder: the second swing was small relative to the frenzy, so squared error traded it away for a better fit elsewhere. The point of the race is not that the GA must lose. It is that the GA cannot tell you when it has the wrong shape, and the observer can, in words.
The E reported here is in percent of the opening price; the paper's was in index points. Try the race on the drawn targets and on the random genotype. Against the genotype a pointwise fit is reachable, and the GA tends to find it with 600 evaluations. Against a drawn shape, which no parameter setting reproduces, the GA settles for the compromise that squared error prefers, often a smaller spike without the undershoot. That second case is the one the paper faced with real data.
Ten sections per generation, ranked by clicking in order from best to worst. The target has a cold downwelling hook in the mantle and a geotherm T(z) on the right. A numerical inversion can only see the geotherm; you can see the section too.
There is no target image here, only a concept: faults spaced about one upper-crust thickness apart, clearly localized, and the crust never pulled fully apart. Rank six models against that idea.
A one-dimensional aquifer: eight pilot points set log-conductivity, kriged here as a straight-line interpolation, and a flow model predicts heads. Two quantitative objectives, head misfit and distance from the prior, plus your rank from 1 to 5. The algorithm looks for the Pareto set of all three.
Evolutionary search needs two things: a way to vary candidates and a way to rank them. Variation is cheap and generic. Ranking is where the domain knowledge lives, and for inverse problems it often does not compress into a formula. Boschetti and Moresi noted that regularizers are usually chosen for mathematical convenience rather than geological relevance. Ecemis et al. measured the consequence: the least-squares optimum had the wrong shape. Singh et al. measured it again: the lowest calibration errors came from fitting noise in regions with no data.
The cost of a human observer is attention. Ten to twelve tiles per generation, six to ten generations per fit, one fit per hypothesis. The 2005 paper attacked that cost from two sides, letting the observer select parts of a solution rather than whole ones, and training a network to carry on after the observer stops. The 2008 paper reduced the observer's burden differently, by running the quantitative objectives first and bringing the expert in only where data run out.
In 2026 the observer does not have to be a person. A language model can look at the same twelve overlays, apply criteria written in a sentence rather than an equation, pick or rank the closest ones, and say what it saw. The three things that made a human observer valuable (qualitative judgment, multi-criteria weighing, domain vocabulary) are things a model does at scale, and the two things that made a human observer expensive (time and opacity) shrink. The criteria text box in Lab 1 is the entire fitness specification. Change a sentence and the search changes direction. Ecemis et al.'s learned network was a 2005 version of the same idea, trained from a few dozen ratings; a language model arrives already knowing what "undershoot" means.
This does not make the search objective. A model observer inherits whatever its criteria and its reading of the picture contain, and it can be confidently wrong about a feature it was not asked to check. Singh et al.'s framing is the right guard: keep the human or model rank as one objective beside the data misfit, and look at where they disagree. What a model adds is that the judgment is now written down, repeatable, and cheap enough to run across hundreds of targets instead of one.
| Fitness source | What it sees | What it misses | Evidence in these papers |
|---|---|---|---|
| Least squares | Pointwise distance | Shape, timing, geological sense; rewards flat lines and noise-fitting | GA: E 31.68, wrong wave (2005); lowest head error farthest from truth (2008) |
| Human ranking | Shape, structure, plausibility, taste | Scale, opacity, fatigue, inconsistency over time | 8 generations found the hook (2001); 36 models instead of 20,000 (2003); 6 to 10 generations to a fit (2004) |
| Learned surrogate | Whatever the observer's ratings encoded | Solutions better than anything in the training set | RBF network trained on 6 to 25 patterns kept improving the population (2005) |
| Human rank as one objective | Where expert and data disagree | Nothing for free; the user must choose along the front | Rank-1 solutions off the quantitative front were closest to truth (2008) |
| Language model observer (2026) | Whatever the criteria text names, applied consistently and explained | Anything the criteria forgot; features it misreads | Illustrated in Lab 1 and the "let a model rank" buttons |