"A 3.5 Billion Year Old Technology" — Interview with Julian F. Miller
Conducted and published by Harm van den Dorpel Source: sources/ingested/A-3.5-billion-year-old-technology.md
Overview
Van den Dorpel interviews Julian F. Miller, co-creator (with Peter Thomson) of Cartesian Genetic Programming (CGP, 1997–1999). The occasion: having implemented CGP in TypeScript as the engine for Mutant Garden, van den Dorpel sought out the algorithm's inventor. The conversation ranges from the technical specifics of CGP to the philosophy of creative process, biological jargon in computation, and the question of whether artificial life systems are "alive."
Key ideas
1. The halting problem as creative constraint
Van den Dorpel's opening: his goal was to mutate computer code itself (not just data), but "most mutations of computer code cause infinite loops, stack overflows, rainbow spinners, blue screens of death, and core dumps." This is the halting problem — the provably undecidable question of whether a program will terminate.
CGP's graph structure solves this: by representing a visual programme as a two-dimensional grid of computational nodes, mutation can proceed safely without ever producing an infinite loop. The graph encodes only what can safely terminate. The technical constraint (avoid non-termination) is what makes creative mutation possible at all.
This is philosophically resonant: the stop condition problem that recursion identifies (unchecked recursion bursts) finds its computational solution in CGP's graph topology. The artwork's generativity depends on a carefully engineered limit.
2. What CGP is
A graph-based form of Genetic Programming. Key properties:
- Computational nodes (add, subtract, multiply, etc.) arranged in a Cartesian grid
- Genes can be mutated slightly; chromosomes (strings of genes) can undergo recombination
- A decoding process ignores some genes — these non-coding genes don't affect current computation but remain subject to mutation
- Non-coding genes can activate after a few generations, producing new graph structures from dormant material
- Multiple outputs: a single chromosome can solve more than one problem simultaneously
The non-coding gene is philosophically significant. Genes that currently contribute nothing to the computation persist in the chromosome, mutate, and can suddenly become active. This is latent potential — a kind of genetic archive of unused possibilities that evolution can draw on without the organism having to express them now.
3. The lineage of CGP itself
CGP has a genealogy: Friedberg 1958 (random mutations to programs), Smith 1980, Forsyth 1981 (BEAGLE — predicted British football results), Koza 1992 (tree-based GP, the dominant form). CGP emerged in 1997, alongside Push and Grammatical Evolution, as a graph-based alternative.
Miller: "GP took off after John Koza's book." The algorithm's history is a history of competition between representations: tree, graph, stack, grammar — each encoding the same computational idea differently.
Van den Dorpel is using an algorithm designed for industrial circuit board optimisation (1990s engineering problem) to generate art (2019 onwards). This is the algorithmic archaeology identified in the Spike #70 interview: the algorithm is a fossil of a particular historical moment, excavated and redeployed in a completely different context.
4. Creative process: inspiration and long cycles
Van den Dorpel frames his creative process via Beckett: "Try again. Fail again. Fail better." The most creative moments live in the "feedback loop of trying and failing," not in singular inspiration. He asks Miller whether computational science works the same way.
Miller confirms: "CGP started with a discussion... The way that non-coding genes are used in CGP was originally there purely because it made it easier for me to write the program. I only discovered the extreme importance of non-coding genes for evolution later on." Accidental features become central discoveries. Science "proceeds by occasional inspiration and long periods of analysis and development" — Thomas Kuhn's model of scientific revolutions.
Both interlocutors locate creativity in the same structure: a feedback loop in which accidental outputs reveal something that wasn't intended, which then becomes the premise of the next iteration. This is discovery rather than decision applied to both art-making and algorithm development.
5. Biological jargon: useful but ideologically loaded
Van den Dorpel raises the question: does importing evolutionary biology's vocabulary (crossover, mutation, breeding, generations) make the systems seem more "alive" than they are? Miller agrees: "lots of biological jargon has been imported... some of them are essentially not very different, but they sound different!" The jargon can obscure as much as it reveals — creating an appearance of life-likeness that may not correspond to anything structurally distinctive.
But the question is also a genuine one: are these systems alive in some sense? Miller's answer is careful: the quest for artificial life is "more about trying to understand what life is" than about creating or simulating it. The bottom-up approach (building life-like systems) is one method alongside the top-down (studying biological life). Neither resolves the question; both deepen it.
6. "Life is a 3.5 billion year old technology"
Miller's closing formulation: "my work in the field of evolutionary algorithms has led me to have a huge amount of respect and wonder at all living things. Life is a 3.5 billion year old technology!"
The phrase reframes biological life as engineering: 3.5 billion years of iteration, mutation, selection, failure, and survival. Evolution is R&D at geological time scales. The genetic algorithm van den Dorpel uses in Mutant Garden is not an imitation of life — it is a recapitulation of the same computational logic at a vastly compressed timescale. What takes evolution millions of years, CGP approximates in rendering cycles.
The title of the interview takes this phrase as its anchor. It positions the algorithm within a lineage that is not just the history of computer science but the history of life itself.
Connections to existing wiki pages
- Evolutionary Logic — CGP is the specific technical substrate; this interview fills in the mechanism in full
- Subconscious Computation — CGP as the algorithm that externalises aesthetic impulse; the graph structure as the safe container for mutation
- Randomness and Pattern — non-coding genes as latent variation; the evolutionary feedback loop as the dialectic's engine
- Recursion and Self-Reference — the halting problem as the technical version of the stop-condition problem; CGP's graph as the engineered solution
- Impulse, Risk, and Method — "try again, fail again, fail better"; accidental features revealing themselves as central (non-coding genes); discovery over decision
- Mediation and the Archive — CGP as algorithmic archaeology; the algorithm as an archive of a 1990s engineering problem, redeployed in art; life as 3.5 billion years of technological accumulation
- Works Overview — Mutant Garden as the primary CGP instantiation; Death Imitates Language as the first genetic algorithm work