Quick Navigator

 Search Site Miscellaneous Server Agreement Year 2038 Credits

# Manual Reference Pages  -  ALGORITHM::EVOLUTIONARY::OP::EASY (3)

.ds Aq ’

### NAME

Algorithm::Evolutionary::Op::Easy - evolutionary algorithm, single generation, with
variable operators.

### SYNOPSIS

my \$easy_EA = new Algorithm::Evolutionary::Op::Easy \$fitness_func;

for ( my \$i = 0; \$i < \$max_generations; \$i++ ) {
print "<", "="x 20, "Generation \$i", "="x 20, ">\n";
\$easy_EA->apply(\@pop );
for ( @pop ) {
print \$_->asString, "\n";
}
}

#Define a default algorithm with predefined evaluation function,
#Mutation and crossover. Default selection rate is 0.4
my \$algo = new Algorithm::Evolutionary::Op::Easy( \$eval );

#Define an easy single-generation algorithm with predefined mutation and crossover
my \$m = new Algorithm::Evolutionary::Op::Bitflip; #Changes a single bit
my \$c = new Algorithm::Evolutionary::Op::Crossover; #Classical 2-point crossover
my \$generation = new Algorithm::Evolutionary::Op::Easy( \$rr, 0.2, [\$m, \$c] );

### Base Class

Algorithm::Evolutionary::Op::Base

### DESCRIPTION

Easy to use, single generation of an evolutionary algorithm. Takes an arrayref of operators as input, or defines bitflip-mutation and 2-point crossover as default. The apply method applies a single iteration of the algorithm to the population it takes as input

### METHODS

#### new( CW\$eval_func, [\$operators_arrayref] )

Creates an algorithm that optimizes the handled fitness function and reference to an array of operators. If this reference is null, an array consisting of bitflip mutation and 2 point crossover is generated. Which, of course, might not what you need in case you don’t have a binary chromosome.

#### set( CW\$hashref, codehash, opshash )

Sets the instance variables. Takes a ref-to-hash (for options), codehash (for fitness) and opshash (for operators)

#### apply( CW\$population )

Applies the algorithm to the population; checks that it receives a ref-to-array as input, croaks if it does not. Returns a sorted, culled, evaluated population for next generation.

### SEE ALSO

Algorithm::Evolutionary::Op::CanonicalGA. Algorithm::Evolutionary::Op::FullAlgorithm.

### 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
Search for    or go to Top of page |  Section 3 |  Main Index

 perl v5.20.3 ALGORITHM::EVOLUTIONARY::OP::EASY (3) 2014-10-25

Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.