next up previous
Next: Data for the 5-Bit Up: GENETIC ALGORITHMS AS A Previous: References

Complete Mask Rules

 

  1. tex2html_wrap_inline2759 :
    Case: Both children are good.
    Summary: Very encouraging behavior and as such is reflected in the mask settings below and in figure gif. The parents' masks are OR'd to produce the children's masks, ensuring preservation of the contributions from both parents.

       figure1825
    Figure: Mask rule tex2html_wrap_inline2759 : Example of mask propagation when both C1 and C2 are good

    Action:
    • CM1: OR the masks of PM1 and PM2. If there are any 0's left in CM1, toss a coin to decide their value.
    • CM2: Same as for CM1.
    • PM1: No changes except for those produced by mask mutation.
    • PM2: Same as for PM1.
  2. tex2html_wrap_inline4081 :
    Case: Both children are bad.
    Summary: Discouraging behavior and must be guarded against in future. Each parent contributed bits that were detrimental to the children's fitness. MX has not set up the parents' masks correctly. Changes are given below and shown in figure gif.

       figure1839
    Figure: Mask rule tex2html_wrap_inline4081 : Example of mask propagation when both C1 and C2 are bad.

    Action:
    • CM1: This mask should reflect the undesirability of the current search direction. Contributions from P2 were detrimental, therefore CM1 should search in the area of P2's contribution which is specified by the loci where tex2html_wrap_inline4093 is 0 and tex2html_wrap_inline4097 is 1. Set these loci in tex2html_wrap_inline4101 to 0. If P2 > P1 in fitness, toss a coin to set the bits of CM1 at those locations where both tex2html_wrap_inline4093 and tex2html_wrap_inline4097 are 1.
    • CM2: A similar rule applies to CM2.
    • PM1: P2's contribution to C1 led to a bad child. The C1 positions copied from P2 need to be explored in P1. These loci are those for which tex2html_wrap_inline4093 was 0 and tex2html_wrap_inline4097 was 1. Therefore set these loci in tex2html_wrap_inline4093 by tossing a coin. In addition, PM1 specified loci that were detrimental to C2. Therefore when tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0, set these locations by tossing a coin.
    • PM2: A similar rule applies for PM2.
  3. tex2html_wrap_inline4157 :
    Case: One child is bad while the other is average. Assume that C1 is bad and C2 is average.
    Summary: There are two sub-cases. If C2's fitness is less than that of P2, it means that P1's contribution was deleterious, and that PM2 needs to be augmented with 1's at those positions that were copied from P1 to C2 (see figure gif). If C2's fitness is less than that of P1, P1's contribution increased C2's fitness, so preserve P1's contribution in C2. The masks are shown in figure gif.

       figure1854
    Figure: Mask rule tex2html_wrap_inline4157 , Part 1: Example of mask propagation when C1 is bad and C2 is average. (C1 < P1 < C2 < P2)

    Action:
    • When C1 < P1 < C2 < P2:
      • CM1: Very similar to tex2html_wrap_inline4081 's CM1. This mask should reflect the undesirability of the current search direction. Contributions from P2 were detrimental, therefore CM1 should search in the area of P2's contribution which is specified by the loci where tex2html_wrap_inline4093 is 0 and tex2html_wrap_inline4097 is 1. Set these loci in tex2html_wrap_inline4101 to 0. Since P2 > P1 in fitness, toss a coin to set the bits of CM1 at those locations where both tex2html_wrap_inline4093 and tex2html_wrap_inline4097 are 1.
      • CM2: As P1's contribution decreased C2's fitness, set tex2html_wrap_inline4239 by tossing a coin when tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0, searching around P1's contribution.
      • PM1: P2's contribution to C1 led to a bad child. The C1 positions copied from P2 need to be explored in P1. These loci are those for which tex2html_wrap_inline4093 is 0 and tex2html_wrap_inline4097 is 1. Therefore set these loci in tex2html_wrap_inline4093 by tossing a coin. In addition, PM1 specified loci that were detrimental to C2. Therefore when tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0, again set these locations by tossing a coin.
      • PM2: Since P1's contribution led to a decrease in fitness, set tex2html_wrap_inline4097 to 1 for those loci for which tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0. To help fix positions currently 0, toss a coin to fix those loci in tex2html_wrap_inline4097 for which both tex2html_wrap_inline4093 and tex2html_wrap_inline4097 are 0.

    • When C1 < P2 < C2 < P1:

         figure1866
      Figure: Mask rule tex2html_wrap_inline4157 , Part 2: Example of mask propagation when C1 is bad and C2 is average. (C1 < P2 < C2 < P1)

      • CM1: Same as the action for CM1 when C1 < P1 < C2 < P2. Except that as P1 > P2, no action need be taken when both parent masks have a 1 at some position.
      • CM2: To preserve P1's contribution, when tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0 set tex2html_wrap_inline4239 to 1.
      • PM1: Those bits that contributed to C1 but not those that helped C2 need to be modified. Therefore for those loci where tex2html_wrap_inline4093 is 1 and tex2html_wrap_inline4097 is 0, toss a coin to decide tex2html_wrap_inline4093 . P2's contribution was detrimental so when tex2html_wrap_inline4097 is 1 and tex2html_wrap_inline4093 is 0 set tex2html_wrap_inline4093 to 1.
      • PM2: Set tex2html_wrap_inline4097 by tossing a coin for those loci that contributed to C1.
  4. tex2html_wrap_inline4383 :
  5. tex2html_wrap_inline4447 :
  6. tex2html_wrap_inline4565 :
  7. Case: One child is good and the other bad. Assume C1 is bad and C2 is good.
  8. Summary: This should try to preserve C2's schemas, while the relative fitnesses of P1 and P2 drive the settings of PM1 and PM2.
  9. Action:

next up previous
Next: Data for the 5-Bit Up: GENETIC ALGORITHMS AS A Previous: References

Sushil J. Louis
Wed Jun 25 15:17:05 PDT 1997