Algorithm::Evolutionary::Fitness::Trap - 'Trap' fitness function for
evolutionary algorithms
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 );
Trap functions act as "yucky" or deceptive for evolutionary
algorithms; they "trap" population into going to easier, but local,
optima.
Creates a new instance of the problem, with the said number of bits and traps.
Uses default values from $number_of_bits if needed
Applies the instantiated problem to a chromosome
Computes the value of the trap function on the $string.
Optimum is number_of_blocs * $b (by default,
$b = $l or number of ones)
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