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

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