On the screen, an animated figure takes a step forward and tries to walk. Instead it collapses immediately, falls on its back, and flails its legs helplessly. Then it reappears at the left of the screen, takes a few delicate baby steps, and falls again. Returning to the screen, it raises its knees, takes six or so confident strides, and drops on its side. After trying over and over again to walk, the figure finally marches successfully across the screen as though its motions had been captured directly from videos of a human walking.
The idea is called a genetic algorithm. It creates a random population of potential solutions, then tests each one for success, selecting the best of the batch to pass on their “genes” to the next generation, including slight mutations to introduce variation. The process is repeated until the program evolves a workable solution. Originally developed in the 1960s by John Holland at the University of Michigan, genetic algorithms are increasingly being harnessed for real-world tasks such as designing more efficient refrigerators.
Genetic algorithms make it possible for computers to do something profound, something that looks an awful lot like thinking. And that little animated figure learning how to walk showcases some design developments that permit computers to make their own decisions—without guidance from humans.