![]() |
![]()
| ![]() |
![]()
NAMEAlgorithm::Evolutionary::Individual::Bit_Vector - Classic bitstring individual for evolutionary computation; usually called chromosome, and using a different implementation from Algorithm::Evolutionary::Individual::BitString SYNOPSISuse Algorithm::Evolutionary::Individual::BitVector; my $indi = new Algorithm::Evolutionary::Individual::Bit_Vector 10 ; # Build random bitstring with length 10 # Each element in the range 0 .. 1 my $indi3 = new Algorithm::Evolutionary::Individual::Bit_Vector; $indi3->set( { length => 20 } ); #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 ) = 1; #Sets the value $indi3->addAtom( 1 ); #Adds a new character to the bitstring at the end my $indi4 = Algorithm::Evolutionary::Individual::Bit_Vector->fromString( '10110101'); #Creates an individual from that string my $indi5 = $indi4->clone(); #Creates a copy of the individual my @array = qw( 0 1 0 1 0 0 1 ); #Create a tied array tie my @vector, 'Algorithm::Evolutionary::Individual::Bit_Vector', @array; print tied( @vector )->asXML(); print $indi3->asString(); #Prints the individual print $indi3->asXML() #Prints it as XML. See L<Algorithm::Evolutionary::XML> print $indi3->as_yaml() #Change of convention, I know... Base ClassAlgorithm::Evolutionary::Individual::String DESCRIPTIONBitstring Individual for a Genetic Algorithm. Used, for instance, in a canonical GA METHODSnew( $arg )Creates a new bitstring individual. $arg
can be either { length =>
AtomSets or gets the value of the n-th character in the string. Counting starts at 0, as usual in Perl arrays. size()Returns size in bits clone()Clones using native methods. Does not work with general Clone::Fast, since it's implemented as an XS as_string()Overrides the default; prints the binary chromosome Chrom()Returns the internal bit_vector TIE methodsString implements FETCH, STORE, PUSH and the rest, so an String can be tied to an array and used as such. CopyrightThis 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: 2010/12/19 21:39:12 $ $Header: /media/Backup/Repos/opeal/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Individual/Bit_Vector.pm,v 3.1 2010/12/19 21:39:12 jmerelo Exp $ $Author: jmerelo $ $Revision: 3.1 $ $Name $
|