Jump to content

Inheritance (genetic algorithm)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Robertdpatrick1 (talk | contribs) at 04:25, 28 October 2014 (Added link to book page for reference). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In genetic algorithms, inheritance is the ability of modeled objects to mate, mutate (similar to biological mutation), and propagate their problem solving genes to the next generation, in order to produce an evolved solution to a particular problem. The selection of objects that will be inherited from in each successive generation is determined by a fitness function. [1]

The propagation of traits between generations is similar to the inheritance of traits between generations of biological organisms. This process can also be viewed as a form of reinforcement learning, because the evolution of the objects is driven by the passing of traits from successful objects which can be viewed as a reward for their success, thereby promoting beneficial traits. [1]


Process

The traits of these objects are passed on through chromosomes by a means similar to biological reproduction. Once a new generation is ready to be created, all of the individuals that have been successful and have been chosen for reproduction are randomly paired together. Then, the traits of these individuals are passed on through a combination of crossover and mutation. [1]

Example

Assume these two strings of bits represent the traits being passed on by two parent objects:

  • Object 1: 1100011010110001
  • Object 2: 1001100110011001

Now, consider that the crossover point is randomly positioned after the fifth bit:

  • Object 1: 11000 | 11010110001
  • Object 2: 10011 | 00110011001

During crossover, the two objects will swap all of the bits after the crossover point, leading to:

  • Object 1: 11000 | 00110011001
  • Object 2: 10011 | 11010110001

Finally, mutation is simulated on the objects by there being zero or more bits flipped randomly. Assuming the tenth bit for object 1 is mutated, and the second and seventh bits are mutated for object 2, the final children produced by this inheritance would be:

  • Object 1: 1100000111011001
  • Object 2: 1101110010110001


References

  1. ^ a b c Russell, Stuart J.; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach. Englewood Heights, NJ: Prentice-Hall.