AI::Genetic::OpMutation - A class that implements various mutation operators.
See AI::Genetic.
This package implements a few mutation mechanisms that can be used in user-defined strategies. The methods in this class are to be called as static class methods, rather than instance methods, which means you must call them as such:
AI::Genetic::OpCrossover::MethodName(arguments)
There is really one kind of mutation operator implemented in this class, but it implemented for the three default individuals types. Each gene of an individual is looked at separately to decide whether it will be mutated or not. Mutation is decided based upon the mutation rate (or probability). If a mutation is to happen, then the value of the gene is switched to some other possible value.
For the case of bitvectors, an ON gene switches to an OFF gene.
For the case of listvectors, a gene's value is replaced by another one from the possible list of values.
For the case of rangevectors, a gene's value is replaced by another one from the possible range of integers.
Thus, there are only three methods:
The method takes as input the mutation rate, and an anonymous list of genes of a bitvector individual. The return value is an anonymous list of mutated genes. Note that it is possible that no mutation will occur, and thus the returned genes are identical to the given ones.
The method takes as input the mutation rate, an anonymous list of genes of a listvector individual, and a list of lists which describe the possible values for each gene. The return value is an anonymous list of mutated genes. Note that it is possible that no mutation will occur, and thus the returned genes are identical to the given ones.
The method takes as input the mutation rate, an anonymous list of genes of a rangevector individual, and a list of lists which describe the range of possible values for each gene. The return value is an anonymous list of mutated genes. Note that it is possible that no mutation will occur, and thus the returned genes are identical to the given ones.
Written by Ala Qumsieh aqumsieh@cpan.org.
(c) 2003,2004 Ala Qumsieh. All rights reserved. This module is distributed under the same terms as Perl itself.
To install AI::Genetic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm AI::Genetic
CPAN shell
perl -MCPAN -e shell install AI::Genetic
For more information on module installation, please visit the detailed CPAN module installation guide.