Class StringPreprocessMeasure

  • All Implemented Interfaces:
    Serializable, Cloneable, Comparable, org.jgap.gp.IMutateable, org.jgap.util.ICloneable

    public class StringPreprocessMeasure
    extends org.jgap.gp.CommandGene
    implements org.jgap.gp.IMutateable, org.jgap.util.ICloneable
    Wraps around LIMES string similarity commands for the JGAP library, e.g. trigram or levensthein. They all build a expression like similarityMeasure(resource1, resource2)|threshold. Whereas the threshold is ignored if the expression is atomic, i.e. the similarity measure isn't part (argument) of another metric, such as AND). We now expect at least two parameters: 2 Terminals. Whereas the first is of sub return type ResourceTerminalType.SOURCE, the second of ResourceTerminalType.TARGET. This allows us to differentiate the different resources of the two endpoints and avoid silly measures comparing the same resources of the same endpoint. If mutation is turned on, the similarity command might be changed during the evolution process to one of the allowed measures.
    Version:
    Jul 21, 2016
    Author:
    Klaus Lyko, Mohamed Sherif (sherif@informatik.uni-leipzig.de)
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.jgap.gp.CommandGene

        org.jgap.gp.CommandGene.COMMAND_TYPE
    • Field Summary

      • Fields inherited from class org.jgap.gp.CommandGene

        BooleanClass, CharacterClass, DELTA, DoubleClass, FloatClass, IntegerClass, LongClass, nodeIndex, VoidClass
      • Fields inherited from interface org.jgap.util.ICloneable

        CVS_REVISION
      • Fields inherited from interface org.jgap.gp.IMutateable

        CVS_REVISION
    • Constructor Summary

      Constructors 
      Constructor Description
      StringPreprocessMeasure​(String opName, org.jgap.gp.impl.GPConfiguration a_conf, Class<?> a_returnType, boolean a_mutateable)
      Constructor for atomic similarity measures.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.jgap.gp.CommandGene applyMutation()
      Mutates this CommandGene.
      org.jgap.gp.CommandGene applyMutation​(int a_index, double a_percentage)  
      Object clone()
      Clones the object.
      Object execute_object​(org.jgap.gp.impl.ProgramChromosome a_chrom, int a_n, Object[] args)
      Executes this CommandGene as object.
      void execute_void​(org.jgap.gp.impl.ProgramChromosome a_chrom, int a_n, Object[] args)  
      Class<?> getChildType​(org.jgap.gp.IGPProgram a_ind, int a_chromNum)
      We expect the first 2 parameters to be resource identifier, the third to be an (optional) double value as the threshold for this Similarity command.
      String getName()  
      String getOperationName()  
      boolean isValid​(org.jgap.gp.impl.ProgramChromosome a_program)  
      boolean isValid​(org.jgap.gp.impl.ProgramChromosome a_program, int a_index)  
      String toString()  
      • Methods inherited from class org.jgap.gp.CommandGene

        check, check, cleanup, compareTo, dynamizeArity, ensureUniqueness, ensureUniqueness, ensureUniqueness2, equals, execute, execute_boolean, execute_double, execute_float, execute_int, execute_long, getAllele, getApplicationData, getArity, getArityMax, getArityMin, getCommandType, getEnergy, getGPConfiguration, getInternalValue, getPersistentRepresentation, getPersistentRepresentationExt, getReturnType, getSubChildType, getSubChildTypes, getSubReturnType, hashCode, init, isAffectGlobalState, isCompareApplicationData, isFloatType, isIntegerType, setAllele, setApplicationData, setArity, setArityMax, setArityMin, setCompareApplicationData, setEnergy, setNoValidation, setReturnType, setToRandomValue, setValueFromPersistentRepresentation, setValueFromString, size
    • Constructor Detail

      • StringPreprocessMeasure

        public StringPreprocessMeasure​(String opName,
                                       org.jgap.gp.impl.GPConfiguration a_conf,
                                       Class<?> a_returnType,
                                       boolean a_mutateable)
                                throws org.jgap.InvalidConfigurationException
        Constructor for atomic similarity measures. @FIXME antiquated and not actually used.
        Parameters:
        opName - Name of the LIMES similarity measure operation (e.g. "trigram").
        a_conf - JGAP GPConfiguration.
        a_returnType - The return type of this command.
        a_mutateable - true: this Commandgene is mutateable, viz. the LIMES similarity measure might be changed to another one out of the allowed operations.
        Throws:
        org.jgap.InvalidConfigurationException - when an invalid value has been passed to a Configuration object
    • Method Detail

      • toString

        public String toString()
        Specified by:
        toString in class org.jgap.gp.CommandGene
      • getChildType

        public Class<?> getChildType​(org.jgap.gp.IGPProgram a_ind,
                                     int a_chromNum)
        We expect the first 2 parameters to be resource identifier, the third to be an (optional) double value as the threshold for this Similarity command.
        Overrides:
        getChildType in class org.jgap.gp.CommandGene
        Parameters:
        a_ind - A GPProgram
        a_chromNum - The number of the chromosome.
        Returns:
        type of the child.
      • getName

        public String getName()
        Overrides:
        getName in class org.jgap.gp.CommandGene
      • getOperationName

        public String getOperationName()
      • execute_object

        public Object execute_object​(org.jgap.gp.impl.ProgramChromosome a_chrom,
                                     int a_n,
                                     Object[] args)
        Executes this CommandGene as object. Is called if the return type is set to String.class. Thereby returning the atomic LIMES expression "sim(a.resource, b.resource)|threshold".
        Overrides:
        execute_object in class org.jgap.gp.CommandGene
      • execute_void

        public void execute_void​(org.jgap.gp.impl.ProgramChromosome a_chrom,
                                 int a_n,
                                 Object[] args)
        Overrides:
        execute_void in class org.jgap.gp.CommandGene
      • applyMutation

        public org.jgap.gp.CommandGene applyMutation​(int a_index,
                                                     double a_percentage)
                                              throws org.jgap.InvalidConfigurationException
        Specified by:
        applyMutation in interface org.jgap.gp.IMutateable
        Throws:
        org.jgap.InvalidConfigurationException
      • applyMutation

        public org.jgap.gp.CommandGene applyMutation()
                                              throws org.jgap.InvalidConfigurationException
        Mutates this CommandGene. A random command out of the set of allowed similarity measures is picked.
        Returns:
        A random command out of the set of allowed similarity measures
        Throws:
        org.jgap.InvalidConfigurationException - when an invalid value has been passed to a Configuration object
      • clone

        public Object clone()
        Clones the object.
        Specified by:
        clone in interface org.jgap.util.ICloneable
        Overrides:
        clone in class Object
        Returns:
        cloned instance of this object
      • isValid

        public boolean isValid​(org.jgap.gp.impl.ProgramChromosome a_program,
                               int a_index)
        Overrides:
        isValid in class org.jgap.gp.CommandGene
      • isValid

        public boolean isValid​(org.jgap.gp.impl.ProgramChromosome a_program)
        Overrides:
        isValid in class org.jgap.gp.CommandGene