Independent Researcher
Question
Asked 23rd Oct, 2013
What are the basic ingredients for computation, and what extra ingredient is needed to make life?
First part of the question is: what are the absolute essential ingredients behind computation? You need (i) switches, (ii) interconnects, (iii) input energy source, (iv) memory, (v) feedback, (iv) correct timing delays. Are these the basic magic ingredients? Is there anything I have forgotten?
Second part of the question: what are the minimum essential ingredients I need to add to a computer to make it life, ie. self-reproducing?
In other words, when we compare the computational characteristics of a living cell to that of a standard computer, what are the essential differences? It is something to do with the instruction set itself, how it comes into being, gets processed, and replicated...but I can't quite put my finger on it and express the idea succinctly. And if I can't express it, it means I don't really understand something. Any ideas how to describe the essential ingredients rigorously?
Most recent answer
To the surprise of many, there is existing so-called emergent computation. There are published on RG several Python softwares--GoL-N24, r-GoL, and GoL, on my research profile that demonstrate the following properties: (i) emergent information processing, which arises through self-organization, (ii) error-resilient properties of some special cases of emergents, (iii) automatic creation of multi-level emergent systems.
This research is capable to reproduce into a certain extent by-the-life- utilized computing and information processing.
See some of many shared animations in my RG data section, software section, and discussion dealing with animations of complex systems, which are available here. The last paper from 2022 and the next one are dealing exactly with those issues. I recommend reading the review "Complexity in medicine ...", which serves as the introduction.
Just one animation to curb your appetite, it is in APNG format which is after its downloading easy to view in any modern web browser as a file (write at the window instead of web page '//' and chose the option to see files).

2 Recommendations
All Answers (18)
University of Leicester
The classical parts of a computer are input, output, processing unit and memory. Of course power supply and 'interconnects' are also needed. Now, for self-replication I will have to think a little longer... :-)
New College of Florida
First, I think we shouldn't compare computers with biological organisms, in general. One is man made and the other is naturally occurring in most circumstances. If you want rigourous, don't do it. It is good for analogies, but rigour isn't something like that. How many people think brains are computers these days? Quite many because they were told it is kind of like that, and that's what stuck yet there is no indication that the brain operations in a manner that is a computer but more like a large network with different mechanisms at hand. Computational models are best suited to be related to computers, not biological things in most circumstances. There are some special cases though where a specific biological mechanism is at question and I do know some people that study these from a computational standpoint.
Solar Corp Univ
hi derekk, our friends, both believe in computing to be a human developed machine. Its just because of technology was built from scratch by human brain. But humanity (included in the Living Being) has been so far limited to human thinking. But to reveal real humanity think of being a being sharing life with other living beings on (Earth - example. But not limited). This means input, output processor and memory are not alone components of life forms. But sensory mechanism (conscious, reactive and subconscious, organ functions(voluntary and involuntary), thought mechanism(optimistic and pessimistic), reality analysis(motor, non motor and situation), metamorphism(comparison and adaptation), reproductive abilities(general, physical,psychological), administrative abilities, communication (general, commanding, submissive, relative, directive) and many more.
So you need to look at life form at a basic cell level to be identical but different due to their characteristics and existence... so as a living comp cell.:)
The University of Calgary
Talking only about the second part, and assuming that the making life will happen in computational environment, we will have to take account mathematical models to represent the dynamic that we want to simulate or recriate. The research of John von Neumann tells much about it. He wanted to achieve complex behaviors through basic rules of spacial and temporal iteractions. In that way, these rules can be computed and simulated through a computational environment. This is the base of the automata celular theory.
Masaryk University
Hi everybody! I think your ideas of computation above are sometimes too narrow, limited to physical computing as we know it today. There was a symposium in 2010 called "What is computation" which may help us narrow the divide between different physical or non-physical domains in which computation can happen or at least be simulated or imagined. See http://ubiquity.acm.org/article.cfm?id=1870596 It also contains two papers called "Natural computation" and "Biological computation". Perhaps it is not the same as life, but it may be one aspect of life, at least. In that case, it would indeed be interesting to define the other aspects, or complements, or missing parts.
Sultan Qaboos University
Dear Professor Derek Abbott, Many of researchers have already spoken and convinced. However, I want to prolong this discussion. Since the originator of this question has remarkable research experience and output. I may add a little more to this. Let us think "what computers cannot do". Is 'universal program' exist. Is there any real boundary between hardware, software, and data. Is there any program that decides whether or not mathematical statements are theorems. All tasks cannot be computed e.g. “If we start Game of life in this configuration, will cell (100, 100) ever have a critter?”
RMIT University
Hi Derek,
I think you've been spending too long in an Engineering department! ;)
I would attack this problem in a different way. There are already some interesting comments above, but here is my viewpoint (based, to a large extent I should say, on the DiVincezo 7 criteria).
For a computation you need a physical system that can respond dynamically to a set of inputs to generate a set of outputs.
You need the system to have both an inflow and outflow of energy, and equally for that computation to be observable outside the computer, it needs to have an inflow and outflow of information.
The above requirements should immediately imply that the state of the computer is a nonlinear function of the inputs. (And note that all models of computation have this: classical computers have obvious, nonlinear gates realised by transistors, but even quantum computers that are designed for more than one use have nonlinearities due to things like initialisation).
Except in the trivial case of a one-bit or one-qubit computer, interactions between the individual processing elements is required.
And for practical computation, the state space (and in general one would like this to be a Hilbert space, although it probably doesn't have to be) of the computer must be large enough to accommodate all of the initial, intermediate, and final states required to solve the computation. (Note that in the Turing machine, this condition is provided by the infinite tape).
Now this set of criteria would, I believe, apply equally well to a modern computer, a quantum computer, a cellular automata, a cell or collection of cells, at least as far as their computations go. In many cases they accord with what you have written, although I am not convinced that correct timing delays are required, as operations could be performed asynchronously, although a meta criteria could be the requirement for output states to respond as a function of input states, or perhaps that causality is preserved.
Also, I think that you do need to have an outflow of energy/information, which is not in your list above. This is vital to initialise qubits (without it, the energy that is pumped in will end up eventually just making everything hot, or thermalising the bits).
Interconnects, are usually necessary for practical, conventional computers, although cellular automata get by with only nearest neighbour, and by use of majority gates are Turing Universal. And memory is not really required as a separate element, although something like RAM is often very useful for computations. Again, cellular automata do not obviously have memory, although it is certainly possible to create memory-like regions (again by Turing universality).
You haven't explicitly mentioned the need for interactions between the elements, and I'm just being pedantic there.
Now, life. Self-replication seems to me as a non-expert to be one of the critical elements, and also growth. Using Wikipedia as my source of knowledge (http://en.wikipedia.org/wiki/Life#Definitions), I'm copying what it says as the canonical biological requirements for life
"Life is considered a characteristic of organisms that exhibit all or most of the following characteristics or traits:
Homeostasis: Regulation of the internal environment to maintain a constant state; for example, electrolyte concentration or sweating to reduce temperature.
Organization: Being structurally composed of one or more cells — the basic units of life.
Metabolism: Transformation of energy by converting chemicals and energy into cellular components (anabolism) and decomposing organic matter (catabolism). Living things require energy to maintain internal organization (homeostasis) and to produce the other phenomena associated with life.
Growth: Maintenance of a higher rate of anabolism than catabolism. A growing organism increases in size in all of its parts, rather than simply accumulating matter.
Adaptation: The ability to change over time in response to the environment. This ability is fundamental to the process of evolution and is determined by the organism's heredity, diet, and external factors.
Response to stimuli: A response can take many forms, from the contraction of a unicellular organism to external chemicals, to complex reactions involving all the senses of multicellular organisms. A response is often expressed by motion; for example, the leaves of a plant turning toward the sun (phototropism), and chemotaxis.
Reproduction: The ability to produce new individual organisms, either asexually from a single parent organism, or sexually from two parent organisms."
To match this with the criteria I proposed:
Homeostasis can be considered as being akin to maintaining the computational state of your computer, which arises due to being able to controllably connect to a heat sink, i.e. the in-flow/out-flow of energy
Metabolism: for a digital computer is relatively straightforward, it is simply the in-flow of energy, usually electrical
Growth: Most computers that we consider today do not exhibit any growth. They are defined at the point of manufacture and indeed have no capability to effect their own growth. So even learning machines like Watson are limited at the point of fabrication. Note that algorithms that exist distributed across machines connected via the internet could be considered to exhibit growth if they have the ability to self-regulate how many computers they interact with (e.g. SETI@home). I don't want to take this idea too literally, but here one might view the algorithm as having potential to grow rather than the computers themselves.
Adaptation: Neural networks definitely show this, but in fact providing different responses to different inputs is fundamental to all non-trivial computers. The big difference between conventional computers and life in this context is simply that we expect living things to keep doing something that is somehow appropriate in all circumstances, but computers are notoriously limited in how they can proceed.
Response to stimuli: by the definitions i have provided, this is similar to adaptation.
Reproduction: again, computers seem incapable of this at present, as you note, although computer viruses do show this at some level.
I would also note that biological systems seem to incorporate noise essentially and beneficially, and this is something that we do not do well in most of our computations (with the obvious exceptions of Monte-Carlo type methods and other probabilistic algorithms, although again, the way in which the randomness is applied in a biological setting rather than a digital setting is somewhat different).
So where does that leave us? i agree with @Matej Lexa that we need to be very careful about sticking too strongly to our prejudices about what life really is. From my point of view the distinction between silicon-based computation and biological computation is not very far, however reversing this on the life basis, well it is clear that the biological systems seem to have richer responses, which is presumably because they are not responding in a digital fashion. Also they tend to be more parallel in their response, rather than serial. I don't see this as an essential difference as biomemetic approaches to coding and programming should solve this. In the past, it has been the case that biological systems have always been more complicated than silicon-based processors, although that is changing.
One of the most surprising differences that I've seen is one that David Jamieson has used in some of his talks (sorry, I don't have the reference to it) showing the energy per processed bit as a function of log size for biological and semiconductor based devices. All of the biological 'processors' (from bacterium to elephant) appear to lie on one curve, whilst all of the semiconductor ones lie on a parallel, but different curve. The biological systems are orders of magnitude better!
Anyway, I'm not convinced that the distinction needs to be so hard and fast. Where I would look for life in the computational setting is in computer virus type programs that are allowed to exist and replicate on a large cluster of interconnected computers. These could be given all of the abilities that we would like life to have including reproduction and growth, with presumably some constraints. It would be interesting to see how such algorithms would evolve and perhaps mimic (become?) life. This seems like such an obvious suggestion, however, I'd be amazed if nobody hasn't tried it yet.
Wow, another long rant. One day I'll write a short one of these, I promise!
1 Recommendation
Derek,
First I do not think that we need to think in terms of computation when we think about what is life. Life seems to be a unlimited natural growth phenomena. It starts with one indicidual center of growth which continue by breaking into multiple center of growth. Since random variations are inevitable, those favoring faster growth will necessary dominate the evolution. Species will necessarily appears as stabilisation of typical structures which correspond to local optimum of growth.
RMIT University
Dear @Afaq Ahmad,
I missed your comment (we must have been posting at the same time, but it is probably well that I did, otherwise my response to you would have been lost).
There has been considerable work done on the concept of a 'universal program' and some of the questions you posed. You should look up the Halting Problem, which is an algorithmic version of Goedel's incompleteness. Equally, there is a considerable literature on decidability/computability statements which comes about via complexity treatments and compressibility (also see Chaitin's \Omega). Sorry, I don't have the references to hand at the moment.
Sultan Qaboos University
Dear Dr. Andrew D. Greentree, Thanks for adding knowledge and providing more information.
RMIT University
Dear Louis,
Whilst I have some sympathy for/agreement with your comment, I'm not entirely convinced I agree (think shades of difference of opinion rather than radical objections!)
"First I do not think that we need to think in terms of computation when we think about what is life."
Whilst I don't think we need to think in terms of computation, it is not clear to me that we lose anything by trying. We treat natural processes by modelling them, and the interactions that are going on look very much like a form of computation. Again, however, we should be careful to realise that the method by which we model in-silico is different from the biological version, and the "computations" being performed by organisms do seem to have quite different purposes from those that we impose on our computers.
"Life seems to be a unlimited natural growth phenomena. It starts with one indicidual center of growth which continue by breaking into multiple center of growth. Since random variations are inevitable, those favoring faster growth will necessary dominate the evolution. Species will necessarily appears as stabilisation of typical structures which correspond to local optimum of growth."
My first issue is with the word "unlimited", and whilst it is nice to think in such terms holistically, and we don't know where the end point of evolution could be (if it even makes sense to discuss it except in terms of concepts like the Heat Death of the University) life is certainly bounded in what it can achieve, at least at any local step. Dawkin's lovely book "Climbing Mount Improbable" makes this very clear. So at every stage the growth is very constrained, indeed that is what makes evolution so wonderful IMO.
Growth certainly appears to be fundamental to living processes, as is evolution. But I'm equally intrigued by the fact (that I doubt any of us would dispute) that although evolution has developed chemical reactions to the stage where we observe life, it is not at all obvious that evolution is necessary to sustain life. (For example, humans do not cease to live as soon as they have ceased having children).
Growth, of course, must also be treated with some care here, as growth does not imply change in size, it more properly must be taken to mean the constant renewal of cells. And yet, even this treatment of growth is troubling, because a cell once formed would not be considered "dead" even if it were no longer growing. Reductio ad absurdum would therefore imply that all 'things' could only be considered living in those exact instances when they were creating new parts of themselves.
I don't really advocate such reduction, nor to be overly critical (perhaps overly pedantic?), merely I want to stress that both growth and evolution seem to be necessary conditions for the formation of life as we understanding it (i.e. life got here because of them), and they certainly distinguish life as we observe it. But they do not seem to be essential to maintain life, except perhaps (and I stress perhaps) in some averaged sense. Therefore we should be open to the possibility that we could create other entities that we could properly consider to be alive without having to have gone through the other processes.
But given that I have absolutely no idea how to design life, I'd still advocate at least an in-silico evolutionary strategy.
RMIT University
Given I'm writing comments that are far too long, I thought I'd continue a random thought (almost certainly unoriginal) that comes from my (mis) interpretation of Louis' post, which might be of some interest.
The definition of life incorporating both growth and evolution presents a rather interesting potential paradox.
If both growth and evolution are required for life, then if we could make a replica of a human adult, by some new 3D atomic scanning and printing process (conceivable, but technically unfeasible at the moment). Then despite the fact that this entity would be conscious and in deed indistinguishable from the original in every way (assuming down to the memories because everything has been mapped and copied): could we consider this entity "alive"?
Beyond the process of construction, which is quite different from the conventional biological method, certainly this has not growth (the production is too perfect), and yet all of the biochemistry is the same as the original template human. Indeed the construct would think and feel as if they were the other person, at least until they begin to develop independent memories etc.
This construct would have to pass any 'biological turing test' that we could imagine, and yet, by our definition above, we should consider it not alive.
Equally, if we do consider it alive, it should be possible to create the construct with some non-biological entity. For example, if we create the construct with titanium legs rather than bone ones, surely that shouldn't preclude us from call it alive if we accept that original construct were alive.
Alternatively, we could create the entity without legs, that wouldn't preclude it from living even assuming that the template had legs.
We can follow this process with every part of the construct: removing or replacing every piece of the body. So we must ask - where is the barrier between life and non-life?
I think that this argument should make us question quite deeply whether life is a meaningful concept, or at least whether it is a fundamental one.
Of course, this argument is simply a reversal (and a crude one at that) of The Ship of Theseus, and I doubt that it is even original in this context (I have heard it used in the other direction regarding the idea of replacing human brains with artificial intelligences). But nevertheless, it struck me as perhaps an interest detour in this discussion.
1 Recommendation
SCHWIND eye-tech-solutions GmbH
Derek,
excellent philosophical question as always,
but, with the due respect, please allow me just a quick naive comment concerning the second part of the question: "what are the minimum essential ingredients I need to add to a computer to make it life, ie. self-reproducing?"
Is it just self-reproducing sufficient to distinguishly identify life?
What about if you build and run a computer-robot-machine designed to make copies of itself (even without having the notion of "itself" and "self-replication"), would you say that is life?
Or I have missed something in my interpretation?
Thanks
RMIT University
Dear @Pascal,
I like your comment about 'hardware' vs 'software', which is (if I may paraphrase) really about linear vs nonlinear operations. If the system simply responds by giving the same output to the same input, without any opportunity to reflect or learn, then we have a simple algorithmic response, that we would not really consider 'alive'. However with the ability for the 'software' to rewire the 'hardware', (i.e. nonlinear response) then the possibility for learning or similar arises, and we have the evolutionary type responses that I think we all feel at some intuitive level are necessary for life.
At any rate, I think that the way in which you've expressed what I will call the nonlinear nature of the infrastructure is far clearer than I attempted to above.
I would hasten to add that in conventional biological systems, I do not believe that there is really any 'software' as everything appears to be encoded at the biological level, so it is all 'hardware', albeit dynamically changing and reconnecting hardware, whereas learning type machines have entirely static hardware, but nonlinear self-changing software. So I certainly agree with you there.
Topcy House Consulting
two simple comments: (1) historically, every generation uses the latest technology to describe computation, life and other complex phenomena, so the computational metaphor for life is prevalent (it was mechanical in earlier times), and (2) we must remember that the only thing that computers can actually do is move, copy and compare; they do no arithmetic; all numerical "computation" is done by hardware implementations of various models of finite-precision arithmetic (the IEEE floating-point standard is one of those)
Denver Museum of Nature and Science
If a living entity is in suspended animation and can be re-animated in the future,
the only quality needed is memory. See my paper on Researchgate called
"Life is Ultimately Memory".
Independent Researcher
To the surprise of many, there is existing so-called emergent computation. There are published on RG several Python softwares--GoL-N24, r-GoL, and GoL, on my research profile that demonstrate the following properties: (i) emergent information processing, which arises through self-organization, (ii) error-resilient properties of some special cases of emergents, (iii) automatic creation of multi-level emergent systems.
This research is capable to reproduce into a certain extent by-the-life- utilized computing and information processing.
See some of many shared animations in my RG data section, software section, and discussion dealing with animations of complex systems, which are available here. The last paper from 2022 and the next one are dealing exactly with those issues. I recommend reading the review "Complexity in medicine ...", which serves as the introduction.
Just one animation to curb your appetite, it is in APNG format which is after its downloading easy to view in any modern web browser as a file (write at the window instead of web page '//' and chose the option to see files).

2 Recommendations
Related Publications
"We'll never be able to know" is a truism that leads to resignation with respect to any experimental effort to search for the chemistry of life's origin. But such resignation runs radically counter to the challenge imposed upon chemistry as a natural science. Notwithstanding the prognosis according to which the shortest path to understanding the me...
Strong arguments can be found in the literature addressed to the question of the origin of homochirality in life, supporting the hypothesis that primordial life could have evolved in both homochiral forms and that early on when life was still rarely found, random events led to the survival of only one of these living mirror images. This proposal is...