edu.udo.cs.yale.operator.features.construction
Class YAGGA2

java.lang.Object
  extended by edu.udo.cs.yale.operator.Operator
      extended by edu.udo.cs.yale.operator.OperatorChain
          extended by edu.udo.cs.yale.operator.features.FeatureOperator
              extended by edu.udo.cs.yale.operator.features.selection.AbstractGeneticAlgorithm
                  extended by edu.udo.cs.yale.operator.features.construction.AbstractGeneratingGeneticAlgorithm
                      extended by edu.udo.cs.yale.operator.features.construction.YAGGA
                          extended by edu.udo.cs.yale.operator.features.construction.YAGGA2
All Implemented Interfaces:
ConfigurationListener
Direct Known Subclasses:
DirectedGGA, FourierGGA

public class YAGGA2
extends YAGGA

YAGGA is an acronym for Yet Another Generating Genetic Algorithm. Its approach to generating new attributes differs from the original one. The (generating) mutation can do one of the following things with different probabilities:

Thus it is guaranteed that the length of the feature vector can both grow and shrink. On average it will keep its original length, unless longer or shorter individuals prove to have a better fitness.

In addition to the usual YAGGA operator, this operator allows more feature generators and provides several techniques for intron prevention. This leads to smaller example sets containing less redundant features.

Since this operator does not contain algorithms to extract features from value series, it is restricted to example sets with only single attributes. For (automatic) feature extraction from values series the value series plugin for Yale should be used.

For more information please refer to

Mierswa, Ingo (2006): RobustGP: Intron-Free Multi-Objective Feature Construction (to appear)

Version:
$Id: YAGGA2.java,v 1.6 2006/10/02 21:45:26 ingomierswa Exp $
Author:
Ingo Mierswa

Field Summary
 
Fields inherited from class edu.udo.cs.yale.operator.features.selection.AbstractGeneticAlgorithm
BOLTZMANN_SELECTION, CUT_SELECTION, NON_DOMINATED_SORTING_SELECTION, RANK_SELECTION, ROULETTE_WHEEL, SELECTION_SCHEMES, STOCHASTIC_UNIVERSAL, TOURNAMENT_SELECTION, UNIFORM_SELECTION
 
Constructor Summary
YAGGA2(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Applies the feature operator: collects the pre- and postevaluation operators create an initial population evaluate the initial population loop as long as solution is not good enough apply all pre evaluation operators evaluate the population update the population's best individual apply all post evaluation operators return all generation's best individual
 java.util.List<FeatureGenerator> getGenerators()
          Returns a list with all generator which should be used.
protected  PopulationOperator getMutationPopulationOperator(ExampleSet exampleSet)
          Returns the generating mutation PopulationOperator.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
protected  java.util.List<PopulationOperator> getPreProcessingPopulationOperators(ExampleSet eSet)
          Returns an empty list.
 
Methods inherited from class edu.udo.cs.yale.operator.features.construction.YAGGA
createInitialPopulation, getGeneratingPopulationOperator
 
Methods inherited from class edu.udo.cs.yale.operator.features.construction.AbstractGeneratingGeneticAlgorithm
getCrossoverPopulationOperator
 
Methods inherited from class edu.udo.cs.yale.operator.features.selection.AbstractGeneticAlgorithm
getPostEvaluationPopulationOperators, getPostProcessingPopulationOperators, getPreEvaluationPopulationOperators, solutionGoodEnough
 
Methods inherited from class edu.udo.cs.yale.operator.features.FeatureOperator
evaluate, evaluate, getCheckForMaximum, getInnerOperatorCondition, getInputClasses, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getNumberOfSteps, getOutputClasses, getRandom, setCheckForMaximum
 
Methods inherited from class edu.udo.cs.yale.operator.OperatorChain
addAddListener, addOperator, addOperator, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, clearStepCounter, cloneOperator, countStep, createExperimentTree, delete, experimentFinished, experimentStarts, getAllInnerOperators, getCurrentStep, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfChildrensSteps, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, isEnabled, performAdditionalChecks, removeAddListener, removeOperator, setEnabled, setExperiment, shouldReturnInnerOutput
 
Methods inherited from class edu.udo.cs.yale.operator.Operator
addError, addValue, addWarning, apply, createExperimentTree, createFromXML, createMarkedExperimentTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isParameterSet, logMessage, register, remove, rename, resume, setBreakpoint, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

YAGGA2

public YAGGA2(OperatorDescription description)
Method Detail

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: FeatureOperator
Applies the feature operator:
  1. collects the pre- and postevaluation operators
  2. create an initial population
  3. evaluate the initial population
  4. loop as long as solution is not good enough
    1. apply all pre evaluation operators
    2. evaluate the population
    3. update the population's best individual
    4. apply all post evaluation operators
  5. return all generation's best individual

Overrides:
apply in class FeatureOperator
Returns:
the last inner operator's output or the input itself if the chain is empty.
Throws:
OperatorException


getMutationPopulationOperator

protected PopulationOperator getMutationPopulationOperator(ExampleSet exampleSet)
                                                    throws OperatorException
Description copied from class: YAGGA
Returns the generating mutation PopulationOperator.

Overrides:
getMutationPopulationOperator in class YAGGA
Throws:
OperatorException


getGenerators

public java.util.List<FeatureGenerator> getGenerators()
Description copied from class: AbstractGeneratingGeneticAlgorithm
Returns a list with all generator which should be used.

Overrides:
getGenerators in class AbstractGeneratingGeneticAlgorithm


getPreProcessingPopulationOperators

protected java.util.List<PopulationOperator> getPreProcessingPopulationOperators(ExampleSet eSet)
                                                                          throws OperatorException
Description copied from class: AbstractGeneticAlgorithm
Returns an empty list.

Overrides:
getPreProcessingPopulationOperators in class AbstractGeneratingGeneticAlgorithm
Throws:
OperatorException


getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed.

Overrides:
getParameterTypes in class YAGGA



Copyright © 2001-2006