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

FreeBSD Manual Pages

  
 
  

home | help
Algorithm::EvolutionarUserpContributed PerAlgorithm::Evolutionary::Op::Easy(3)

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(	$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(	$hashref, codehash, opshash )
       Sets the	instance variables. Takes a ref-to-hash	(for options),
       codehash	(for fitness) and opshash (for operators)

   apply( $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

perl v5.32.1			  2014-10-Algorithm::Evolutionary::Op::Easy(3)

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

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

home | help