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.

PNG image

-------------------------------------------------------------------------
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

Reply via email to