Genetic Algorithms Articles
Research > Genetic Algorithms > Articles


Our DNA chromosomes in a karyotype.
Genetic Algorithms are a very interesting topic. Usually Computer Scientists study algorithms for the applications, but Genetic Algorithms are studied more for their aesthetic value. That they are actually useful is only icing on the cake.

If you do a Google search on Genetic Algorithms, you'll find a lot of the same thing: the general algorithm. You might find an applet or two, but rarely do you find an in-depth analysis of what GAs do and how to get them working well. If you want that, you have to read a whole book.

What I'm trying to do here is to sit between a survey and a book. There's a lot of information and original ideas here, but in a (hopefully) more accessible format.

 


The Good, Bad, and Ugly Faces of Genetic Algorithms

What makes GAs so fascinating? How are GAs different from other approachs to problem solving? Where do they fall short? These questions, as well as others, are answered in this general overview of this field of Machine Learning.

The Strategy Behind Fitness
The peformance of a Genetic Algorithm is mostly based on how it measures the effectiveness of a solution. The way you numerically assign how good a particular solution is for your problem determines how it's going to work out, so it becomes a real skill to design a good function. This article also discusses encoding schemes, or methods for representing your problem in "genomes".

Selection, Mating, and Mutation
This article is geared toward answering the inquiry: "Okay, so I understand the general idea of a genetic algorithm. But how do you actually 'breed' solutions?

Population Dynamics
There are some overall trends in the population that need to be addressed. Search Space is also discussed in depth, as well as some optional, yet extremely practical, operators called Speciation and Subpopulations.

The Enemies
What happens when it doesn't work? Why won't my population converge? Why am I not getting very good answers? Is my population jumping too fast to conclusions? Getting a Genetic Algorithm to run is one feat, but getting it to run well is a whole extra kettle of fish. This article goes over some of the most common factors that create poor population trends.

Quite a Programming Endeavor: A Programmer's Perspective
Genetic Algorithms are a formidable programming endeavor. The algorithm itself provides for so much flexibility with operators and parameters that programming a GA and getting it to work are two entirely different things. I discuss in this article what I have learned about designing a system for GAs...and what should be done.

All above articles are also available in PDF format here



News | Research | Personal Profile | Photo Album
Contact Me

Page last updated: May 14, 2006