We live in a universe that, miraculously, can support life and intelligence. Both of these depend on an even more fundamental fact about the universe: It can compute. Parts of the universe can store, transmit, copy, and transform information, carrying out the computations it needs to respond to its environment and survive, creating metabolisms, ecosystems, and thoughts. Arula Ratnakar’s “Coda” is the poignant story of a woman who explores different forms of computation, first as a theoretical computer scientist and then with her own personhood.
The most basic logical operations—“and,” “or,” and “not”—are the elementary particles of computation, at least as far as classical, digital computation is concerned. Our most complex algorithms are built out of them, just as molecules and bodies are built out of atoms. And they don’t require much to get going. All they need is a way to represent a bit of information—true or false—and enough interaction to combine two bits and produce a third. Before transistors came along, people built computers out of water tanks, springs, pulleys, cogs, and gears. Our neurons combine digital and analog information from their neighbors, process it, and send out signals in response (in a way far more complex than the cartoon “neurons” of artificial neural networks). Nanotechnologists dream of building computers out of strands of DNA, reading and writing information on them—see Greg Bear’s novella Blood Music for some possible consequences. In fact, it’s hard to find physical systems that can’t compute.
Computation appears throughout mathematics as well. Even seemingly simple systems can compute—Stephen Wolfram’s cellular automata, or tiles fitting together to cover a floor. John Conway found a way to turn any computer program into a list of fractions. The memory of this computer is a single number x. You just go down the list until you find the first fraction where multiplying it by x gives a new whole number. This programming language, which he called Fractran, can do anything you can do in Python or C.
What is perhaps even more surprising is that, in a sense, all these physical and mathematical systems are equivalent. Each of them can simulate any of the others. In the 1930s, Alan Turing proposed his famous machine as a minimal model of computation: a “head” with a finite number of states, that can read and write symbols on a “tape.” This machine can carry out any calculation that you or I could do on a piece of paper. Given enough time and a long enough tape, it could simulate anything from atoms to neurons.
In turn, when we say a system can compute, we mean that it can simulate a Turing machine—closing the loop and showing that all these systems have the same computational foundation, from neurons to Conway’s Fractran. Even quantum computers, which compute in radically different ways—using waves of probability so that wrong answers cancel out while the right answer resonates in phase—can’t do anything a Turing machine can’t do. They just do it exponentially faster. So while these approaches to computation may look very different, and some may be faster or slower than others, they can all ultimately carry out the same functions.
We use the word “substrate” to describe these systems. They are to computation as hardware is to software. Our favorite programs can run happily on our phones, or in the cloud, or in a virtual machine inside a web browser. Any computation, and perhaps any consciousness, can “run” on any substrate.
Any computation, and perhaps any consciousness, can “run” on any substrate.
Ratnakar’s protagonist Ray makes a key discovery in “Coda” by disproving a conjecture from my PhD thesis. In graduate school, inspired by Douglas Hofstadter’s monumental Gödel, Escher, Bach, I became fascinated by the possibility of computation in another substrate: chaotic dynamical systems—systems with a few variables that change over time in unpredictable ways. My idea was to store a Turing machine’s tape in a pair of real numbers, like the x and y coordinates of a particle. The symbols on the tape are the digits in these coordinates’ binary or decimal expansion. A dynamical system can then read and write these digits, and shift the “tape” to the left or right by stretching and squeezing its state space in different directions. Very recently, Eva Miranda and her collaborators showed that this kind of computational dynamics can appear in fluid flows.
As beautiful as this computational chaos is, I conjectured that it is very fragile. Turing machines need a tape that goes on forever, or that grows as needed, in order to store a potentially infinite number of symbols. But if a real number like 1.6180339887… is perturbed even a little, by noise or a flaw in the system’s construction, we lose track of all but a finite number of its digits. It seemed to me that this was unavoidable in any system that tries to pack an entire Turing tape into just a few numbers, such as a set of differential equations.
But somehow, in Ratnakar’s story, Ray finds a way to make this substrate stable by embedding it in a biological system. She uses RNA to carry out basic “combinators”—a model of computation that copies and pastes parts of strings, much as cellular machinery can modify RNA strands. (This model, explored by Turing’s contemporary Alonzo Church, lives on in some programming languages used today.) If she can confirm her proof of stability with the help of a quantum computer, then she can embed her program in living cells. The possibility that this has already happened—that she is already living a world simulated by such a system—haunts her. Details around her seem a little wrong, with an artificial clarity, perhaps because they are rendered too poorly or too well by the simulation.
While working at a shadowy corporation that provides postquantum cryptography to governments and billionaires, Ray realizes that her discovery could break even these new cryptosystems. This touches on another one of my favorite topics, the nonabelian hidden subgroup problem. In the early 2000s, many of us in the quantum computing community tried to show that Peter Shor’s 1994 factoring algorithm could be applied to problems involving nonabelian groups. These are structures where the order of multiplication matters: ab might be different from ba. We showed that Shor’s algorithm doesn’t extend to these problems, including the Graph Isomorphism problem that asks whether two graphs or networks are topologically equivalent. But that doesn’t mean there isn’t another algorithm that does … We base our cryptosystems on the belief that certain computational problems are very hard, so that breaking our codes will take an exponential amount of time. But problems we thought were hard in the past have turned out to be easy, when a clever new mathematical insight came along.
Ray’s employers convince her that her tests failed, but we soon learn that she was right all along. Even more surprisingly, Ray comes to understand that she has made the jump into a new substrate herself, with the help of her friend Ishaan and his memories of her.
Problems we thought were hard in the past have turned out to be easy, when a clever new mathematical insight came along.
This leaves us with the classic question: Is consciousness just computation? Modern AIs mimic us so well, at least as far as producing text is concerned, that they come close to passing the Turing test—the “imitation game” that Alan Turing proposed as a way of telling whether another entity can think. But is there anyone in there? The philosopher David Chalmers calls this the “hard question” of consciousness. If a system can act as a substrate for thought, does that mean there is someone thinking, with an inner life and subjective experience?
With a nod to Thomas Nagel’s question “What is it like to be a bat?” Ratnakar asks, “What is it like to be Ray?” Is it like being human? Is it like nothing at all, now that Ray is a “mere simulation” running on a substrate of algal RNA rather than neurons in a skull? Or is it like something else entirely?
As readers of “Coda,” we know the answer. Ray’s consciousness is something rich and strange, as full and real as Ishaan’s or our own. Perhaps her world is too. Details in her world—her childhood memories of a mask, the name of the corporation—are different from Ishaan’s. Who is to say which is real? Tantalizingly, we are told that her world is nested inside a bigger one, struggling to appear in a higher theater of consciousness. Perhaps this nestedness goes on forever, with endless computational worlds all simulating each other. Perhaps the universe is an infinite hierarchy of simulations, with substrates all the way down, and all of it gloriously real.