Algorithm::Evolutionary::Individual::String - A character string to be evolved. Useful mainly in word games
use Algorithm::Evolutionary::Individual::String;
my $indi = new Algorithm::Evolutionary::Individual::String ['a'..'z'], 10;
# Build random bitstring with length 10
my $indi3 = new Algorithm::Evolutionary::Individual::String;
$indi3->set( { length => 20,
chars => ['A'..'Z'] } ); #Sets values, but does not build the string
$indi3->randomize(); #Creates a random bitstring with length as above
print $indi3->Atom( 7 ); #Returns the value of the 7th character
$indi3->Atom( 3, 'Q' ); #Sets the value
$indi3->addAtom( 'K' ); #Adds a new character to the bitstring at the end
my $indi4 = Algorithm::Evolutionary::Individual::String->fromString( 'esto es un string'); #Creates an individual from that string
my $indi5 = $indi4->clone(); #Creates a copy of the individual
my @array = qw( a x q W z ñ); #Tie a String individual
tie my @vector, 'Algorithm::Evolutionary::Individual::String', @array;
print $indi3->as_string(); #Prints the individual
Algorithm::Evolutionary::Individual::Base
String Individual for a evolutionary algorithm. Contains methods to handle
strings easily. It is also TIEd so that strings can be handled as arrays.
Known operators that act on this subroutine. Probably will be deprecated, so
don't rely on its presence
Creates a new random string, with fixed initial length, and uniform distribution
of characters along the character class that is defined. However, this
character class is just used to generate new individuals and in mutation
operators, and the validity is not enforced unless the client class does it
Assigns random values to the elements
Similar to a copy ctor; creates a bitstring individual from a string. Will be
deprecated soon
Similar to a copy ctor; creates a bitstring individual from a string.
Similar to a copy ctor: creates a new individual from another one
Returns the individual as a string with the fitness as a suffix.
Sets or gets the value of the n-th character in the string. Counting starts at
0, as usual in Perl arrays.
String implements FETCH, STORE, PUSH and the rest, so an String can be tied to
an array and used as such.
Returns length of the string that stores the info; overloads abstract base
method.
Returns the string used as internal representation
Sets or gets the variable that holds the chromosome. Not very nice, and I would
never ever do this in C++
- •
- Algorithm::Evolutionary::Individual::BitString
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