Image: Markus Spiske / Pexels

Can ‘life’ be considered a form of code?

There are countless similarities between computational programming and biological life, as both mathematicians Alan Turing and John von Neumann proposed over 70 years ago. Von Neumann proposed a model of a self-reproducing machine that identified and gathered the materials needed to replicate itself, akin to what cells do during division. Turing himself was immersed in ‘morphogenesis’, “the process of an organism’s shape development”, near the end of his career, focusing on multicellularity and examining it with mathematical equations. Before his death, he utilised the Ferranti Mark I computer – an innovative machine as the first digital computer accessible to the public – to theorise how features such as tentacle growth or cow spots appear on animals. 

Using the Universal Turning Machine – a theoretical concept that can reproduce any machine’s behaviour through reading the rules, or ‘program’ – von Neumann’s idea of a self-replicating machine can be extended to mirror the structure and function of DNA. In this analogy, components such as DNA polymerase (the enzyme that copies DNA) and ribosomes (structures that make proteins) play roles similar to parts of a machine, copying and assembling sequences following certain rules and conditions to form a chain. This is a useful link that pushes the idea of computational coding as a way to simulate the biological processes and phenomena that occur in life. One could argue here that life is a type of code – a program that follows the rules and conditions set in order to execute specific functions and carry out specific processes. 

Cells can contextualise themselves within an organism to regenerate features of itself; moreover, the use of computational code further implies similarities between the biological behaviour of life and programming

Based off artificial life research, using ideas supported by that of Turing and von Neumann, a model was created showcasing how cells which alter their state – rather than motion – behave: the ‘neural cellular automata’ (NCA). The study of ‘self-organisation’ in cells can be modelled using computer programming, such as the NCA model Alexander Mordvintsev developed where an image of a cartoon lizard can be seen to be outwardly generating itself starting from the centre until it reaches its completion. This provides an idea of how cells can contextualise themselves within an organism to regenerate features of itself; moreover, the use of computational code further implies similarities between the biological behaviour of life and programming.  

While not an exact replica of the internal processes occurring in multicellular life, there are theoretical connections between the two that can be used to explain them through simulations such as the NCA morphogenesis model.  

Social life, not just biological and genetic life, can appear to be following conditions or instructions just as a computer program would

But, of course, simplifying entire biological processes to computational code can be too limiting and perhaps even dehumanising. To say that life, and all it includes, can be mimicked by a string of code and a list of conditions and functions, implies a lack of agency and even a sense of powerlessness. If a machine can clone us, are we truly original? Or is it simply the concept of basic biological processes that can be replicated?  

Even so, social life, not just biological and genetic life, can appear to be following conditions or instructions just as a computer program would. A ‘social code’ – referring to a collection of regulations rather than instructions – could, in some way, be inferred as computational code. For example, if a certain action or behaviour is carried out and if it occurs in specific environments, return an appropriately matched consequence. If I dress appropriately, return I will be perceived as acceptable. However, this is more theoretical than physical, as it still relies on free-will and internal motivations needed to ensure that certain behaviours occur.  

Nevertheless, randomisation is a part of computational programming too. Turing ensured that the Ferranti Mark I had a feature allowing number randomisation, meaning not only can a computer allow it to happen, but it also is an important and valuable feature for a machine to have. Randomly assigning an outcome to an action can be produced through code. But does that make it accurate?  

In the end, ‘life’ – both genetic and social – could be mirrored by computational code, through functions and detailed instructions that produce outcomes representational to daily life. It is useful, and intriguing, to create a parallel between living organisms and machine programming. But is it enough to say that the result – an idealised model of reality – captures the way our lives are lived?  

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.