09 februari 2006

Genetisk programering

Naturen behövde en miljard år av darwinistisk trial-and-error för att nå fram till det mänskliga medvetandet. Hur lång tid behöver vi för att nå fram till det elektroniska dito? En bit på vägen är dataprogram som utvecklas på egen hand genom att lära av sina misstag. Computerworld tar tempen på var utvecklingen befinner sig just nu:
Research is pushing forward in a branch of machine learning called genetic programming (GP), in which software evolves in a Darwinian fashion. Multiple versions of a program -- often thousands of them generated at random -- set to work on a problem. Most of them do poorly, but evolutionary processes pick two of the best and combine them to produce a better generation of programs. The process continues for hundreds of generations with no human intervention, and the results improve each time.

GP pioneer John Koza, a consulting professor in electrical engineering at Stanford, has used the method to design circuits, controllers, optical systems and antennas that perform as well as or better than those with patented designs. He recently was awarded a patent for a controller design created entirely by GP.

It is, like biological evolution, a slow process. Until recently, computer power was too expensive for GP to be practical for complex problems. Koza can do simple problems on laptop PCs in a few hours, but the controller design took a month on a 1,000-node cluster of Pentium processors.

"We started GP in the late 1980s, and now we have 1 million times more computer power," Koza says. "We think sometime [within] 10 years we ought to be able to play in the domain of real engineers."

Inga kommentarer: