Introduction and Background Fuzzy Logic Genetic Algorithms Neural Networks Feedback Links Page Information

The Potential of Genetic Algorithms

Genetic Algorithms acquire cognitive capabilities by using the Darwinian idea of survival of the fittest. Each individual has a fitness determined by some predefined criteria. The individuals are checked for fitness. Then allowed to reproduce and mutate. Then the process is repeated. The initial population is randomly created under certain conditions. The basic genetic algorithm structure is like this.

As you can see the basic process is simply to take the current generation, measure their fitness, generate offspring which fully replace the previous generation, mutate the offspring, and then repeat. An individual can be any object for which a fitness can be calculated. An individual could be a series of bits (as in my example) or even a computer program.Each individual should have the following features...
  • A fitness (static or dynamic)
  • Constraints for creating a new random individual
  • The ability to mate with an individual of its species (an individual of the same type)
  • The ability to reproduce assexually, mutation (optional)

How would you created these features?

In bit array, a random individual would be a random sequence of True and False, but in a program it would be a series of instructions. The answer to this question, as well as the answer of how to produce offspring, and mutated individual lies in the structure of the individual. The defining genetic material of the individual is commonly refered to as the chromsome continuing our biological naming trend.

How do we choose who gets to reproduce? Sexual Reproduction

Individuals are first evaluated for their fitness. Then the fitness vector of the current generation is normalized and individuals are choosen in proportion to their normal values. This process allows individuals who are more fit to reproduce more often. By selecting fitter individuals at a higher rate than lesser individuals the population tends to become healthier with time. This trend towards increased fitness is what gives genetic algorithms their cognitive capabilities. It also easy to see how Darwin's ideas effect the design of our algorithm. The fitter individuals survive better their lesser counterparts allowing the population to evolve to a more appropriate solution. Individuals generally reproduce with no population growth. Each pair of parents produces two offspring. The number individuals is held constant with time.

Why do we need mutation? Assexual Reproduction

Mutation allows the algorithm to escape from early problems. If a weak individually accidently reproduces at a higher rate than expected then the population is weakened. Mutation allows us to escape these problems by randomly changing an individual at a small rate (usually less than 1 in 1000). High mutation rates are not usually advantageous; however, a high mutation rate (about .01) might be advantageous in a dynamic environment. Some genetic algorithms decrease the mutation rate with time. This allows the algorithm to move quickly to the vicinity of the absolute maximum and then as the mutation rate decreases move increasingly close to the absolute maximum. This scheme can improve the convergence time of the algorithm.

What are some drawbacks of genetic algorithms?

Genetic algorithms despite their strengths also have their weaknesses. Genetic algorithms are not guaranteed to converge to the proper solution to a problem. There success is governed by a logarithmic formula based on the propability of randomly producing a perfect individual. This is not usually a reason for much concern. Genetic algorithms still generally converge more often than Neural Networks or at least with less difficulty.

Now for a real example