<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=US-ASCII">
<META content="MSHTML 6.00.2900.2722" name=GENERATOR></HEAD>
<BODY id=role_body style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Arial" 
bottomMargin=7 leftMargin=7 topMargin=7 rightMargin=7><FONT id=role_document 
face=Arial color=#000000 size=2>
<DIV>I believe that the implementation of CycleCrossover in GA1DArrayGenome.c 
contains an error.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Briefly, I believe that the variable "current" in the segment of code 
beginning with </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (c1 &amp;&amp; c2)</DIV>
<DIV>should be reinitialized&nbsp;before the "bro" child genome is created, that 
is, that the line</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; current = 0;</DIV>
<DIV>should be added between</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; mask.clear();</DIV>
<DIV>&nbsp;and</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp; bro.gene(0, dad.gene(0));</DIV>
<DIV>&nbsp;</DIV>
<DIV>As the code reads now,&nbsp;the cycle for "bro" is resought starting at the 
last new cycle-member's position in the earlier code (denoted by the value of 
&lt;current&gt; left over from seeking&nbsp;the cycle&nbsp;during creation of 
the "sis" genome) but the corresponding mask bit is not set, as it should be 
(rather, the mask bit at position 0 is set, as it was in the code for 
"sis").&nbsp; As a result, the "bro" child, which presumably&nbsp;is supposed to 
represent&nbsp;a permutation,&nbsp;may contain a duplicate value (and a 
corresponding omission).&nbsp;&nbsp;On&nbsp;a subsequent&nbsp;crossover attempt, 
the&nbsp;bogus chromosome can cause the program to hang up, presumably in an 
infinite loop.</DIV>
<DIV>&nbsp;</DIV>
<DIV>If anyone thinks that I am in error or would like a more detailed 
explanation, please let me know.&nbsp; I have very much enjoyed working with 
this library.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Sincerely,</DIV>
<DIV>Bob Moss</DIV></FONT></BODY></HTML>