J. J. Merelo-Guervós > Algorithm-Evolutionary-0.78 > Algorithm::Evolutionary::Op::NoChangeTerm

Download:
Algorithm-Evolutionary-0.78.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 3.0   Source   Latest Release: Algorithm-Evolutionary-0.80

NAME ^

    Algorithm::Evolutionary::Op::NoChangeTerm - Checks for termination of an algorithm; terminates
                   when several generations transcur without change

SYNOPSIS ^

    my $nct = new Algorithm::Evolutionary::Op::NoChangeTerm 10; 
    #nct->apply( \@pop ) will return false after 10 generations w/o change

Base Class ^

Algorithm::Evolutionary::Op::Base

DESCRIPTION ^

Algorithm::Evolutionary::Op::NoChangeTerm is used when we want an algorithm to finish when the population has stagnated, or the global optimum is found. It counts how many generations the population has not changed, and returns false after that limit is reached.

It is useful if you want to run an algorithm for a certain time, or if you want to apply some fancy diversity operator

METHODS ^

new( [$number_of_generations_without_change] )

Creates a new terminator. Takes as an argument the number of generations after which it will return false, which defaults to 10.

apply( $population )

Checks if the first member of the population has the same fitness as before, and increments counter. The population should be ordered

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::DeltaTerm 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: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/NoChangeTerm.pm,v 3.0 2009/07/24 08:46:59 jmerelo Exp $ 
  $Author: jmerelo $ 
  $Revision: 3.0 $
  $Name $
syntax highlighting: