NAME

Algorithm::Evolutionary::Fitness::Trap - 'Trap' fitness function for evolutionary algorithms

SYNOPSIS

my $number_of_bits = 5;
my $a = $number_of_bits -1; # Usual default values follow
my $b = $number_of_bits;
my $z = $number_of_bits -1;
my $trap = Algorithm::Evolutionary::Fitness::Trap->new( $number_of_bits, $a, $b, $z );

# Equivalent to

$trap = Algorithm::Evolutionary::Fitness::Trap->new( $number_of_bits );

my $chromosome = "10101111110000";
my $fitness = $trap->apply( $chromosome );

DESCRIPTION

Trap functions act as "yucky" or deceptive for evolutionary algorithms; they "trap" population into going to easier, but local, optima.

METHODS

new( $number_of_bits, [$a = $number_of_bits -1, $b = $number_of_bits, $z=$number_of_bits-1])

Creates a new instance of the problem, with the said number of bits and traps. Uses default values from $number_of_bits if needed

_really_apply

Applies the instantiated problem to a chromosome

trap( $string )

Computes the value of the trap function on the $string. Optimum is number_of_blocs * $b (by default, $b = $l or number of ones)

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