Before I work on the 7-link robot, which is a long and difficult
project, and which I can't do alone anyway, I want to complete a fairly
easy task, which is to add a third genetic operator. Genetic operators
create new chromosomes by re-arranging portions of pairs of
chromosomes. This new operator could be added to all of our C evolution
projects, but waybak is the one that seems to need it. This third
operator will prevent diversity from vanishing.
The attached diagram illustrates 3 genetic operators. 3 is the new
one. In 1, a single random point is picked, and both chromosomes are
broken at that point. Then corresponding lower segments are swapped.
Remember that our chromosomes consist of one-dimensional floating point
arrays, so it is not difficult to rearrange portions of them.
This is called single point crossover.
In 2, two random points are picked, both chromosomes are broken at both
points, and the middle portion is swapped as shown. This is called
two-point crossover.
In 3, two random points are picked, and then one end of each chromosome
is moved to the middle of the other. The original middle portions are
moved to become the new ends. The end that is moved to the middle can
be the top or bottom end. The illustration shows the bottom end being
moved to the middle, but it could be top end, in which case the bottom
end would not move and the middle portions would become the new top ends.
All of the above are suggested by biology. Real biological chromosomes
are very long, and typically break and are reattached in many places as
a result of mating. Most of the segments are reattached in
corresponding positions, as in my types 1 and 2 above, but sometimes
pieces get attached elsewhere, as in 3 above.
Also in the biological case, sometime a segment of chromosome gets
reversed end-for-end before it is reattached. This variation could be
applied to 1, 2 or 3 above, but is seems most appropriate to me to apply
it only to 3. So when I implement operator 3, I plan to have a small
probability of a segment being reversed before attachment.
m
--
I'm proud of http://ANNEvolve.sourceforge.net. If you want to write software, or articles, or do testing or research for ANNEvolve, let me know.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642