Growing Software

Paul Marks
Muse

Feb 29, 2008 19:00 EST

Charles Darwin published his theory of evolution in 1859, introducing his revolutionary idea: over time, adaptations that seem unfathomably complex develop from series of tiny, random changes. Today, computer scientists are using the ideas of fitness and natural selection to create evolutionary algorithms (EAs). EAs are computer programs that mimic the process of natural selection and random mutation by "breeding" designs to produce the fittest ones.

EAs take two "parent" designs-for a boat hull, say-and blend features of each, perhaps taking the surface area of one hull and the curvature of another. This produces multiple hull designs, or multiple "offspring," that combine the features of the parents in different ways. Then the algorithm selects offspring for re-breeding-in this case, those with the right combination of features to make a better hull. The EA then repeats the process. Many offspring will be discarded, but after thousands of generations, useful features get combined in ways that might not have occurred to a human designer.

EAs are nothing new. The automobile and aerospace industries have been using them since the late 1980s to evolve optimal wings, fins and flaps for aircraft, and streamlined shapes for cars. Drug companies have also used EAs to breed molecules for new drugs, and stock traders have used EAs to second-guess the stock markets.

EAs require super-fast computers. Thousands, or even billions, of live generations need to be simulated, so that features can be recombined again and again. It is only by selecting the fittest offspring again and again that the process results in favorable change. This technical requirement has limited the use of EAs to a few specialized applications.

That is now changing with the availability of ever more powerful computers and other new technologies. Designs can now be evolved in days, rather than months or years, and EAs are going mainstream. "We can now undertake evolutionary problems that were previously too complicated or time-consuming," says John Koza, a computer scientist and EA pioneer from Stanford University in California. "Things we couldn't have done in the past, because it would have taken two montlis to run the genetic program, are now possible in days or less."

Naturally, some EAs simply do what humans already do, but faster. For example, Pierre Legrand and colleagues at the University of Bordeaux 2, France, developed an evolutionary system to configure the electrodes for cochlear implants. These implants restore hearing in deaf patients, using up to 22 electrodes placed on the auditory nerve. Voltages and timings of the signals applied to the electrodes vary between patients, and can require much adjustment before a patient can hear speech. Legrand's team took just one and a half days to breed an optimal electrode pattern for one patient whose doctors had not succeeded in 10 years.

Other EAs are being used to come up with better versions of existing technologies. Joe Sullivan, at the University of Limerick in Ireland, used an EA to make a USB flash memory stick (a device that plugs into a computer and stores files) that lasts far longer than those on the market today. Typically, memory sticks can be erased and rewritten about 10,000 times. Every time data is erased, some charge is left over, which eventually builds up and prevents the memory being rewritten. Using large voltages to read, write and erase memory, and applying them for longer, causes more leftover charge. Applying too little voltage for too little time makes the memory unreliable. To see if he could extend the lifetime without making the device less reliable, Sullivan created a genetic algorithm that varied the voltages and their timings. The result was a combination that caused the memory stick to last 30 times longer.

Steve Manos, of University College London, has used an EA to breed new kinds of optical fibers. Optical fibers are very thin glass wires that carry information in the form of light. "Holey" optical fibers are shot through with tens of thousands of tiny holes whose exact pattern controls the wavelength of light that can be beamed down them. Previously, the holes were arranged in a hexagonal pattern, which limited the range of bandwidths. That changed when Manos's team (then at the University of Sydney, Australia), allowed an EA to breed exotic new hole patterns. One pattern looked like a flower with petals. It doubled the fibers bandwidth. The group has patented that fiber and founded a company to market it.

EAs face challenges. A common objection is that if no human knows how an evolved design works, then no one knows when it might fail. John Koza calls that objection "bogus." He explains that you treat evolved designs the way you do any others: you test the final configuration until you are sure this is the one you want and that it works the way you want it to.

Celebrated UK innovator James Dyson, inventor of the bagless vacuum cleaner, has a more emotional objection. "Evolutionary algorithms will mean the end of those exciting stories about how people made great inventions by accident," he says. "Human ingenuity and intuition should remain crucial in making a success of any product."

But that could change, says Steve Manos. "Once you show them a design that's better than anything on the market, that really starts to convince them," he says.

© 2008 Carus Publishing Company Provided by ProQuest LLC. All Rights Reserved.

Source: Muse