This article explores the implications of a mind-bending theory about life and intelligence. If the theory is true then this article provides a recipe for building human level AI/AGI and a new view of life itself. Beware that these bold claims rest on a simple but unproven theory.
“Turing machines are mathematical attractors in large dynamic systems.”
What is a Turing machine? If you know what a Turing machine is then you can skip this section.
A Turing machine is a machine, the simplest conceivable machine that can simulate all other machines. It is a hypothetical machine thought up by Alan Turing. Among many other things, he is the father of theoretical computer science and artificial intelligence, and the formalizer of algorithms and computation. An awesome feat.
Once you have a Turing complete machine, then in essence you have all machines. Although the Turing machine is Turing complete, we do not use the architecture in practice as they are notoriously cumbersome to program. Simplicity at the cost of expression. Your laptop or PC is based on the more expressive von Neumann architecture, equally Turing complete, and much easier to program. Your laptop or PC is very much capable of running simulations of Turing machines.
If our laptops and PCs are Turing complete, why does this theory center around Turing machines? What makes them so special?
Alan Turing showed us that you can make universal machines with very few parts. Turing machines are the simplest conceivable designs for Turing-complete machines. If you were to do a breadth-first search for a Turing complete machine, starting with very simple components, given a new small component each time, then the first result will be a Turing machine.
Similarly, the process of evolution is a breadth-first search for variations of machines that survive on planet Earth. In the stepwise search for solutions for survival, surely the first successful answers are machines that resemble Turing machines. I believe that evolution found the expressive power of Turing-like machines in the world of molecules and chemistry. That is the basis of this theory. Let’s explore the evidence.
Before we proceed, we need to agree on the definition of a “Turing-like” machine. We need this definition to describe the evolution of machines from the ground up, including machines that are not necessarily Turing complete. We will adopt the following definition for the simplest Turing-like machine:
A Turing-like machine consists of at least these components:
1. A tape with symbols.
– The tape is any type of medium that can hold symbols in locations.
2. A tape head.
– The tape head reads or reacts to symbols on the tape according to a set of rules.
In this article, when we talk about Turing machines, please assume it to include the space of these Turing-like machines and all its variations.
Turing machines are simple machines, by definition. You don’t need many parts to make one, just a tape, some symbols, a tape head with some rules, and a tape drive mechanism. We can think of many variations and instances of Turing machines. For example, we can apply modifications like these:
- Different sets of symbols (binary, letter, words, etc.).
- Multiple tape heads.
- Stacked tape heads.
- Tape head connected to an outside source.
- Tape that moves continuously, independently from the tape head.
- Tapes that are communicated between Turing machines.
And so on, whatever modification you can think of. There exist many variations and instances of Turing machine architectures, and infinitely many codes that will run on it.
Let’s explore the theory by asking these questions:
If a large dynamic system gradually increases in complexity, as dynamic systems do, and there exist infinitely many designs for simple machines and codes, given enough time, can we expect simple Turing-like machines to emerge and interact? If so, could life on Earth be the result of this?
The following chapters are an exploration of the conditions that may have given rise to the first machines on Earth. It is fiction, an introduction to the world of simple Turing-like machines.
If you are here for AI/AGI only, you can skip these chapters and continue reading from the chapter titled “The human brain Turing machine”.
If a large dynamic system is given a good stir by an external energy source, such as the Sun, then currents of fluid will swirl, creating swirls, sub-swirls, sub-sub-swirls, and so on. Nothing special so far, it’s just mathematics doing its work. Just look at weather patterns. Cycles everywhere.
These channels and cycles will contain distributions of molecules, each with their own rules of chemical interaction. Suppose a smaller cycle of molecules interacts with a larger cycle of molecules. At this point, according to our definition, we already have something that is starting to resemble a Turing machine, a “proto-Turing machine”.
The larger cycle resembles a simple Turing machine with a circular tape. The smaller cycle serves as a tape head with a cyclic code of molecules. With the right set of molecules and rules of chemical interaction, a simple instruction set can be created. The molecules at the boundary will interact according to the rules of chemistry, analogous to the execution of code.
This might be a little bit too much imagination for your liking, but please note that there exist infinitely many simple Turing machines. One could postulate that for any set of interconnected cycles of molecules, we can find Turing-like machines that efficiently describe the state and rules of the molecules and their paths, such as with circular tapes and cyclic code. Then by mathematics it should behave according to that particular Turing machine, even if it were for a short moment.
There is of course no guarantee that such a Turing machine will be successful. Most will pop into existence and die out instantly, or they may halt, or get broken apart by external disturbances. By the patience of evolution, given enough time and chances, some types of machines will have acquired code that contributes to survival. These machines will tend to hang around for a little longer than usual.
The search for survival-machines takes eons. The number of codes that sequence for a successful Turing machine are very limited. Especially considering the number of codes that lead to nothing. You can’t just make a random guess at a large piece of code and expect a successful outcome. Most random pieces of code do nothing interesting. Evolution is a breadth-first. Start with the simplest of machines and from there then try variations of modifications. The ones that work will survive.
This analysis is pure speculation, of course. What we do know is that at one point in Earth’s history, a particular machine was tried out which had the “right” code, the code for self-replication. Any machine can be described in code, and evolution has found a way to encode a self-replicating machine in DNA. From a computation perspetive, we could say that DNA is the equivalent to Alan Turing’s “Standard Description” used in the Universal Turing Machine.
This is when life began, the evolution of self-replicating machines, searching for codes that contribute to survival. The theory in this article predicts this emergence, because it states that Turing machines are naturally occurring phenomena.
Our lowest common ancestor was a Turing-like machine. The tree of life is a map of the (breadth-first) search for variations of Turing-like machines that work well on planet Earth.
Some advancements take many millions of years, such as the time it took between Prokaryotes and Eukaryotes. Some advancements require an additional component to the Turing machine that is hard to come by, or a piece of code that is very particular. The result is a complex cell with a system of interacting simple machines.
If you have not yet seen those wonderful 3D animations of the molecular machinery in living cells, then please do. You will not be disappointed. You can find some impressive ones on YouTube.
Do you agree that the ribosome looks like the tape head of a molecular Turing machine? And that the strand of mRNA is the tape and code of this machine? I find it quite convincing.
Could it be that we are Turing machines all the way up? Our body being a city of Turing machines? Maybe our blood vessels serve as a shared tape, a vast communication highway between Turing machines, to communicate molecular messages written in the language of amino acids, codons and proteins.
This is all speculation, of course, but we do know that evolution produced us humans, intelligent machines that are capable of symbolic reasoning. Could it be that our brain architecture is based on a Turing-like machine?
Isn’t it impressive that your brain can read all these sentences, process it and formulate an opinion? I find it difficult to imagine such a complex symbolic reasoning machine to arise in the networks of conventional ML. It would be like building a mechanical watch with clay.
If evolution slowly but gradually managed to build an intelligent machine, then I would think that it would be built upon a Turing-machine-based architecture. Of course the brain is not a physical tape head and tape, but conceptually the brain can be seen as a Turing machine, a simulation. Evolution is a breadth-first search for efficient survival methods. By mathematics we can expect it to find the first solutions in the space of Turing-like machine architectures.
If evolution searches for the most efficient survival-machine in the space of sequentially spiking neurons in the brain, and we humans are the first of the super-intelligent machines on Earth, then surely the human intelligence architecture is based on a Turing machine architecture.
Our brain then, can be thought of as a simulation machine that runs a Turing machine, using a network of neurons to build and maintain all the components. The challenge for an intelligent Turing machine is to acquire the code that provides the best responses to input code, i.e. the best answers for survival. The perfect human Turing machine and code does not exist in the real world. The brain must make do with the available network, energy and rules to build the best possible machine.
If I were to speculate, our brain holds a database of codes with many indices for fast lookups, corresponding with the associations between the codes, but primarily indexed by time. This architecture simulates the constant moving tape of the brain’s Turing machine. Codes that arive from the senses are written to the tape. Learning is about finding sequential patterns in the codes on the tape and storing these patterns as new codes. These patterns serve as a shorthand to allow for compression of memory, and allow for prediction. Maybe these sequential patterns correspond with the pyramidal cells. Patterns upon patterns.
As codes are written to the tape from the senses, the machine is constantly busy working away all the unprocessed codes. It does so by connecting the codes into context, interpreting the codes, working away all the loose ends, and generating new codes in the process. That is what we do when we listen, think and speak. Unanswered questions are loose ends which ask for attention until answered.
As you are reading this text, the simulated Turing machine in your brain is processing the words like codes on a tape. Words are structures of building blocks of code on your tape. There is a whole library of them. When you were a child, it took you a while to learn your language and to use it for speaking and understanding. It required you to learn a fast addressing scheme to access these new codes. Once you acquired the manipulation rules for words, it allowed you to efficiently exchange codes with other human Turing machines.
As we execute the code that corresponds with the words, the tape head “stitches” the words into the context section on the tape. Only when all words make sense in the context, i.e. when there are no loose ends, only then can we close a sentence and start a new sentence.
Turing machines can do this very fast. That is how we can stream out words and sentences at fast pace. We use the same method for listening as for thinking as for speaking. That is how we can think in words.
If I were to speculate, processing the words and sentences would require a stack of tape heads. The stack allows us to park one head, and move the next head relatively from there and return later. Among other things, this allows for a level of recursion, which is necessary for efficient language parsing. The extra tape heads also allow us to move the context back and forward in time, such as to replay memories.
I would expect that only we humans have such a stacked tape head, as a stacked tape head is required for efficient language processing and symbolic reasoning. We need this tape head for all system 2 activities activities. It is conceivable that it is something like this that separated us from the apes. With this stack of tape heads we unlocked a powerful new feature in the space of Turing machines. That’s one small extra tape head for a Turing machine, one giant leap for humankind.
We study and we read books, because we are programmed to enrich our tape with knowledge and ultimately improve our algorithms. We all like music because we like the way it causes our tape heads to move. We behave like we do because the codes in our DNA say so, and the codes on our tape say so, and the codes from our senses say so. This simplified model does not explain everything, but it can serve a staring model to work with.
Why use Turing machine architectures for AI/AGI? Why not use conventional techniques such as CNNs or other types of neural networks?
Firstly, it is worth a try. Conventional techniques have yet to produce the symbolic reasoning we are searching for. Secondly, most neural networks are not based on the spiking model that our brains are based on, but instead build a landscape of gradients and valleys. Thirdly, most interesting neural networks that we hear about in the media consume vast amounts of energy. And fourthly, the most dangerous part, neural networks do not show what they are thinking.
Our laptops and PCs are great for running Turing machines. Unfortunately Turing machines are notoriously difficult to program to do even the simplest of things. However, with some modifications they do become easier to program. Which modifications? Which data structures? Which library of algorithms? We do not yet know, we just have to start trying. Start from the simplest model and grow from there. After all, that is how evolution successfully found the answer. We have to follow the same path, but a lot faster. It will be a quest to find and build the first digital human Turing machine. Let’s hope the outcome benefits us all.
The machine design for basic intelligence may not be so difficult as we once thought. We can expect the final architecture to be relatively simple, but the search for the right code will be the most challenging. We have to evolve the architecture from the ground up, design and build the initial code, and then teach it. This whole process involves a lot of testing and learing. A monumental task.
My progress: I have been playing around with some architectures and I think I’ve got the basic architecture right. But it is still far from complete, I am sure. I am currently working on the search for the most efficient set of “glue-codes”, the Universal Grammar necessary to build the language of words. I think I have found a few useful glue-codes, but not yet sure they will all survive. Once the set is complete, enough to say link up all of Ogden’s basic English, then the rest should be “easy”. That’s the idea anyway. I know it requires a lot more than that, such as linking it all up to codes for symbolic and logical reasoning. It is a journey.
This concludes the account of my journey so far. There are still many loose ends. Nevertheless, I hope you enjoyed the idea, and I hope you have become curious to explore the wonderful world of Turing machines.
This journey started 40 years ago when I was 7 years old. I asked my father: “Father, what is a computer?”. My father answered: “A computer is a machine that answers questions”. I thought “Great, I want one of those machines. I have so many questions!”. Some time later I found out that computers are not the oracles I hoped them to be. But by that time it was too late, the unanswered question stuck: how do you make a machine that answers questions? What is thinking? And so on. It has been a long quest to try and build an AGI. Trying out many many ideas, but they all resulted in too many loose ends. Recently, a series of thought experiments led me to an interesting architecture that seemed to have no loose ends. When I drew out the architecture on a whiteboard, I found that it resembled a form of Turing machine. It was then that everything fell in place. Thanks Pa.