1 10 package examples.supergene; 11 12 import org.jgap.*; 13 import org.jgap.impl.IntegerGene; 14 import examples.supergene.*; 15 16 22 class WithoutSupergeneChangeFitFuncForTest 23 extends SupergeneChangeFitnessFunction { 24 25 private final static String CVS_REVISION = "$Revision: 1.2 $"; 26 27 public WithoutSupergeneChangeFitFuncForTest(int a_targetAmount) { 28 super(a_targetAmount); 29 } 30 31 public Gene getResponsibleGene(IChromosome a_chromosome, int a_code) { 32 return a_chromosome.getGene(a_code); 33 } 34 35 39 public double evaluate(IChromosome a_subject) { 40 IntegerGene nickels = 41 (IntegerGene) a_subject.getGene(SupergeneSample.NICKELS); 42 IntegerGene pennies = 43 (IntegerGene) a_subject.getGene(SupergeneSample.PENNIES); 44 boolean valid = nickels.intValue() % 2 == pennies.intValue() % 2; 45 double r; 47 if (!valid) { 48 r = 0; 49 } 50 else { 51 r = super.evaluate(a_subject); 52 } 53 return r; 54 } 55 } 56 | Popular Tags |