Algorithm::Evolutionary::Op::Convergence_Terminator - Checks for termination of an algorithm, returns true if a certain percentage of the population is the same


  my $ct = new Algorithm::Evolutionary::Op::Convergence_Terminator 0.5; 
  do {
    $generation->apply($pop_hashref );
  } until ($ct->apply( $pop_hashref );

Base Class



Checks for termination after if population has converged


new( [$population_proportion = 0.5] )

Creates a new generational terminator:

  my $ct = new Algorithm::Evolutionary::Op::Convergence_Terminator 0.5; 

will make the apply method return false after if 50% of the population are the same, that is, its "genetic" representation is equal.


Checks for population convergence

See Also

Algorithm::Evolutionary::Op::FullAlgorithm needs an object of this class to check for the termination condition. It's normally used alongside "generation-type" objects such as Algorithm::Evolutionary::Op::Easy

There are other options for termination conditions: Algorithm::Evolutionary::Op::NoChangeTerm and Algorithm::Evolutionary::Op::DeltaTerm.


  This file is released under the GPL. See the LICENSE file included in this distribution,
  or go to

  CVS Info: $Date: 2009/07/28 11:30:56 $ 
  $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/,v 3.1 2009/07/28 11:30:56 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.1 $
  $Name $