1 /* 2 * This file is part of JGAP. 3 * 4 * JGAP offers a dual license model containing the LGPL as well as the MPL. 5 * 6 * For licencing information please see the file license.txt included with JGAP 7 * or have a look at the top of class org.jgap.Chromosome which representatively 8 * includes the JGAP license policy applicable for any file delivered with JGAP. 9 */ 10 package org.jgap.gp; 11 12 import java.io.*; 13 import org.jgap.gp.impl.*; 14 15 /** 16 * Interface for algorithms selecting individuals for evolutionary operations. 17 * 18 * @author Klaus Meffert 19 * @since 3.0 20 */ 21 public interface INaturalGPSelector 22 extends Serializable { 23 /** String containing the CVS revision. Read out via reflection!*/ 24 static final String CVS_REVISION = "$Revision: 1.4 $"; 25 26 /** 27 * Select an individual based on some algorithm. 28 * 29 * @param a_genotype the genotype used 30 * @return the individual chosen from the genotype's population 31 * 32 * @author Klaus Meffert 33 * @since 3.0 34 */ 35 IGPProgram select(GPGenotype a_genotype); 36 } 37