|
|
| |
Algorithm::Evolutionary::Individual::Base(3) |
User Contributed Perl Documentation |
Algorithm::Evolutionary::Individual::Base(3) |
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
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.
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.
Sets values of an individual; takes a hash as input. Keys are prepended an
underscore and turn into instance variables
Prints it as a string in the most meaningful representation possible
Prints it as a string followed by fitness. Separator by default is
";"
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
Operators that can act on this data structure. Returns an array with the names
of the known operators
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
There are others, but I'm not so sure they work.
- Algorithm::Evolutionary::Individual::Vector
- Algorithm::Evolutionary::Individual::String
- Algorithm::Evolutionary::Individual::Tree
- Algorithm::Evolutionary::Individual::Bit_Vector
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
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |