/*
 * 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 org.jgap;

import java.io.*;

/**
 * Interface for a calculator that determines a dynamic rate.
 *
 * @author Chris Knowles
 * @since 2.0
 */
public interface IUniversalRateCalculator extends Serializable {
  /** String containing the CVS revision. Read out via reflection!*/
  final static String CVS_REVISION = "$Revision: 1.7 $";

  /**
   * Calculates the required dynamic rate.
   * @return the currently applying mutation rate.
   *
   * @author Chris Knowles
   * @since 2.0
   */
  int calculateCurrentRate();

  /**
   * Calculates whether a mutation should be carried out.
   * @return flag indicating whether mutation should be performed
   *
   * @author Chris Knowles
   * @since 2.0
   */
  boolean toBePermutated(IChromosome a_chrom, int a_geneIndex);
}

 

Ads help maintain this website.