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

FreeBSD Manual Pages


home | help

       Algorithm::Evolutionary::Individual::Base - Base	class for chromosomes
       that knows how to build them, and has some helper methods.

	 use  Algorithm::Evolutionary::Individual::Base;

	 my $indi = Algorithm::Evolutionary::Individual::Base->fromParam( $param_hashref ); #From parametric description

	 $binIndi2->Fitness( 3.5 ); #Sets or gets fitness
	 print $binIndi2->Fitness();

	 my $emptyIndi = new Algorithm::Evolutionary::Individual::Base;

       Base class for individuals, that	is, "chromosomes" in evolutionary
       computation algorithms. However,	chromosomes needn't be bitstrings, so
       the name	is a bit misleading. This is, however, an "empty" base class,
       that acts as a boilerplate for deriving others.

       Creates methods for instance variables automatically

   new(	$options )
       Creates a new Base individual of	the required class, with a fitness,
       and sets	fitnes to undef.  Takes	as params a hash to the	options	of the
       individual, that	will be	passed on to the object	of the class when it
       iss initialized.

   create( $ref_to_hash	)
       Creates a new individual, but uses a different interface: takes a ref-
       to-hash,	with named parameters, which gives it a	common interface to
       all the hierarchy. The main difference with respect to new is that
       after creation, it is initialized with random values.

   set(	$ref_to_hash )
       Sets values of an individual; takes a hash as input. Keys are prepended
       an underscore and turn into instance variables

       Prints it as YAML.

       Prints it as a string in	the most meaningful representation possible

   as_string_with_fitness( [$separator]	)
       Prints it as a string followed by fitness. Separator by default is ";"

   Atom( $index	[, $value )
       Sets or gets the	value of an atom. Each individual is divided in	atoms,
       which can be accessed sequentially. If that does	not apply, Atom	can
       simply return the whole individual

   Fitness( [$value] )
       Sets or gets fitness

       Operators that can act on this data structure. Returns an array with
       the names of the	known operators

   evaluate( $fitness )
       Evaluates using the $fitness thingy given. Can be a
       Algorithm::Evolutionary::Fitness::Base object or	a ref-to-sub

       Sets or gets the	chromosome itself, that	is, the	data structure
       evolved.	Since each derived class has its own data structure, and its
       own name, it is left to them to return it

       OK, OK, this is utter inconsistence, but	I'll re-consistence it
	   eventually. Returns a meaningful size; but should be	reimplemented
	   by siblings

Known subclasses
       There are others, but I'm not so	sure they work.

       o   Algorithm::Evolutionary::Individual::Vector

       o   Algorithm::Evolutionary::Individual::String

       o   Algorithm::Evolutionary::Individual::Tree

       o   Algorithm::Evolutionary::Individual::Bit_Vector

	 This file is released under the GPL. See the LICENSE file included in this distribution,
	 or go to

perl v5.32.1			  Algorithm::Evolutionary::Individual::Base(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | Known subclasses | Copyright

Want to link to this manual page? Use this URL:

home | help