The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

    Algorithm::Evolutionary::Op::DeltaTerm - Termination condition for an algorithm; checks that 
                the difference of the best to a target is less than a delta
                 

SYNOPSIS

   my $target = 1;
   my $epsilon = 0.01;
   my $dt = new Algorithm::Evolutionary::Op::DeltaTerm $target, $epsilon; 
   #$dt->apply( \@pop ) when the best fitness is 1 plus/minus 0.1

Base Class

Algorithm::Evolutionary::Op::Base

DESCRIPTION

Termination condition for evolutionary algorithm loops; the apply method returns false when the first element in the array is as close to the target as the differente indicated.

METHODS

new( $target[, $delta] )

Creates a new terminator. Takes as parameters the target and the epsilon (or delta, whatever you want to call it):

  my $target = 1; 
  my $epsilon = 0.01; 
  my $dt = new Algorithm::Evolutionary::Op::DeltaTerm $target, $epsilon; 

Delta can be 0, which means that application of this operator will return true only when the first element fitness is the same as the target. Use this judiciously when your fitness is a floating point number.

apply( $population )

Will return true while the difference between the fitness of the first element in the population and the target is less than $delta, true otherwise

    $dt->apply( \@pop ) == 1 

if the target has not been reached. Population must be sorted before this.

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::GenerationalTerm.

Copyright

  This file is released under the GPL. See the LICENSE file included in this distribution,
  or go to http://www.fsf.org/licenses/gpl.txt

  CVS Info: $Date: 2009/07/24 08:46:59 $ 
  $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/DeltaTerm.pm,v 3.0 2009/07/24 08:46:59 jmerelo Exp $ 
  $Author: jmerelo $