H

"A 3.5 Billion Year Old Technology" — Interview with Julian F. Miller

Interview by Harm van den Dorpel, published 7 May 2021. Source: A 3.5 billion year old technology.

Overview

Julian F. Miller (1955–2022) co-developed Cartesian Genetic Programming (CGP) with Peter Thomson; he died in February 2022, nine months after the interview. Van den Dorpel introduces it with his own problem: he wanted software that "mutates computer code, as opposed to software that 'just' mutates data", but "most mutations of computer code cause infinite loops, stack overflows, rainbow spinners, blue screens of death, and core dumps. I basically stumbled upon the notorious halting problem." In 2019 he found Miller and Thomson's method, "later dubbed 'Cartesian Genetic Programming' (1999)", and wrote his own implementation in TypeScript: "By defining a visual programme as a two-dimensional grid (layers and nodes) I could safely mutate without ever getting stuck in an infinite loop." The interview names no work, but this implementation became the engine of Mutant Garden. What CGP is and how the practice uses it is set out on Evolutionary Logic.

Floppy Candour
Floppy Candour (2020), Mutant Garden, lightjet print on metallic paper, 70×83 cm

What Miller says

Background. Miller trained in physics, wrote a PhD in mathematics on solitons, and moved to Napier University in Scotland, where he wrote programs "to build electronic circuits efficiently". In 1994 a colleague mentioned genetic algorithms; he tried them on circuit optimisation and "it immediately worked well". With Peter Thomson he found "a simple way to represent circuits as a graph", aimed at "making electronic circuits using as few logic gates as possible", and generalised it: "The computational structures used a Cartesian grid of computational nodes so I called the technique Cartesian Genetic Programming."

The method. Genetic programming uses "a simplified model of Darwinian evolution": chromosomes of genes are mutated and recombined, tested each generation, and the fitter kept, so that "solutions can emerge that humans would not think of." CGP is the graph-based form. Its nodes (add, subtract, multiply) can be reused by other nodes, its graphs "can have many outputs meaning that more than one problem can be solved at the same time", and a decoding step ignores some genes. These non-coding genes "do not affect the computation", but "mutation changes them and after a few generations new graphs emerge."

Lineage and variants. R. Friedberg mutated programs at random in 1958; S. F. Smith (1980) and Forsyth's BEAGLE (1981, which predicted recovery after heart disease and British football results) followed. When Miller proposed CGP, the dominant forms were tree-based GP (John Koza, 1992) and Linear GP (Peter Nordin and colleagues, 1994–95); Push (1996), Grammatical Evolution (1998) and Cartesian GP (1997) came in the same decade. Variants include self-modifying, differentiable, modular and positional CGP. Self-modifying CGP, he suggests, "could be a method of evolving an entire gallery of art rather than one at a time." He was then working on DEMANNED, a CGP system that builds several neural networks at once.

Autobreeder on a portrait screen: two parent specimens named Waves and Yufhomy above a grid of their offspring
Autobreeder (2016), Death Imitates Language

Before CGP, van den Dorpel's breeding systems used plain genetic algorithms. Autobreeder surfs the genealogy of Death Imitates Language (2016) on a portrait screen: here two parents, Waves and Yufhomy, sit above a grid of their offspring.

Creative process

Van den Dorpel says his process "hinges on the 'Try again. Fail again. Fail better.' adage" (Samuel Beckett, Worstward Ho, 1983): "I personally experience the most creative magic in this feedback loop of trying and failing." Miller agrees that creativity is "a series of inspirational moments and a huge amount of experimentation". CGP began in a discussion with Thomson; "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." He cites Thomas Kuhn's The Structure of Scientific Revolutions for science as "occasional inspiration and long periods of analysis and development". The accidental origin of the non-coding genes is taken up on Impulse, Risk, and Method.

Is it alive?

Van den Dorpel asks whether the imported vocabulary (crossover, mutation, breeding, generations), though "mechanically similar to how they are coded in algorithms", makes "the systems we build" seem "more 'alive' than they actually are". Miller agrees that "there are many bio-inspired methods these days that obscure the algorithms with too much jargon", and names Karl Sims's evolved creatures (1994) as systems that "seemed quite life-like".

He then asks whether the quest for artificial life reveals "the human desire to create — or at least simulate — life in an effort to deal with our own mortality". Miller answers that it is "more about trying to understand what life is", either top-down by studying biology or bottom-up by building life-like systems, and ends: "Personally, 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 sentence describes life in engineering terms; it does not say that bred programs are alive. Van den Dorpel's own view, given to Jenna Sutela the same year, is "I don't really believe that my mutants are alive, but they are changing." The wiki's reading of the two together is on Evolutionary Logic (Agent's reading: technology, not life). His question about mortality connects the interview to the deaths and fossils of Senescenence and Spike #70.

See also