In 1975, computer scientist John Holland published a book with a quiet but radical idea: what if you could solve hard optimization problems the way life solves hard environments — not by reasoning from first principles, but by evolving a population of candidates toward better and better answers?
The recipe is almost biological. Start with a random population of candidate solutions. Score each one with a fitness function. Let the fitter candidates reproduce more often. When two candidates reproduce, swap chunks of their representations (crossover). Occasionally flip a random bit (mutation). Repeat for many generations.
No single step requires deep understanding of the problem. There is no guarantee the best solution is ever found. And yet, generation after generation, the population climbs toward surprisingly good answers in spaces that would take the age of the universe to search exhaustively.
That combination — powerful in practice, impossible to guarantee in theory — is what makes genetic algorithms both fascinating and tricky to reason about.
Comments
Loading comments...