I have been fascinated by hydras since I was at elementary schools and I kept tracking the increasing knowledge researchers have harvested on these animals. Their outstanding capability for regenerating missing limbs was well known to our ancestors that created the mythical Hydra, a creature with seven snake like heads that when one head was cut by a daring opponent would immediately grow two heads to replace the missing one.
Hydras are not anywhere like the seven head serpent-dragon of the myth, they are tiny animals (some species are a symbiotic algae-animal creature) 1 to 2 cm (less than one inch) that to eat have to open up their body and create a mouth, promptly having it disappearing once the food has been ingested. To expel the waste they use the same process of creating an opening by stretching their surface to the point it breaks open. You cut a tentacle … it is regenerated in a very short time, you cut the hydra in two, three, twelve fragments… you get 2, 3, 12 brand new hydras.
Researchers have recently been able to separate the cells of a hydra and have watch in marvel as these cells regrouped together to form back the hydra.
I remember wondering if the 2 hydras stemming out from the cut hydra would feel like children or like the original hydra. Of course I have no idea what it feels to be a hydra… but still. Is the regeneration when pushed this far result in a new individual or not?
All life has regeneration capabilities, we scratch our skin and after a week the skin has regrown (sometimes leaving a scar if the scratching was deep or got infected). However, if we lose a finger, a limb, it does not regrow, as it happens for lizards and other animals.
Differently from life form, our artefacts do not have the capability of self repairing. Well, at least not till recently. The first artefacts showing a capability of mending themselves, creating siblings and growing in capabilities (and size) are software artefacts. A first example are “quines“, software programs that can print their code (that of course could then be used as the original for a clone program…).
The whole area of evolutionary computing is dedicated to the study of self-replicating programs that can also evolve as they replicate themselves. More recently, researchers created self-replicating neural networks that learns in the process. Now, it might seem easy to replicate bits, since there is not issue with getting the raw materials, bits can be duplicated basically for free, but that is not the case. The replication process is quite complex and it also relates to the issue of identity, I mentioned when discussing the hydra. Is the replica aware that it is a replica? How do the different replicas (and original) interact with one another? This is an issue I was confronted many years ago as I started programming the first Italian electronic exchanges (SPC Software Program Control) where we had a single program and thousands of program instances, each one controlling a specific customer line… This is the issue being faced today when a company creates a Digital Twin which is actually self replicating into thousands of instances, each one attached to a specific product manufactured.
Today we have many examples of self-replicating software, unfortunately many of these are for malicious purposes, like computer viruses.
Nevertheless it is true that self-replication when hardware is involved presents additional challenges. I’ll look at that in the next post.