Issues Magazine

Machines That Can Replicate and Evolve

By Neil Yager

Smart software and hardware may be able to solve some of the future’s most challenging problems, but not without risks.

Evolution by natural selection is a powerful process. It drives the creation and adaptation of life on our planet, and most likely countless other planets throughout the universe. Recently, researchers have been investigating ways to harness the power of evolution and to use it to find innovative solutions to challenging problems in science and engineering.

Three conditions are necessary for evolution to occur in a population:

  • There are not enough resources for everyone, so members of the population must compete to survive.
  • Individuals have differences, and these differences affect their ability to survive and reproduce.
  • Through the process of reproduction, some characteristics of parents are passed to their offspring.

These conditions are all satisfied in nature, and evolution by natural selection has led to the dazzling array of life around us. This seemingly simple process has enabled creative adaptations that allow life to flourish in even the most hostile environments on Earth. One may wonder how evolution has led to organs as elegant and complex as the wing or eye.

In the short term, evolution proceeds by a process of trial and error that leads to incremental improvements. Over time, these small modifications accumulate into dramatic changes with an endpoint that looks very different from its beginning.

Can we, as people, harness the power of evolution? If so, can it be used to solve problems for us? The answer is “yes”.

Evolutionary Computing

Evolution occurs in any environment that satisfies the criteria outlined above. In fact, it doesn’t even need to be a physical environment. Using computers, scientists can create virtual worlds where autonomous agents compete with other each other to survive. These simulated environments can be very simple or as complex and bizarre as our imaginations allow. The programmer has full control over the rules of life.

Evolution in nature is slow; it took billions of years for the arrival of highly intelligent and self-conscious beings (us). Generally, people are not that patient. We would like to apply the principles of evolution to a problem on the timescale of hours or days, as opposed to millennia.

This is one of the great advantages of software-based evolution. High-powered computers can achieve thousands of virtual generations in a single second.

One application of this technology is creating virtual environments to mimic and study biological evolution. Known as artificial life, it is an important tool for scientists and researchers. We can also use the power of evolution to solve real problems, and this is the goal of evolutionary computing.

Evolutionary computation is a sub-field of artificial intelligence. The general idea is to approach problems in a manner similar to biological evolution: through a mix of randomness and selection. It is computationally expensive, relying on the availability of powerful computers for extended periods. However, as the speed of computer processors continues to grow exponentially, immense computational power has become more accessible and affordable. Therefore, evolutionary computing is not only feasible right now but is becoming increasingly common.

This strategy is particularly useful for solving a class of problems known as optimisation problems. Let’s consider an example that will explain the underlying concepts and has the potential to make you very rich.

Imagine that you want to make some money by investing in the stockmarket. Instead of relying on intuition, you would like to use an algorithm (a codified mathematical model) that predicts the value of a stock at some point in the future.

You already know that a number of variables affect a company’s future prospects, such as its revenue, market share, strength of competition and number of employees. What you would like is an algorithm that takes this information as input and combines it with some fancy formulae to predict the future value of the stock price. The possible models are infinite, but you are not interested in just any model – you want the model that makes the best predictions.

This is an example of an optimisation problem – it involves finding the optimal settings for a number of parameters. Generally, optimisation problems are difficult to solve due to the vast number of “bad” solutions and very few “good” solutions.

An evolutionary computation approach known as genetic algorithms can be used. The intuition is as follows. In nature, there are many possible solutions to any given problem, and the solution space is explored at random.

Consider an animal that is at risk of being captured by prey. That animal’s offspring will differ in many ways. However, only a few of those differences (e.g. longer legs so it can run faster) will help the offspring survive. The traits that help the animal survive will be passed on to future generations, and offspring that inherited traits making survival more difficult (e.g. shorter legs) are less likely to survive until reproductive age.

Let’s go back to our stockmarket algorithm. Assume we start with a mathematical model for predicting the future price of stock, and this model is based on a number of parameters. We start by assigning random values to all of the parameters, and then test the model on some historical financial data. There is no reason to expect that it will perform very well at all.

However, if you create a whole bunch of copies of the model with minor changes to the parameters, you will find that some of the copies perform a little better than the original, and some perform worse. Eliminate the copies that performed worse, and create new copies of the successful models with some new minor changes.

This process progressively explores the space of possible models, and will eventually converge on a solution that can no longer be improved with minor tweaks. It doesn’t matter if it takes millions of generations to find a good solution, because all of the hard work is performed by a computer.

The beauty of this approach is that little understanding of the actual problem is necessary. In other words, you can use evolutionary computing to a find good solution to stock market prediction, even if you know nothing about financial markets. I should note that this example is not purely hypothetical. At this very moment, algorithmic trading software that was optimised using genetic algorithms is making trades on stock markets around the world. Furthermore, it is making someone (not me) a lot of money!


The concept of a self-replicating machine has fascinated people for centuries. However, much less progress has been made towards this goal compared with software. There is a good reason for this: building self-replicating machinery is fundamentally more difficult than designing self-replicating software.

There are hints of self-replication among existing machines. For example, one could argue that some machine tools are capable of a primitive form of self-replication, in that they can be used to create copies of themselves. For example, a lathe can be used to create the parts of a new lathe. Recently, several projects have aimed to design 3D printers that can essentially print copies of themselves: other 3D printers.

However, neither of these examples are true illustrations of self-replication because they require human operators to provide the raw materials and assemble the parts.

Theoretically, there is nothing to prevent the construction of truly self-replicating machines. Some argue that we already have a proof-of-concept: life on Earth. Since the laws of physics apply equally to all matter, DNA can be viewed as organic machinery with the ability to self-replicate.

Let’s assume for a moment that there are technological breakthroughs, and we can build a machine that can self-replicate with no external help. We have already seen that self-replicating software can solve real-world problems. What problem would self-replicating machines solve? There is one very exciting possibility: space exploration.

If people want to explore the outer reaches of our solar system and beyond, there are some difficult problems that must be solved first. Let’s assume that we want to create a settlement on Mars. One (of many) challenges would be sending all of the necessary equipment and supplies to Mars. Sending everything from Earth is not a practical long-term solution.

Consider this scenario: we send a single machine to Mars, but this machine has the ability to use local materials to build more machines. The offspring can have different specialties. For example, some might start building a base station, some might start accumulating reserves of waters, and others might make more machines. The seed machine would be sent a few years in advance of the human mission, so that much of the hard work of starting a new colony would be completed by the time we arrive. This scenario is an inspiring one, but unfortunately in the short term it is still in the realms of science fiction.

Another exciting possibility is asteroid mining. The Earth has a finite supply of minerals, and there is a risk that we will face shortages as the human population continues to grow. Many of these minerals are abundant on asteroids.

However, asteroid mining faces many of the same challenges as space colonisation. In particular, it is very expensive and difficult to get the heavy machinery needed for mining onto the asteroid.

In 1980 NASA conducted a study into a factory for the Moon that would have the ability to self-replicate (

GrowingLunarFactory1981.htm). Since each copy of the original factory would also be able to self-replicate, the factory population would grow exponentially. Unfortunately we have not yet been able to build such a machine.

However, advances in several fields, including material science, 3D printers and computer simulations, may make this idea a reality in the coming decades.

Risks of Self-Replication

For both software and hardware, self-replication brings tremendous possibilities. However, there are risks as well. Once the process of evolution starts it may be difficult to control.

There is already a class of self-replicating software programs that are very dangerous: viruses. Computer viruses were initially the domain of hobbyist hackers, but are now designed and used by organised crime groups and governments for cyber warfare. Viruses are becoming more sophisticated with each new defence mechanism, and they pose a real threat to our online lives.

One can’t help but wonder if self-replicating machines pose a physical threat to us as well. The idea of robots that self-replicate and evolve is a theme that has been widely explored in science fiction. The dangers of this scenario are self-evident, as the plots of these stories are typically apocalyptic.

We’re safe for now, but with the current pace of technological advancement is it possible that self-replicating robots will one day be a threat for the future of humanity? Some scientists believe so.