Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Algorithm::EvolutionarUserpContributediPerl:Dvolutionary::Op::FullAlgorithm(3)

NAME
       Algorithm::Evolutionary::Op::FullAlgorithm - Skeleton class for a
       fully-featured evolutionary algorithm

SYNOPSIS
	 use Algorithm::Evolutionary qw( Op::Base Op::Bitflip Op::Crossover
					 Op::RouletteWheel Op::GeneralGeneration
					 Op::GenerationalTerm Op::FullAlgorithm	);

	 # Using the base class	as factory
	 my $easyEA = Algorithm::Evolutionary::Op::Base->fromXML( $ref->{$xml} );
	 $easyEA->apply(\@pop );

	 #Or using the constructor
	 my $m = new Algorithm::Evolutionary::Op::Bitflip; #Changes a single bit
	 my $c = new Algorithm::Evolutionary::Op::Crossover; #Classical	2-point	crossover
	 my $replacementRate = 0.3; #Replacement rate
	 my $popSize = 20;
	 my $selector =	new Algorithm::Evolutionary::Op::RouletteWheel $popSize; #One of the possible selectors
	 my $onemax = sub {
	   my $indi = shift;
	   my $total = 0;
	   my $len = $indi->length();
	   my $i = 0;
	   while ($i < $len ) {
	     $total += substr($indi->{'_str'}, $i, 1);
	     $i++;
	   }
	   return $total;
	 };
	 my $generation	=
	   new Algorithm::Evolutionary::Op::GeneralGeneration( $onemax,	$selector, [$m,	$c], $replacementRate );
	 my $g100 = new	Algorithm::Evolutionary::Op::GenerationalTerm 10;
	 my $f = new Algorithm::Evolutionary::Op::FullAlgorithm	$generation, $g100;
	 print $f->asXML();

	 $f->apply( $pop ); # Pop should be defined else where

Base Class
       Algorithm::Evolutionary::Op::Base

DESCRIPTION
       Class for a configurable	evolutionary algoritm. It takes	a single-
       generarion object, and mixes it with a termination condition to create
       a full algorithm. Includes a sensible default (100-generation
       generational algorithm) if it is	issued only an object of class
       Algorithm::Evolutionary::Op::GeneralGeneration.

   new(	$single_generation[, $termination_test]	[, $verboseness] )
       Takes an	already	created	algorithm and a	terminator, and	creates	an
       object

   set(	$hashref, $codehash, $opshash )
       Sets the	instance variables. Takes hashes to the	different options of
	   the algorithm: parameters, fitness functions	and operators

   apply( $reference_to_population_array )
       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
       More or less in the same	ballpark, alternatives to this one

       o   Algorithm::Evolutionary::Op::CanonicalGA.

       o   Algorithm::Evolutionary::Op::Easy.

       Classes you can use within FullAlgorithm:

       o   Algorithm::Evolutionary::Op::Convergence_Terminator

       o   Algorithm::Evolutionary::Op::GenerationalTerm

       o   Algorithm::Evolutionary::Op::Generation_Skeleton

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

	 CVS Info: $Date: 2009/07/24 08:46:59 $
	 $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/FullAlgorithm.pm,v 3.0 2009/07/24 08:46:59 jmerelo Exp $
	 $Author: jmerelo $

perl v5.32.1			 Algorithm::Evolutionary::Op::FullAlgorithm(3)

NAME | SYNOPSIS | Base Class | DESCRIPTION | SEE ALSO | Copyright

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Algorithm::Evolutionary::Op::FullAlgorithm&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help