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 org.jgap.*; 13 14 /** 15 * Interface for GP commands that are mutateable. 16 * 17 * @author Klaus Meffert 18 * @since 3.0 19 */ 20 public interface IMutateable { 21 /** String containing the CVS revision. Read out via reflection!*/ 22 final static String CVS_REVISION = "$Revision: 1.3 $"; 23 24 /** 25 * Mutates a CommandGene. 26 * 27 * @param a_index references the part of a multipart object, normally not 28 * relevant 29 * @param a_percentage the mutation rate (0.0 to 1.0) 30 * @return the mutant 31 * @throws InvalidConfigurationException 32 * 33 * @author Klaus Meffert 34 * @since 3.0 35 */ 36 CommandGene applyMutation(int a_index, double a_percentage) 37 throws InvalidConfigurationException; 38 39 } 40