/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package examples.gp.monalisa.core;
import org.jgap.gp.*;
/**
* Initializes GP programs properly when they are created.
*
* @author Klaus Meffert
* @since 3.4
*/
public class InitStrategy
implements IGPInitStrategy {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.1 $";
/**
* Initializes a chromosome within a GP program before a random creation of
* the (rest of the) program is executed.
*
* @param a_chrom the chromosome within the GP program to create randomly
* @param a_chromNum index of the chromosome with the GP program
* @return the CommandGene to use as first node, or null if random selection
* @throws Exception
*
* @author Klaus Meffert
* @since 3.4
*/
public CommandGene init(IGPChromosome a_chrom, int a_chromNum)
throws Exception {
if (a_chromNum == 0) {
CommandGene gene = DrawingProblem.SUBPROGRAM;
return gene;
}
return null;
}
}