Documentation of 'org.jgap.impl.BooleanGene' Java class
BooleanGene
org.jgap.impl

Class BooleanGene

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable, Gene, IBusinessKey, IPersistentRepresentation, IUniqueKey


    public class BooleanGene
    extends BaseGene
    implements IPersistentRepresentation
    A Gene implementation that supports two possible values (alleles) for each gene: true and false.

    NOTE: Since this Gene implementation only supports two different values (true and false), there's only a 50% chance that invocation of the setToRandomValue() method will actually change the value of this Gene (if it has a value). As a result, it may be desirable to use a higher overall mutation rate when this Gene implementation is in use.

    Since:
    1.0
    See Also:
    Serialized Form
    • Method Detail

      • setAllele

        public void setAllele(java.lang.Object a_newValue)
        Sets the value of this Gene to the new given value. This class expects the value to be a Boolean instance.
        Specified by:
        setAllele in interface Gene
        Parameters:
        a_newValue - the new value of this Gene instance
      • getPersistentRepresentation

        public java.lang.String getPersistentRepresentation()
        Retrieves a string representation of this Gene that includes any information required to reconstruct it at a later time, such as its value and internal state. This string will be used to represent this Gene in XML persistence. This is an optional method but, if not implemented, XML persistence and possibly other features will not be available. An UnsupportedOperationException should be thrown if no implementation is provided.
        Specified by:
        getPersistentRepresentation in interface Gene
        Specified by:
        getPersistentRepresentation in interface IPersistentRepresentation
        Returns:
        a string representation of this Gene's current state
      • setValueFromPersistentRepresentation

        public void setValueFromPersistentRepresentation(java.lang.String a_representation)
                                                  throws UnsupportedRepresentationException
        Sets the value and internal state of this Gene from the string representation returned by a previous invocation of the getPersistentRepresentation() method. This is an optional method but, if not implemented, XML persistence and possibly other features will not be available. An UnsupportedOperationException should be thrown if no implementation is provided.
        Specified by:
        setValueFromPersistentRepresentation in interface Gene
        Specified by:
        setValueFromPersistentRepresentation in interface IPersistentRepresentation
        Parameters:
        a_representation - the string representation retrieved from a prior call to the getPersistentRepresentation() method
        Throws:
        java.lang.UnsupportedOperationException - to indicate that no implementation is provided for this method
        UnsupportedRepresentationException - if this Gene implementation does not support the given string representation
        Since:
        1.0
      • booleanValue

        public boolean booleanValue()
        Retrieves the boolean value of this Gene. This may be more convenient in some cases than the more general getAllele() method.
        Returns:
        the boolean value of this Gene
      • setToRandomValue

        public void setToRandomValue(RandomGenerator a_numberGenerator)
        Sets the value (allele) of this Gene to a random legal value. This method exists for the benefit of mutation and other operations that simply desire to randomize the value of a gene.

        NOTE: Since this Gene implementation only supports two different values (true and false), there's only a 50% chance that invocation of this method will actually change the value of this Gene (if it has a value). As a result, it may be desirable to use a higher overall mutation rate when this Gene implementation is in use.

        Specified by:
        setToRandomValue in interface Gene
        Parameters:
        a_numberGenerator - The random number generator that should be used to create any random values. It's important to use this generator to maintain the user's flexibility to configure the genetic engine to use the random number generator of their choice
      • compareTo

        public int compareTo(java.lang.Object a_other)
        Compares this BooleanGene with the specified object for order. A false value is considered to be less than a true value. A null value is considered to be less than any non-null value.
        Specified by:
        compareTo in interface java.lang.Comparable
        Parameters:
        a_other - the BooleanGene to be compared
        Returns:
        a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object
        Throws:
        java.lang.ClassCastException - if the specified object's type prevents it from being compared to this BooleanGene
        Since:
        1.0
      • applyMutation

        public void applyMutation(int a_index,
                                  double a_percentage)
        Applies a mutation of a given intensity (percentage) onto the atomic element at given index
        Specified by:
        applyMutation in interface Gene
        Parameters:
        a_index - not used here
        a_percentage - percentage of mutation (greater than -1 and smaller than 1).
        Since:
        1.1
      • hashCode

        public int hashCode()
        Modified hashCode() function to return different hashcodes for differently ordered genes in a chromosome
        Overrides:
        hashCode in class BaseGene
        Returns:
        -2 if no allele set, otherwise value return by BaseGene.hashCode()
        Since:
        2.2
      • toString

        public java.lang.String toString()
        Description copied from class: BaseGene
        Retrieves a string representation of this Gene's value that may be useful for display purposes.
        Specified by:
        toString in interface Gene
        Overrides:
        toString in class BaseGene
        Returns:
        string representation of this Gene's value that may be useful for display purposes.
        Since:
        2.4

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.