1.1 Complexity Defined

1.1.1  Every Puzzle Starts with Pieces

1.1.1.1  Let’s start by thinking of complexity as existing in an envelope. We use “envelope” because an envelope contains a letter, which contains information. This doesn’t mean our envelope is two-dimensional, though—it could be a box, anything that envelops. We might say the system is physically closed or bounded by the envelope.

Maxwell’s demon needs a box to separate the fast-moving particles into.

1.1.1.2  To build anything, we need parts. Let’s call these bits. The name nods to Claude Shannon and information theory (Shannon 1948), but we don’t necessarily mean a digital bit. We always find little bits at the bottom, though they take different forms—pixels, tokens, symbols, neurons, transistors, atoms, quarks, strings, Legos.

Our system is substrate independent—our bits can be organic or inorganic. They are just things that can combine and come apart (i.e., parts).

It may feel like the world is analog, but when we zoom in, what we observe comes in discrete chunks. The wave becomes the particle—it goes through one slit, or it doesn’t. At some point, Achilles steps over the last Planck length and catches the Tortoise. Zeno’s paradox isn’t a paradox in a world we treat as discrete. When we look close enough we seem to always find bits.

The history of metaphysics is, in many ways, a history of bits. Democritus introduced the idea of inseparable objects and called them atoms (Democritus 1999, 76-79); Lucretius gestured to them in his Nature of Things (Lucretius 2007); Gottfried Leibniz built his Monadology around the monad (Leibniz 2014); Shannon formalized them in information theory (Shannon 1948); and more recently, John Wheeler proclaimed “It from Bit” (Wheeler 1989).

1.1.1.3  Now we fill our envelope with bits. Nothing happens. We need to shake the envelope—we need noise. Noise is fundamental—think of it as nature’s random number generator. There is a reason Turing insisted the first computer had a random number generator (Agüera y Arcas 2025, 47).

I’m sitting here typing this on a planet orbiting a sun because during inflation—the early exponential expansion of the universe—there were primordial fluctuations (i.e., noise) that served as the seed for heterogeneous mass distribution (Hertog 2023, 5). In the beginning … God shook the box.

The real world always has noise. Beware of any physical theory that doesn’t account for noise.

There’s no paradox in saying that complexity both moves away from entropy and depends on noise. Noise is how entropic randomness appears locally—fluctuations, jostling, unpredictable collisions. Complex structures are pockets of low entropy carved out of this randomness by using free energy. They decrease entropy locally while increasing it globally. In our envelope, complexity rides on noise; it doesn’t abolish it.

1.1.1.4  Let’s add one more piece: a source of free energy. Free energy is an energy source in a non-equilibrium state that can do work. What makes it unusual is its arrangement—through gradients, constraints, and asymmetries—into a usable form. In this sense, it’s a kind of “structured energy” or even “complex energy.” This makes our system thermodynamically open.

1.1.1.5  We have our pieces: an envelope, bits inside it, noise to shake it, and a steady source of free energy. If this seems abstract, just think of the Earth—sunlight pours through the atmosphere (free energy), we all exist within its atmosphere (envelope), and there are a bunch of molecules (bits) shaking about (noise).

The Earth is our envelope. It’s noisy, but it’s ours.

1.1.2  Putting the Pieces Together

1.1.2.1  We have an envelope full of bits bouncing around—the proverbial box of gas. In the gas case, we can measure statistical properties like temperature and pressure. Basic relations begin to form: as the temperature increases, the pressure rises. But would we call this complex? Probably not. And let’s be honest—it’s not that interesting.

Now let’s fill our envelope with two different bits: As and Bs—or Alices and Bobs, as physicists say. Allow A and B to be composable, that is, they can be put together to form longer combinations like A-B or B-A (giving the combinations direction in two dimensions, and what would be handedness or chirality in three dimensions). Each A and B can attach to two other bits, so we can build longer strings of bits like A-B-A-A-A-B. We’ll call any combination of bits a string; a single bit counts as a string of length one.

To have complexity without design, you need a source of variation; in our system, that comes from composable bits plus a source of noise.

1.1.2.2  We’ll pulse our system forward in increments of time. We shake the box for a second and then stop (T1); we shake it for another second and then stop (T2).

As we pulse forward, we break symmetry. We go from a uniform soup of As and Bs to variable lengths of bits. In a complex system, time’s passage is accompanied by symmetry breaking (Anderson 1972, 393-395).

1.1.2.3  We’ll call all the different possible combinations of bits at some time T a combinatorial spacea kind of state space or configuration space. At any given time, there’s a theoretical maximum size of the combinatorial space and a realized size—just because all combinations are possible doesn’t mean the shaking of our envelope has produced them.

We’ll define the adjacent possible (Kauffman 2000, 47) as the set of combinations that can form in the next step. At T0, only As and Bs exist in the envelope—no combinations have occurred yet. Now shake the envelope so some As and Bs combine. At T1, we can have not just As and Bs, but also A-As, A-Bs, B-As, and B-Bs. Therefore, A-B is adjacently possible at T0, but A-B-A is not.

Nagel hinted at this dynamic, saying the system would “leave open a range of alternative successor states, presumably with a probability distribution over them” (Nagel 2012, 94).

As time advances, we get longer strings of bits. The combinatorial space of possible combinations grows exponentially. In our case: T0=21, T1=21+22, T2=21+22+23 → TN=2(N+2) – 2.

Now imagine we shake our envelope for a really long time. We’ll be left with strings of varying lengths and combinations—some quite long. The combinatorial space will have expanded exponentially. So will the adjacent possible.

Think of the combinatorial space as the volume of air in a balloon and each pulse of time as blowing a little more air into it. The more time that has passed, the more air in the balloon. The size of the combinatorial space, and thus the bounds of complexity, increases with time (Walker and Cronin 2023).

1.1.2.4  But wait, there’s one more thing. Let’s add one more feature to our envelope: negation. Negation can break apart certain combinations of our strings. Imagine a set of spikes lining the inside of the envelope. When they encounter specific combinations—say, B-B-B—they break them apart back into three individual Bs.

Some longer strings may prove more stable; others may act as agents of negation themselves, breaking shorter strings when they collide. Negation isn’t confined to the original physical boundary. 

In biology, we’d call this act of negation selection. But “to select” implies something is selected for. Instead, what persists does so simply because it is not the thing that didn’t. As Richard Dawkins put it, the watchmaker is blind (Dawkins 2015).

1.1.2.5  Our system is recursive—the output of each step becomes the input for the next. And since there is noise at each step, each step creates path-dependency or historical contingency.

If I shook the envelope 10 times and measured the result, then rewound time and shook it 10 times again, I’d get a different outcome—I’d have walked down a different path. This historically contingent path gives our system an arrow of time.

If we rewound and re-ran evolution from the beginning, would we still get kangaroos and you? If we re-ran the development of language, would 6-7 still become a meme? Or would it be 4-5, or duck-rabbit (which actually might not be a bad way to explain 6-7)?

A temporal process is a better description and closer to the heart of what we’re after—a definition that is “grounded in an ontology of process” (Taborsky 2014, 7, 28).

Complexity isn’t a thing—it’s a process that produces what we call complex things. 

1.1.2.6  Each string has a local perspective—everything outside the string is, in a sense, counterfactual to its own history. From a given string’s perspective, its envelope includes both the original physical envelope and all the other strings—we’ll call this the string’s environment (envelope plus other strings).

1.1.2.7  If we start with lots of As and Bs, then we, in effect, run lots of experiments at once; we might say our system is massively parallel

Occam’s complexity corollary: multiple objects beyond necessity. We want lots of bits.

“The big bang was also a bit bang” (Lloyd 2007, 46).

1.1.3  Complex Systems Defined

1.1.3.1  Putting the pieces together, a complex system, as we’ve outlined, is one in which bits recursively combine to form historically contingent strings in an inherently noisy envelope. Some of these strings persist, and some of these strings are negated by their environment. These dynamics have the potential to produce highly structured configurations that occupy a small region of a vast combinatorial space.

The pieces required are an envelope, a source of noise, a source of free energy, composable bits, and a process to negate combinations of those bits.

1.1.3.2  Note that if we cap the length of strings, we cap the size of the combinatorial space, and we stop generating more complexity. But if the length of our strings can grow indefinitely, we can continue to generate more complexity.

1.1.3.3  We can now start to think about how to measure complexity. A string of length N requires N-1 pulses of time to form. After 19 pulses of time, we could have a string with a maximum length of 20. At that point, the combinatory space would exceed 2 million states (2(19+2) – 2).

Finding any one particular string wouldn’t be surprising, but finding many identical long strings in a space this large gives us one way to measure complexity. To frame this in the language of Assembly Theory, we’d say we had an Assembly Index of 19 (the fewest steps to produce a string of length 20), and the copy number would be the number of similar strings (Sharma et al. 2023, 322-323). Assembly Theory provides a way to measure if our complex process is at work. Basically, if you find a lot of the same highly improbable string, something’s up.

In this sense, complexity is not just structure or improbability but a repeated counterfactual structure: each realized string is defined against a vast space of strings that could have existed but didn’t. What makes a configuration complex is not only that it is low-entropy and highly structured, but that it contains lots of copies of improbable strings relative to the size of the combinatorial space.

There are lots of different ways to measure complexity, but for us, this simple way to think about it will do.

1.1.4  What Complexity Is and Isn’t

1.1.4.1  James Ladyman and Karoline Wiesner give a list of complexity truisms against which we can measure our system: More is different (1.1.2.2); Nonliving systems can generate order (1.1.1.2); Complexity can come from simplicity (1.1.2.1); Coordinated behavior does not require a controller (1.1.2.4); Often modeled using information processing; Diversity (1.1.2.3); Probabilistic (1.1.2.3); Cross-discipline (1.1.6); Order of system versus the process (Ladyman and Wiesner 2020, 9). We are off to a good start.

They also provide a list of common features: numerosity, disorder and diversity, feedback, non-equilibrium, spontaneous order and self-organization, nonlinearity, history and memory, robustness, nested structure and modularity, and adaptive behavior (Ladyman and Wiesner  2020, 10–11, 65–85). In our terms, disorder (noisy envelope) and numerosity (lots of bits) combine with feedback (negation) and composable bits to produce non-equilibrium, self-organization, diversity, nonlinearity, history, and memory. We haven’t yet addressed robustness, nested structure, or adaptive behavior.

We also align closely with Melanie Mitchell’s definition of complexity: “a system in which large networks of components with no central control and simple rules of operation give rise to complex collective behavior, sophisticated information processing, and adaptation via learning or evolution” (Mitchell 2009, 13). We’ve specified the components more explicitly. We fall short on adaptation and learning.

1.1.4.2  Our complex system is not just another case of chaos. In classical chaos, small differences in initial conditions lead to large differences in trajectories within a fixed combinatorial space—the butterfly flaps its wings, and the storm shows up elsewhere. 

In our envelope, what matters more is that the combinatorial space and the adjacent possible both grow over time: combinations expand them, while negation prunes them. Non-linearity arises as much from this moving, expanding space of possibilities as from the local interactions of the bits. We care less about the precise initial conditions and more about the contingent history of combinations and negations that are realized in our noisy envelope.

1.1.4.3  Our system is also not like cellular automata or Conway’s Game of Life (Gardner 1970), which looks more like the chaotic system mentioned earlier. For the Game of Life, we take a random seed, apply it to a fixed combinatorial space (the grid), and advance it based on fixed rules—each step is predictable if you know the initial seed. We may associate “shapes” with formations like gliders, but these patterns evolve within a fixed rule set and a fixed grid.

In our system, both the strings and the effective combinatorial space are unpredictable, the process between the steps is noisy, and the rules of what is possible (combination and negation) are a function of the envelope that now contains new strings, which subsequently affect the next step. The important thing in our system is that the combinatorial space, and thus the adjacent possible, is dynamic and expanding.

1.1.5  Regularities and Reading the Tape

1.1.5.1  Borrowing from James Lovelock, imagine a world called Daisyworld inhabited by just two flowers: black daisies and white daisies. Black daisies absorb heat, while white daisies reflect it. As sunlight increases, white daisies thrive and reflect more light, cooling the planet. As sunlight decreases, black daisies thrive and absorb more light, heating the planet (Lovelock 2020, 13).

The balance between the daisies, responding to changing conditions, holds the planetary temperature in dynamic equilibrium—a kind of homeostasis. Lovelock asked us to imagine the Earth, with all its species and feedback loops, operating in much the same way. As he said, Gaia is all about “constraints and consequences” (Lovelock 2016, 71), which sounds like our little system.

We could simulate something similar in our system by restricting combinations to just A-As and B-Bs—capping complexity—then defining how the As and Bs combine and negate based on available free energy. But if we leave string lengths uncapped, eventually a longer string will emerge and push the system out of homeostasis.

Maybe a new type of daisy pops up—a yellow one—and starts pumping so much CO₂ into the atmosphere that it warms the entire planet, threatening all the other daisies. Just as a totally hypothetical example, of course (ahem).

1.1.5.2  Complex systems oscillate between stability and instability. Think of complexity as the golden mean between stability and instability—just as courage sits between cowardice and recklessness (Aristotle 1962, 70-71).

Negation acts as negative feedback, serving as a governor (Maxwell 1868) that regulates how much variation the system generates. Too many negations destroy complexity before it can arise (negative feedback). Too few combinations mean the system won’t explore enough of the combinatorial space to create sufficient variation. Lastly, too many combinations (positive feedback) can cause the system to explode with possibilities—and likely collapse.

We still don’t understand this oscillation well enough; as Darwin said: “Our ignorance of the laws of variation is profound” (Darwin 2012, 50).

1.1.5.3  Each string encodes its path through time—it contains information, a memory. It’s the sum of combinations that happened to it and the negations that didn’t. The strings that remain in our system—and just as importantly, those that don’t—tell us something about the system’s history. We’ll call this sequence of bits the string’s tape.

For the strings that remain, their information is compressible due to periods of regularity. The system’s regularity, or stability, becomes measurable by the compressibility of its longest strings.

We see this pattern across many complex systems (Agüera y Arcas 2025, 83-85), and it distinguishes a complex system’s tape from something like a crystal’s tape, which would be almost entirely reducible (all As or Bs). Text, DNA, and other “tapes” are compressible to a point. This compressibility measures the balance between stability and instability.

If the system were completely unstable—i.e., random—the tape wouldn’t be compressible. Its length would be its Kolmogorov complexity: the length of itself. Conversely, for a crystal, the tape is nearly totally compressible.

1.1.6  Tangled Threads

1.1.6.1  Our definition of a complex system touches on computation, biology, and language. As we move along, we’ll try to untangle these threads.

Composability and negation parallel the And and Not found in computation. Together these two operators can form a Nand gate—the only gate you need in a computer to do everything. In this sense, each combination and negation is an act of computation. Computations consume free energy, which is why your computer gets hot.

If we imagine unlimited As and Bs, formalize combinations and negation as fixed rules, and treat our strings as tape encodings, the system has the resources to be Turing complete. This means it can simulate universal string-rewriting machines (Turing 1937). The programmer is blind, too.

1.1.6.2  Our process of combining and negating mirrors selection in evolution. We’re not self-replicating, and we fall short of various definitions of agents or life—but we’re getting closer.

1.1.6.3  We could think of our bits as symbols and their arrangement as syntax. Strings combine with other strings, just as noun phrases and verb phrases combine to make sentences.

In linguistics, Noam Chomsky suggested the name “merge” for our innate linguistic operator—the one that unlocks our ability to produce language through the recursive combination of noun phrases and verb phrases (Berwick and Chomsky 2017, 10). This is very similar to our recursive combinatory process. We’re getting closer to linguistics, too.

1.1.7  Predictions and Negations

1.1.7.1  Think of our system as one that makes predictions. Each new string is a prediction proposed to the envelope. In our simple example, these predictions—combinations of bits—are put forth randomly. There’s no inherent meaning to them; they are simply a test of what survives.

Each string is a prediction, and the envelope always answers in the negative—wrong predictions are destroyed. The prediction isn’t right; it simply isn’t wrong. The reward is survival: the remaining strings get to make another prediction, to ask another question.

The use of the word prediction at this stage may seem odd, but as we progress it will become clearer. In using it, I do not mean foresight, purpose, or goal-directedness, but only the proposal of a possible next string that is exposed to possible negation by the envelope.

1.1.7.2  Think of negation as culling, pruning, falsifying, or eliminating. It creates a process of narrowing, filtering, winnowing—a process of attrition. Strings are simply ruled out.

John Cage, who taught us to listen to noise, said “Every something is an echo of nothing” (Cage 2011, 131). Each effective negation gives rise to a more complex something—an act of creative destruction (Schumpeter 2008, 83).

Think of it this way: each expansion of the combinatorial space gives the sculptor more block to carve. What’s left is a tree branch, an artery, a path through an enormous combinatorial space of possibility, carved by negating predictions.

← Previous  |  Next