Despite nature’s bewildering complexity, the driving force behind it is incredibly simple. ‘Survival of the fittest’ is an uncomplicated but brutally effective optimization strategy that has allowed life to solve complex problems, like vision and flight, and colonize the harshest of environments.
Researchers are now trying to harness this optimization process to find solutions to a host of science and engineering problems. The idea of using evolutionary principles in computation dates back to the 1950s, but it wasn’t until the 1960s that the idea really took off. By the 1980s the approach had crossed over from academic curiosities into real-world fields like engineering and economics.
Applying natural selection to computing
Evolutionary algorithms are numerous and diverse, but they all seek to replicate key features of biological evolution, such as natural selection, reproduction and mutation. Typically these methods rely on a kind of trial and error — a large population of potential solutions to a problem are randomly generated and tested against a so-called “fitness function.” This lets the system rank the solutions in order of how well they solve the problem.
Depending on the method, the best solutions are then “bred” with each other and/or “mutated” to create a new generation of solutions with the duds discarded. This new batch will still carry most of the traits of the previous generation’s best solutions, but combined in new ways or with small tweaks to the original code.
Just like in nature, most of these mutations will confer no advantage, but when they do they are carried on to the next generation. In the same way survival of the fittest causes organisms to iteratively adapt to their environments from generation to generation, each step in the process results in solutions more suited to the problem at hand.
Biological evolution can take millennia to show noticeable results. Fortunately, computers make it possible to cycle through virtual generations incredibly quickly, and because evolutionary systems involve large populations of individual candidates they are “embarrassingly parallelizable”. In other words, they can take advantage of highly-scalable parallel computing, where many calculations are carried out simultaneously on multiple processors.
While this can allow you to rapidly optimize the solution to a problem, there’s no free lunch.
An evolutionary algorithm is only as good as its fitness function. If the problem is not clearly defined and success is not accurately measured then the algorithm is unlikely to converge on a suitable solution. But once the parameters are set, evolutionary algorithms can get surprisingly creative and often throw up solutions a human would be unlikely to think of.
Rapidly evolving ideas to accelerate discovery and design
In 2006 NASA put an evolutionary algorithm to work to design X-band antennae to allow satellites to measure the Earth’s magnetosphere. Traditionally this kind of antenna would involve a helical design, but the devices created by the algorithm looked more like a series of bent paper clips. And impressively, it took just 10 hours to complete the initial antenna design process.
The evolutionary approach is particularly useful in areas where there are a large number of potential solutions — for example, designing new materials. This is one of the most promising applications for the technology and has been used to discover high-performance materials for everything from carbon capture to self-assembling nanomaterials and optoelectronics.
These nature-inspired algorithms have also come full circle, feeding back into basic biology research by helping scientists model things like animal morphology and disease. Other research has employed these approaches to imbue robots with the intelligence to adapt to damaged limbs by rapidly cycling through potential mitigation strategies.
This belies the fact that evolutionary algorithms fall firmly in the sphere of artificial intelligence. They have been used to create computer games where the enemies evolve and adapt to a user’s play style. More disconcertingly, they were also at the heart of an AI system that has consistently beaten expert human pilots in simulated air combat.
And like other forms of artificial intelligence, they are particularly suited to big problems that would take countless man hours to solve. German researchers are using genetic algorithms to automate the creation of tests designed to weed out software bugs. Another group at MIT’s Computer Science and Artificial Intelligence Laboratory is combining evolutionary methods with Big Data to do things like plan gigantic wind farms and analyze medical data.
When fears are voiced about artificial intelligence taking jobs, those in the least concern column tend to be the creative industries. But anyone who’s watched a nature documentary can tell you that the power of evolution can result in some weird and wonderful creations.
That’s why computer-aided design software firm Autodesk is pioneering the field of so-called “generative design.” This sees a designer set the goals and constraints of a project and then lets a piece of software evolve potential designs. The results can be pretty spectacular, with the system throwing out chairs that look like they’re made of bones and engine blocks that look like they’ve grown up from the floor.
Perhaps it’s no surprise that objects designed using rules inspired by evolution end up looking so organic. And considering the amazing diversity of form and function that Mother Nature has thrown up over the millennia, it’s probably a smart move borrowing a few tactics from her playbook.
Image Credit: Shutterstock