TOPIC 41 · PHASE H

Measuring complexity

Neither pure order nor pure randomness is complex

2026-08-28 · Method & Limits

Nearly every measure of "complexity" you can think of on the spot awards its top score to a page of gibberish. A page of gibberish is not complex — it is boring. The field spent thirty years patching that hole, and the patch turns out to be more useful than the problem.

"This is way too complex" is one of the most common verdicts in any office, and it gets applied to two opposite things: a forty-page approval process with every step nailed down and nested three deep; and a project with no process at all, where anyone can reach in at any moment. The first has too many rules. The second has too few. Describing both with the same word, and then treating both with the same "let's simplify", is where a lot of failures start.

This issue asks whether complexity can actually be reduced to a number. That sounds academic, but it settles something practical: when somebody says "reduce complexity", do you have any way to ask them which complexity they mean?

Here is the counterintuitive part. Almost every measure you would reach for first — information content, unpredictability, description length — puts randomness at the top. Random is a perfect score on these rulers. And randomness is plainly not what we mean by complex. This issue covers four rulers: the first two crash on exactly this point, and the last two were built to fix it.

Earlier issues have leaned on the word "complex" many times: Topic 1 separated complex from complicated, Topic 2 covered emergence, Topic 26 covered complex adaptive systems. This issue adds no new mechanism. It does one thing: split the word into several distinct, separately computable quantities, and point out where they contradict each other.

01One word pointing in two opposite directions

Start with the requirement. Any ruler worth having must score low at both ends.

One end is perfect order: a page of nothing but the letter A, a salt crystal where sodium and chloride alternate forever, a tune made of one repeated note. Look at a small piece and you know the whole thing. Nothing is left to explain.

The other end is perfect randomness: a thousand recorded coin flips, the static on a dead television channel. Here a small piece tells you nothing about any other piece — but again nothing is left to explain, because the four words "it is all random" have already said everything there is.

What we actually want the word for sits in between: a cell, a language, a city, a novel. Not copying themselves, not lawless. You can infer some of the rest from a part, and never all of it.

The complexity we mean must score low at both ends complexity cell · language · city · novel perfect order one piece tells you everything structured, never fully inferable this is what we mean by complex perfect randomness "it is random" tells you everything
This curve is not an established law. It is a requirement we impose on the ruler. The next two sections show the first two rulers failing it; section 06 comes back to question the requirement itself.
🌀 Art · Music sits between the two ends In 1975 Voss and Clarke ran spectral analysis on a large body of recordings and found that loudness and pitch fluctuations look neither like white noise (successive values uncorrelated) nor like a slowly drifting random walk, but land in between, on a 1/f spectrum: correlated at short range, correlated at long range, locked at neither. That gives the midpoint of the curve above a measurable coordinate, and yields a testable prediction — music generated from purely random notes and music generated from a pure periodic loop should fail in opposite ways (one with no direction, one with no surprise), not in the same way. Do not overread it: 1/f is necessary, not sufficient. Shaping noise into a 1/f spectrum does not produce music.

02Entropy: how surprised you are

The first ruler comes from telecoms. In 1948 Claude Shannon at Bell Labs was after something very concrete: how much can a telegraph line carry per second.

His answer is called Shannon entropy, measured in bits. The definition fits in one plain sentence: on average, how many yes/no questions must you ask to pin down the next symbol.

If the next letter is always A, you ask nothing; entropy is 0. If it is one of 26 letters, each equally likely, you need about 4.7 questions (2 to the 4.7 is roughly 26); entropy is 4.70 bits. Real English sits in between: by single-letter frequency it comes to about 4.1 bits, because e is far more common than z and you can ask a little less.

Entropy's ranking: gibberish top, prose just behind, repetition last ① a page of all A letter frequencies 0 bits/letter no question needed ② real English e t a o i n s h r d … about 4.1 bits/letter single-letter frequency only ③ uniform gibberish every letter equally common 4.70 bits/letter a perfect score
Notice how close ② and ③ are: 4.1 against 4.70. On this ruler a novel and a page of gibberish are nearly the same object.

The problem is right there in the picture. Entropy ranks them gibberish > prose > repetition. For a telegraph line that is exactly right: gibberish really does eat the most bandwidth. For the complexity we are after it is badly wrong — it hands the top score to the most boring thing there is, and puts a novel almost on top of noise.

There is a second point that gets missed more often: entropy is not a property an object carries. It is computed relative to an assumed distribution. Strictly, "the entropy of this string" is not a well-formed question; "the entropy per symbol, given that it came from such-and-such a source" is. Change the assumed source and the number changes. English came out at 4.1 bits above because only single-letter frequencies were counted; when Shannon's 1951 paper had people guess the next letter with the preceding context available, English fell to roughly 1 bit per letter. Same text, a fourfold difference, because it is not the same question.

🌀 Engineering · "password strength" was measuring the wrong end all along If entropy belongs to a distribution and not to a string, then "what is the entropy of Tr0ub4dor&3" has no answer; what does have an answer is "how many equally likely outcomes could the process that produced it have produced". This is exactly the point of xkcd 936: four random common words look "simple" but come from a far larger generating distribution than one word mangled character by character. The consequence is operational — password strength can only be audited at the generator, never at the product. The 2017 NIST (National Institute of Standards and Technology) password guidance dropped mandatory "must contain a capital and a symbol" composition rules for precisely this reason.
🎯 DECISION LINE

Next time you see "the entropy of this system is X", or any diversity index at all, ask two things: what is the alphabet (what counts as one symbol) and how is it coarse-grained (how fine a difference counts as a different state). Two numbers computed with different answers to those are not comparable — this is the number-one reason cross-team complexity metrics never converge. The action: report those two on the same line as the number. If you cannot state them, the number does not enter the decision.

03Kolmogorov complexity: the shortest program

The second ruler tries to dodge the "you must assume a source first" problem by asking about the object directly.

In the 1960s Ray Solomonoff, Andrey Kolmogorov and Gregory Chaitin independently landed on the same idea: the complexity of a thing is the length of the shortest program that outputs it. This is Kolmogorov complexity.

The advantage is that probability drops out entirely. You need not assume anyone is generating this string. You only ask: to rebuild it exactly, what is the least you have to write?

All three are 1000 characters — their shortest programs differ by two orders of magnitude the string (1000 chars each) length of the shortest program ABABABABABABABAB…AB AB repeated 500 times "print AB 500 times" 14159265358979323846… first 1000 decimals of pi "run a pi algorithm, take 1000 digits" QJXFVMZTLKDPWRHBSNCG… produced by coin flips "print QJXFVMZ…" — copy it out A random string has no description shorter than itself — so it takes the top score again
The decimals of pi look entirely patternless, yet their Kolmogorov complexity is tiny: a few lines rebuild as many digits as you like. "Looks random" and "is random" are two different things.

This ruler genuinely fixes something: it separates looks random from is random. Stare at the decimals of pi and you will find no pattern, but the shortest program is a few lines. Anything computable has low Kolmogorov complexity.

Then it crashes in the same place: a truly random string has no description shorter than copying it out, so it scores highest. Coin flips are once again the most complex thing in the world.

It also brings a new problem. Kolmogorov complexity is uncomputable. Not merely hard — it is proven that no general program can return the shortest description length for arbitrary input. You only ever get an upper bound ("I have already squeezed it down to this"), never confirmation that it is the shortest. Chaitin pushed this further: there is a constant such that no formal system can prove of any specific object that its Kolmogorov complexity exceeds it. In plain terms — "this thing really is complex" is, in almost all cases, unprovable.

🌀 Biology · Genomes that are far too big The plant Paris japonica has a genome of roughly 149 billion base pairs, about fifty times the human one; lungfish and some amphibians also dwarf us. This was treated as a puzzle and given a name, the C-value paradox. Kolmogorov complexity dissolves it: the great bulk of those giant genomes is repeated sequence, and repeats have extremely short descriptions — over half of human DNA is itself highly compressible repetitive elements. The conclusion that is easy to miss: genome length measures storage, not description length, so ranking species by it was using the wrong ruler from the start — and by the same token, "how much junk DNA is in there" is not even in the same units as "how complex is this organism".
🎯 DECISION LINE

When somebody says "this thing is too complex", separate there genuinely is no shorter description from they have not found the pattern yet. There is a test so cheap it feels like cheating: compress it. Logs, config files, reports, code — anything gzip takes down to 5% is repetitive, not complex, and the fix is deduplication, not more headcount. The test only runs in one direction: if it compresses, it is simple; if it does not, you have merely failed to prove it simple.

04Effective complexity: subtract the random part

Two rulers crashing at the same point suggests the fault is in the question, not the rulers. Murray Gell-Mann and Seth Lloyd changed the question in 1996.

A full description of an object, they said, splits into two parts: the regularities — the structure it shares with the class of things it belongs to — and the random part, the particular accidental values filled in within that structure. Effective complexity counts only the first.

Take the coin-flip record. Describing it fully takes a thousand bits, but the regular part is one sentence: "a thousand independent fair flips." That sentence is short, so a random string has effective complexity near zero. The salt crystal's regular part is short too — "sodium and chloride alternating, forever." Both ends collapse at once. Only objects whose structure itself takes a long statement to specify can score high.

Split the full description — only the copper segment counts regularities = effective complexity random part (does not count) salt crystal "Na and Cl alternating, forever" effective complexity: low a real genome long structure + neutral mutations effective complexity: high 1000 coin flips "1000 fair independent flips" effective complexity: ≈ 0 full description length
Total bar height is Kolmogorov complexity; the copper segment is effective complexity. The tallest bar has almost none — which is precisely what the first two rulers could not fix.

This is real progress. But it introduces something new, and that something is the most important sentence in this issue: the line between "regular" and "random" is not in the object. It is in the hand holding the knife.

The same genome: to someone classifying species, individual variation is noise; to someone studying population genetics, that variation is the entire signal. The same sales data: seasonality is a regularity to one department and a nuisance to be stripped out by another. Gell-Mann and Lloyd said so themselves — effective complexity only has a value once you specify who is looking and at what coarse-graining. The philosopher of science James McAllister pushed the criticism to its conclusion in 2003: since any dataset can be carved into different sets of regularities by different observers, effective complexity is not an objective property of the object.

How much that matters depends on what you want from it. If you want a constant to carve in stone, it is fatal. If you want a working ruler, it has merely turned an implicit choice into a parameter you are forced to declare — which is usually an improvement.

🌀 Economics · The regular part of an export basket Hidalgo and Hausmann's Economic Complexity Index does not look at how much a country exports but at how much of what it exports others cannot make — by iterating the country-by-product matrix until the layer that swings with each year's prices is washed out and only the stable capability structure remains. That is "subtract the random, keep the regularities" done for real. It yields a conclusion the aggregate cannot show: two countries at the same income per head can diverge sharply in later growth, and the difference lives not in that scalar but in the structure that was washed out of it — so to read an economy, or a company, look at the shape of its product list, not its total.

05Logical depth: what it cost to make

There is another route entirely. In 1988 Charles Bennett asked not how long the description is, but how many steps it takes to run that shortest description out into the object.

The quantity is logical depth. It separates describing from generating, and that separation immediately explains something none of the earlier rulers could.

The coin-flip record has a long program (copy it out) but runs in one step: print. It is shallow. The salt crystal has a short program and almost no computation. Shallow too. But the thousand decimals of pi beginning at the billionth place have a short program and require you to actually grind through a billion digits — that is deep. A genome is the same: the rules describing it are not enormous, but the thing itself was run out over billions of years of trial and error, with no shortcut past it.

"How long to describe" and "how long to generate" are independent directions deep: short description, huge computation, no shortcut length of the shortest description (Kolmogorov complexity) → steps to generate → salt crystal (shallow) short program, laid out in a few steps coin-flip record (shallow) long program, printed once pi, 1000 digits from the billionth a few lines, a billion steps a species' genome billions of years of trial, no shortcut The two ends sit furthest apart horizontally and together vertically — what they share is being cheap
Logical depth locates value in generative history: a deep object carries a computation that cannot be replayed, and the only way to have it is to run it again.

The useful part of this ruler is that it gives a reason why something is worth anything. A deep object — a process that has run for ten years, a species, a customer list built up over time — can have a short description while the thing itself cannot be cheaply recreated, because a run of computation is frozen inside it. This has nothing to do with how big it is or how many clauses it has.

🌀 History & institutions · You can copy the text, not the case law Several nineteenth-century Latin American republics founded themselves on constitutions modelled closely on the United States one. The texts are strikingly similar; what they produced in operation was not. Logical depth explains this without appealing to national character or civic virtue: the part of a constitution that actually does the work is centuries of case law run out step by step, which cannot be replayed from the text. The text is the shortest description; the case law is the step count. That gives a practical test — to judge whether an institution (or a company's process handbook) can be lifted and dropped elsewhere, do not count its clauses, count how many of them were forced into existence by a specific incident. That part does not travel with the document.
🎯 DECISION LINE

To value something that already exists — inherited code, a ten-year-old process, a customer list — do not ask how big it is. Ask how many rounds of real feedback it would take to rebuild from zero. The workable proxy: how many of these rules were beaten into place by a specific incident? Can't name many → it is shallow, and rewriting costs what the code costs. Can name dozens, each matched to an incident → it is deep, and rewriting costs the time to walk into all those holes again, typically an order of magnitude more.

06Where this breaks down

Now the other side, and this section matters more than the five before it.

First, the four rulers contradict each other on the same object. They are not four ways of measuring one thing. They are four different quantities that happen to share the word "complexity".

Same three objects, four rulers, contradictory rankings salt crystal a novel a page of gibberish Shannon entropy lowest high highest Kolmogorov complexity lowest high highest effective complexity low highest ≈ 0 logical depth shallow deep shallow Read the rightmost column: the first two rulers give gibberish full marks, the last two put it at the bottom
Which is why "reduce the complexity" has no content until it names which ruler.

Second, essentially none of these can be computed. Kolmogorov complexity is uncomputable, as covered. Effective complexity depends on a coarse-graining you have to supply yourself. Logical depth cannot get past the same uncomputable "shortest program" as its starting point. What actually gets used in practice is always a proxy — compression ratio, parameter count, residual error — and the relationship between the proxy and the original quantity has usually never been checked by anyone.

Third, the inverted-U is assumed, not demonstrated. Seth Lloyd once compiled a list of some forty different definitions of complexity, each built for a different question in a different field. Expecting all of them to lie on a single order-to-randomness axis and peak at the same place has no basis.

Cellular automata provide a clear cautionary case → ref · Game of Life & cellular automata: around 1990 Chris Langton proposed a parameter λ to locate a rule on an order-to-chaos axis, and Norman Packard's experiments appeared to show that evolution drives rules toward the "edge of chaos". In 1993 Melanie Mitchell, Peter Hraber and James Crutchfield redid the experiment and found the original result came mostly from the experimental setup and the mechanics of the genetic algorithm, not from any property of the edge itself. This does not say the edge is not there; it says that particular evidence does not hold — and "edge of chaos" remains one of the most loosely cited phrases in the field.

Fourth, and most important: none of these four rulers predicts anything. They are descriptive quantities, not dynamics. Knowing a system has high effective complexity tells you nothing about whether it will collapse, when, or in which direction. Every mechanism in the previous forty issues — feedback, criticality, power laws, resilience — yields testable predictions. Not one of these four does. Their value lies elsewhere: they break a vague word into several quantities that each mean something definite, which turns "this is complex" into a claim you can interrogate. That is a gain in vocabulary, not in theory — and mistaking it for the latter is the exact failure complexity science is most often accused of.

🎯 DECISION LINE

Never make "complexity" a single tracked number. Any goal of the form "bring the complexity down" has to say which one: lower entropy (less uncertainty, usually good), lower Kolmogorov complexity (fewer rules, usually good), lower effective complexity (cutting out real structure, usually bad), lower logical depth (throwing away accumulated experience, almost always bad). That single "complexity" column in the reporting template should be split into those four or deleted — its only reliable effect right now is to make four different opinions look like a discussion of one thing.

🎒 Scenarios · BigCat

  1. Investing & position sizingEvery time a strategy's backtest curve gets prettier, it is almost always because one more condition was added to the rules. Treat that rule set as a description: how many genuinely independent historical events are in hand — not how many bars, how many distinct market regimes? Once the rule count approaches that number, the backtest is fitting the random part that should have been subtracted out: effective complexity near zero while Kolmogorov complexity climbs. The action: add a column to the strategy table for "rules ÷ independent events", set your own line (say 1/10), and refuse to look at the equity curve of anything above it.
  2. ParentingA child does something in a wildly roundabout way — a self-invented game with its own rules, an extra step that seems pointless — and the two adult reflexes ("let's simplify that" and "how clever") both measure the wrong dimension. The question to ask instead: how did this particular bit get here? If the answer is "last time the other way didn't work", that is logical depth — a computation they ran themselves, and simplifying it for them erases it. If they cannot say, if it was thought up in one go, that is just description length and is fair game for discussion. The action: ask that one question before interrupting, and if they can answer it, stop talking and watch.
  3. Writing & this site itselfThe reflex test for "does this issue have enough substance" is length and density of terminology — and both of those measure the entropy end, where gibberish always wins. Measure this instead: how many passages here would change the conclusion if deleted (the regular part), and how many could go with nothing lost (the random part). The action: run a deletion pass before finalising, asking of each passage whether the conclusion moves. If three or more can go without moving it, effective complexity is low — the issue needs rewriting, not lengthening.

🌀 Crossings

Going Deeper

If the inverted-U is a requirement we impose, on what grounds do we impose it?

An uncomfortable possibility: because we and everything we care about live in the middle, we have encoded "interesting" as "complex". That need not be wrong — rulers are built for uses — but it means the curve has the standing of an engineering spec, not a law of nature. The difference matters: a spec can be changed to suit the use, a law cannot. Anyone wanting to treat it as the latter owes a criterion independent of what we happen to find interesting.

Entropy always increases. Does complexity?

No, and the shapes differ. Scott Aaronson, Sean Carroll and Lauren Ouellette ran a vivid simulation in 2014: let "coffee" and "cream" mix on a lattice, and entropy rises monotonically to the end while their complexity measure rises and then falls — two pure blocks at the start (simple), uniform grey at the end (also simple), and the tendrilled pattern in between at the peak. At minimum this shows entropy growth and complexity growth are different curves, and it hints that complex structure may be intrinsically a transient.

Can you measure an organisation's complexity?

You can measure proxies, but you must pick a ruler first. For Kolmogorov complexity, count distinct process rules after removing duplicates. For logical depth, count how many of them trace back to a specific incident. For entropy, look at how spread out the handling paths are for one class of request. Those three numbers will point at different fixes — which is the useful part. The trouble with "our organisation is too complex" is precisely that it implies three mutually incompatible remedies at once.

Why learn a quantity that cannot be computed?

Because it draws boundaries. The uncomputability of Kolmogorov complexity is itself a usable result: it means the simplest solution can never be found mechanically, so any claim of "we have reached the simplest form" exceeds what can be proven; and it means upper-bound estimates like compression ratio are an approximation that cannot in principle be removed, rather than a temporary technical shortfall. Sometimes the value of a quantity is not its number but what it proves cannot be done.

Further Reading