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

NAME

Algorithm::Evolutionary::Fitness - Base class for fitness functions

SYNOPSIS

Shouldn't be used directly, it's an abstract class whose siblings are used to implement fitness functions.

DESCRIPTION

This module includes functionality that should be common to all fitness functions. Or at least it would be nice to have it in common. It counts the number of evaluations and includes a common API for caching evaluations.

METHODS

new()

Initializes common variables, like the number of evaluations. Cache is not initialized.

initialize()

Called from new, initializes the evaluations counter.

apply( $individual )

Applies the instantiated problem to a chromosome. Actually it is a wrapper around _apply

_apply( $individual )

This is the one that really does the stuff. Should be overloaded by derived clases

evaluations()

Returns the number of evaluations made with this object. Useful for collecting stats, but it's up to the offspring to update it by using apply (which could make it slower anyway).

reset_evaluations()

Sets to 0 the number of evaluations; useful for repeated use of the fitness object

cache()

Returns a reference to the internal evaluations cache. Not very encapsulated, but...

Known subclasses

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