
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
Paul Victor Birke wrote:
Quaternion wrote:
<snip>
The coding of GA's is actually amazingly simple
Quoting my wife ==> >>easy for you to say !!<<
Paul, I believe you could code up your own GA software based on this description which will shortly appear on our ANNEvolve website:
How Simulated Evolution Works
by M. Timin November, 2003
1. There is a population of similar, but not identical, things.
2. Each one has a linear array of numbers that specify how it differs from the other members of the population. This array may be called a chromosome.
3. There is a test that can be applied to every member of the population, and which yields a fitness value. This fitness value is a measure of how each individual compares with the others in achieving some goal.
4. The entire population is tested, and then a significant fraction of them are chosen to be eliminated. The decision in each case is based on the results of the fitness test. It might just consist of eliminating the lower half of the population. More commonly there is random elimination with the less fit individuals having a higher probability of being eliminated.
5. There is mating, which consists of choosing pairs of surviving
individuals
to be parents. Usually, the more fit individuals have a higher
probability
of being chosen. Individuals may be parents more than once, and with
different partners.
6. There is reproduction, which consists of creating new individuals
to replace those that have been eliminated. These "offspring" are
formed by combining portions of the chromosomes of both parents. Two
new chromosomes are created which are different from both of the
parents, but contain long
segments of chromosome that are identical to homologous segment in
one
parent or the other. The total population is usually kept constant.
7. Steps 4, 5, and 6 are repeated indefinitely, perhaps thousands of
times.
The result is usually a dramatic increase in the fitness of the
population,
and of the most fit member of the population. This most fit member
will be
usually be the desired solution to the problem at hand. Each
repetition of
these steps is called a generation.
I suggest you just start trying to code this up yourself. You can ask questions when you get stuck.
m
| <-- __Chronological__ --> | <-- __Thread__ --> |