How Would Software Work if It Occurred Naturally?
Exploring the Possibility of Software’s Natural Evolution
From its earliest applications, software was created to work for us. Today, it assists us in ways we couldn’t have imagined in the past, becoming more and more capable of mimicking natural human abilities. But does modern software actually work naturally? What if it did?
The Oxford Advanced Learner’s Dictionary defines nature as all “plants, animals and things that exist in the universe that are not made by people.” Certainly, software is a human creation, but like countless other man-made objects, it can be inspired by nature in a process known as biomimicry. In some ways, it already has, giving rise to the field of study “biologically inspired computing,” which addresses biomimicry in software development.
Our goal is to look beyond the field’s traditional subtopics of artificial intelligence, machine learning and cognitive modeling, instead taking a more comprehensive perspective on the workings of everyday software applications. In doing so, we hope to reveal just how “natural” software’s structure really is and explore the possibility of creating software that more closely mimics principles of nature.
A Look at Modern Software
Although we have made remarkable progress in science and engineering, man-made technology is still far from fully assuming natural capabilities. It’s true that machine intelligence can outperform human intelligence in many areas, but in the end machines rely on humans to instruct them.
Consider the very basic applications we use every day on our mobile phones and personal computers. It’s amazing how applications can provide some highly engaging experiences, and yet, quite often, they prove incapable of fetching the information we really want, not to mention failing to integrate with other apps, running painfully slowly, crashing and so forth. We’ve all experienced software outputs that are so silly we can’t help but be reminded of the gulf between human intelligence and software capability. Despite some incredible things software applications do for us, they just cannot think like we do.
Furthermore, machines lack emotion, feeling, and sensation, which restricts their ability to mimic natural behavior. Although we have been working on refining context-aware and ubiquitous computing for almost half a century now, we still don’t see contextually rich software in everyday use. For example, imagine these situations:
You walk into a meeting room from the cafeteria, and because the context has changed, your body language, tone of voice, etc. also change. But unless you manually silence your phone, it still rings out loud because it doesn’t have the intelligence or context awareness to evaluate disruption and alter its behavior based on new surroundings.
You are at a house party. Everyone’s having fun. Music is playing loudly. Suddenly somebody falls in the pool and the situation turns bad. Everyone goes quiet except for the music system. The system is not context aware like the guests, or even the pet dog, so it does not understand that the situation has changed and music is no longer wanted. While the girl who fell in the pool has been paralyzed and people are crying, your phone suddenly rings, its ringtone screaming “Highway to Hell.” You get evil looks and immediately feel terrible. Your “smart” phone let you down because it wasn’t context aware.
Humans have the capacity to quickly assess whatever situation they are faced with and respond accordingly, an ability we take for granted despite exercising it countless times every day. Modern commodity software, however, is not yet intelligent enough to do this.
Computer Systems and Consciousness
To what extent can artificial intelligence improve the capacity of computer systems to act as naturally as possible? This question introduces the concept of consciousness. If you block an ant’s path, it will turn around. If it senses danger, it may run to safety or it may bite in self-defense. This stems from the ant’s natural survival instinct, which in turn stems from its consciousness. Through artificial intelligence, a robot can also be programmed to avoid certain dangers. It may even be taught to defend or attack. But a robot has no actual desire to do so, unlike the ant, which wants to live. Its desire is to survive.
Consciousness, or context awareness in the simplest sense, allows us to use our senses to understand our surroundings. For example, we identify odor through our sense of smell, feel temperature with our sense of touch and recognize places using our vision. Modern machines are increasingly capable of sensing through detectors programmed for that purpose, but part of what differentiates us from computer systems is that we also experience pain, fear, anger, comfort, excitement, and so on, whereas a machine cannot. Another key difference between humans and machines is that machines lack independence. They are systems controlled by humans, either manually or through the software code they write. Even the most sophisticated automated program was originally developed by a living person.
Another critical aspect to consider is instinct. Some geneticists argue that inborn behavior patterns of humans and animals are encoded in their DNA. But it can also be argued that human instincts are impacted by their surroundings, that is, they can be learned (or unlearned). In the same way, robots and computer systems can also have default, encoded patterns of behavior. They may also be trained to develop certain instincts. In this case, a silicon-based chip that stores a robot’s artificial intelligence programmed with a computer language is the mechanical counterpart to the biochemical system embedded within an organism’s DNA.
The Evolutionary Journey and Consciousness
Today, Charles Darwin is regarded as the originator of the theory of evolution by natural selection, but the concept of evolution was known long before Darwin. Within the Eastern schools of thought, the followers of the Bhagavata school of Hinduism do not accept Darwin’s account, but do accept evolution. Here’s the catch. They argue that one species does not physically evolve into another, but rather the soul evolves in consciousness as it transmigrates from lower to higher forms of existence in the cycle of birth, death, and rebirth1.
This perspective can be applied to artificial intelligence as well. For any modern piece of technology to perform extraordinary tasks, it is not the physical hardware that will have to evolve, but rather the systems running it. It’s no surprise that the software framework governing a device’s functions will ultimately determine how intelligent it is. The important thing to understand is that every device will have intelligence, and that the degree of intelligence will increase from lower to higher forms. The highest form—equivalent to a human being—will also have the highest level of artificial consciousness or context awareness. It will be capable of expressing, responding, proposing, defending and so forth, based on artificial intelligence that mimics nature as closely as possible. As a nonliving system, a robot with this level of intelligence may never have natural consciousness, but its context awareness will increase tremendously.
Because of their inherent limitations in context awareness, the hardware we use today and the software than runs it won’t be capable of powering the sort of devices we’ll need in the future. Truly new and improved systems can be built only through the evolution of software from its current state—which is characteristic of a disintegrated development paradigm—to a more logical and integrated model.
Software and Modern Evolutionary Biology
Modern evolutionary biology maintains that of the various species and life forms in the universe, some are more developed than others. But contrary to Darwinian theory, the succession in these species may not have unfolded incrementally over time, considering the lack of hard evidence that one life form evolved from another over millions of years. Without transitional evidence, the exact nature of evolutionary leaps of complexity from lower to higher states of development remains in the realm of speculation.
Stephen Jay Gould, in his May 1977 paper, Evolution’s Erratic Pace, presents his contrasting opinion to Darwin’s notion of gradualism explaining:
“The history of most fossil species includes two features particularly inconsistent with gradualism:
1. Stasis. Most species exhibit no directional change during their tenure on earth. They appear in the fossil record looking much the same as when they disappear; morphological change is usually limited and directionless.
2. Sudden appearance. In any local area, a species does not arise gradually by the steady transformation of its ancestors. It appears all at once and ‘fully formed.’”
Gould’s observations would have the following implications for technological development:
- Software in its current form will continue to function in the much the same way it has since inception, except that sellers will make incremental changes to applications in order to repackage and resell them.
- The next major advancement in software will look radically different from what we know today and will arrive fully formed. It won’t arise from long-term incremental change.
Gould also presents an alternative philosophy of change diverging from the Western school of thought. He cites how scientists in the Soviet Union were trained to apply the concept of “transformation of quantity into quality” to their work. According to Gould, this philosophy basically suggests that “change occurs in large leaps following a slow accumulation of stresses that a system resists until it reaches the breaking point. Heat water and it eventually reaches a boiling point. Oppress the workers more and more and they suddenly break their chains.”
We won’t argue for or against this view, but if this perspective holds any truth, we may soon see software undergoing a transformation from “quantity to quality” if it has indeed accumulated enough stress. Simply pushing the existing models of software development will not result in computers that effectively mimic natural phenomena. Instead a fresh development approach—an entirely new model—will be required. In this way, software as we know it can evolve to a higher level.
Nature’s Objectives, Roles, Actors and Actions
From a metaphysical viewpoint, a perennial and fundamental notion is that the universe, the objects within it and their properties, time, space, cause and effect all have being, existence and reality. The universe was formed with an objective. With the objective defined, roles were created for the universe’s sustenance and functioning. To assume these defined roles, actors were formed. These actors are thus performing tasks and operations allocated to them. If the universe is infinite, then objectives, roles, actors and activities also have no limit.
One could argue that the reason things that naturally occur within the universe can survive, grow and function independently is that they are guided by the original objective, which may be ongoing, evolving and, arguably, infinite. So every living organism among the millions of different species on earth has its own individual objective, as well as collective objectives. Species assume roles as inhabitants of their ecosystems to perform activities that fulfil these individual and collective objectives.
Taking a cue from this model, if we could develop software in which everything is defined according to objectives, roles, actors and operations, like living organisms the resulting applications would be highly intelligent, context aware and capable of both independent and synergistic performance.
Such systems could conceivably mimic nature in unprecedented ways, with software that functions as if it were a natural creation. However, we expect that these machines and computer systems would still ultimately be guided by humans. Much like living things, computer systems may acquire very high levels of artificial intelligence with the ability to evolve, adapt and acquire new properties, but they will still be created by and enhanced through human intervention.
Should it be argued that this model of natural development is compromised by guidance through human intervention, consider the possibility that some form of intervention could also have a role in evolution. In his Origin of Species, Darwin touches on this, suggesting that in the formation of the eye, a “power” is at work, “intently watching each slight alteration” and “carefully preserving” those which improve the image produced2. That is, the development of naturally occurring living things may also be guided through a higher intervention, in much the same way that non-living machines are guided by their human creators.
Imagining a Natural Approach to Software
When applying biomimicry to software, we see that three of the key mechanisms to be modeled are intelligence, context awareness (consciousness) and the ability to evolve. Though we have begun to scratch the surface of some of these functions, software that behaves like a naturally occurring species remains an order of magnitude beyond our existing capabilities. Incremental change alone won’t get us there—instead, a true paradigm shift in software development will have to occur. Taking our cue from Stephen Jay Gould’s observation of the transformation of quantity into quality at work in evolutionary biology, the next level of software advancement will likely arrive fully developed, rather than gradually evolving through incremental changes. This new form of software would not arise within the advanced analytical processing capabilities of specialized industries, rather we can expect it within the broad range of applications that deliver commodity functionality to the everyday user.
- The Evolution of Consciousness; http://btg.krishna.com/evolution-consciousness. Accessed: August 11, 2015.
- Webb. D.J., Evolution – A Theory in Danger of Extinction, http://backtogodhead.in/evolution-a-theory-in-danger-of-extinction-by-d-j-webb-m-a/. Accessed: August 18, 2015.