From evolution to algorithms
Constantly “re-rolling the dice”, combining and selecting: “Evolutionary algorithms” mimic natural evolution in silico and lead to innovative solutions for complex problems.
Extensive resource management is required in low rainfall regions, where groundwater reserves are rare and must be tapped with great care. Various factors must be taken into account: How the ground water interacts with its environment, where drilling must be performed without disadvantaging neighbours, how the ground water can be protected over a long period of time, and how the development costs can be kept as low as possible: This complex application problem was examined by Tobias Siegfried and Wolfgang Kinzelbach, professor at the Institute for Environmental Engineering at the ETH Zurich, with the help of simulated evolution. In doing so, they used methods developed by the group of Eckart Zitzler, assistant professor for System Optimization at the Department for Information Technology and Electrical Engineering. Eckart Zitzler specialises in tackling these types of hard problems with “Evolutionary Algorithms”.
Approximating the best
The algorithms are called “evolutionary” because the characteristics of
evolution – mutation, recombination and selection – form the basis of their
search for promising solutions. They are most often used for complicated construction
problems in engineering. The method is time-intensive but flexibly applicable;
meaning it is particularly suitable for complex applications in which classic
analytical processes do not work.
The random search process on which the algorithms are based is not mainly about finding the best solution, but rather about meliorization, i.e. constantly improving solutions. The researchers never know when they have reached the maximum improvement. “That’s not the main issue. We are more interested in how well the initial solution can be improved,” says Zitzler.
Optimally wiring automotive electronics
The Zitzler Group’s most recent research project deals with automotive electronics; the computer systems, which, for example, control braking, air-conditioning and airbags, must be optimised. The problem here is that the wiring of the components, spread over various parts of the car, weighs over 100 kilograms. The researchers must build a hardware structure, and determine where which element can be optimally assembled in the car to keep the wiring weight low, costs minimal and the reaction time of the entire system short. The system must also be as reliable as possible.
Zitzler explains the process using a backpack which must be packed optimally as an example. If you are going on a hike and have to choose different things to take with you, but can only pack up to a given weight limit, Evolutionary Algorithms can generate different pack combinations. The items are thus given a number depending on their usefulness. The number combinations of a possible backpack filling form a sort of DNA. A random combination is initially selected. The DNA strands are then cut in half and re-combined. The content mutates by removing items and replacing them with new ones. Calculations are then performed to determine how good the combinations are, how useful and how heavy they are, and the top 50 percent from the populations of various backpack stuffing is selected.
The principle of randomness
The Evolutionary Algorithms find their solutions by explicitly making use of random decisions. A perfect example is one of the first studies of this type, which was conducted in the nineteen sixties by bionics specialist Ingo Rechenberg and engineer Hans Paul Schwefel by hand using a dice. They improved a supersonic nozzle so that it optimally accelerated the air flowing through. To do this, they sliced the nozzle into pieces. The researchers threw a dice to determine the mutation for how large the nozzle’s diameter was to be. The researchers had to test every configuration created in this way. They then chose the best (selection) from the so-called population of arrangements, and mutated these further. Every fifth configuration proved to be better. After 400 mutations and configurations, and a bizarre new nozzle shape, the supersonic nozzle’s degree of effectiveness had improved from 55 percent to just under 80 percent.
At the time, computers which could perform the dice rolling task and simulate the respective new nozzles were not affordable. The process was therefore time-consuming, and owed an explanation as to why the new nozzles achieved a better degree of effectiveness. Nowadays, this method is called an Evolution Strategy. It was approximately another three decades until this type of problem solving was established in and as science. Scientists only started using the method more often when computers became affordable. At the end of the 1980s, the first conference was held on the subject; today, there are several large and smaller conferences addressing Evolutionary Algorithms every year. The Evolutionary Algorithms are therefore a collective term for the various branches of research which have gradually developed: evolution strategies, evolutionary programming, genetic algorithms and genetic programming.
Today, Evolutionary Algorithms are also used in various aspects of teaching: For example, students at the D-ITET have written software which constructs towers from building bricks in such a way that they can soar well beyond the edge of a table. (See illustration and ETH Life article from 3/12/2007).