com.rapidminer.operator.features.construction
Class GeneratingGeneticAlgorithm

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<Operator>
      extended by com.rapidminer.operator.Operator
          extended by com.rapidminer.operator.OperatorChain
              extended by com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
                  extended by com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
                      extended by com.rapidminer.operator.features.construction.GeneratingGeneticAlgorithm
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ResourceConsumer, ParameterHandler, LoggingHandler, Observable<Operator>
Direct Known Subclasses:
AGA

public class GeneratingGeneticAlgorithm
extends AbstractGeneratingGeneticAlgorithm

In contrast to the class GeneticAlgorithm, the GeneratingGeneticAlgorithm generates new attributes and thus can change the length of an individual. Therfore specialized mutation and crossover operators are being applied. Generators are chosen at random from a list of generators specified by boolean parameters.
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 RapidMiner written by Ingo Mierswa should be used. It is available at http://rapid-i.com

Author:
Ingo Mierswa, Simon Fischer ingomierswa Exp $

Field Summary
static java.lang.String PARAMETER_LIMIT_MAX_TOTAL_NUMBER_OF_ATTRIBUTES
           
static java.lang.String PARAMETER_MAX_NUMBER_OF_NEW_ATTRIBUTES
          The parameter name for "Max number of attributes to generate for an individual in one generation.
static java.lang.String PARAMETER_MAX_TOTAL_NUMBER_OF_ATTRIBUTES
          The parameter name for "Max total number of attributes in all generations (-1: no maximum).
static java.lang.String PARAMETER_P_GENERATE
          The parameter name for "Probability for an individual to be selected for generation.
static java.lang.String PARAMETER_P_MUTATION
          The parameter name for "Probability for an attribute to be changed (-1: 1 / numberOfAtts).
static java.lang.String PARAMETER_USE_HEURISTIC_MUTATION_PROBABILITY
           
 
Fields inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
BOLTZMANN_SELECTION, CUT_SELECTION, NON_DOMINATED_SORTING_SELECTION, PARAMETER_CROSSOVER_TYPE, PARAMETER_DYNAMIC_SELECTION_PRESSURE, PARAMETER_GENERATIONS_WITHOUT_IMPROVAL, PARAMETER_KEEP_BEST_INDIVIDUAL, PARAMETER_MAXIMUM_NUMBER_OF_GENERATIONS, PARAMETER_P_CROSSOVER, PARAMETER_P_INITIALIZE, PARAMETER_POPULATION_SIZE, PARAMETER_RECIPROCAL_VALUE, PARAMETER_START_TEMPERATURE, PARAMETER_TOURNAMENT_SIZE, PARAMETER_USE_DIFF, PARAMETER_USE_DIV, PARAMETER_USE_EARLY_STOPPING, PARAMETER_USE_MULT, PARAMETER_USE_PLUS, RANK_SELECTION, ROULETTE_WHEEL, SELECTION_SCHEMES, STOCHASTIC_UNIVERSAL, TOURNAMENT_SELECTION, UNIFORM_SELECTION
 
Fields inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
PARAMETER_MAXIMAL_FITNESS, PARAMETER_SHOW_STOP_DIALOG
 
Constructor Summary
GeneratingGeneticAlgorithm(OperatorDescription description)
           
 
Method Summary
protected  ExampleSetBasedPopulationOperator getGeneratingPopulationOperator(ExampleSet eSet)
          Returns a specialized mutation, i.e. a AttributeGenerator
protected  ExampleSetBasedPopulationOperator getMutationPopulationOperator(ExampleSet eSet)
          Returns an operator that performs the mutation.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class com.rapidminer.operator.features.construction.AbstractGeneratingGeneticAlgorithm
createInitialPopulation, getCrossoverPopulationOperator, getGenerators, getPostEvaluationPopulationOperators, getPostProcessingPopulationOperators, getPreEvaluationPopulationOperators, getPreProcessingPopulationOperators, solutionGoodEnough
 
Methods inherited from class com.rapidminer.operator.features.construction.ExampleSetBasedFeatureOperator
doWork, evaluate, evaluate, getCheckForMaximum, getPopulation, getRandom, setCheckForMaximum
 
Methods inherited from class com.rapidminer.operator.OperatorChain
addOperator, addOperator, addSubprocess, areSubprocessesExtendable, assumePreconditionsSatisfied, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clear, clearAllInnerSinks, cloneOperator, collectErrors, createProcessTree, createSubprocess, freeMemory, getAllInnerOperators, getAllInnerOperatorsAndMe, getImmediateChildren, getIndexOfOperator, getInnerOperatorCondition, getMaxNumberOfInnerOperators, getMinNumberOfInnerOperators, getNumberOfAllOperators, getNumberOfOperators, getNumberOfSubprocesses, getOperator, getOperatorFromAll, getOperators, getSubprocess, getSubprocesses, isEnabled, lookupOperator, notifyRenaming, performAdditionalChecks, processFinished, processStarts, propagateDirtyness, registerOperator, removeOperator, removeSubprocess, shouldAddNonConsumedInput, shouldReturnInnerOutput, unregisterOperator, updateExecutionOrder, walk
 
Methods inherited from class com.rapidminer.operator.Operator
acceptsInput, addError, addError, addValue, addWarning, apply, apply, checkAll, checkAllExcludingMetaData, checkForStop, clearErrorList, createExperimentTree, createExperimentTree, createFromXML, createFromXML, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, disconnectPorts, execute, fireUpdate, getAddOnlyAdditionalOutput, getApplyCount, getCompatibilityLevel, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getDOMRepresentation, getEncoding, getErrorList, getExecutionUnit, getExperiment, getIncompatibleVersionChanges, getInput, getInput, getInput, getInputClasses, getInputDescription, getInputPorts, getIODescription, getLog, getLogger, getName, getNumberOfBreakpoints, getOperatorClassName, getOperatorDescription, getOutputClasses, getOutputPorts, getParameter, getParameterAsBoolean, getParameterAsChar, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsRepositoryLocation, getParameterAsString, getParameterHandler, getParameterList, getParameters, getParameterTupel, getParameterType, getParent, getPortOwner, getProcess, getResourceConsumptionEstimator, getRoot, getStartTime, getTransformer, getUserDescription, getValue, getValues, getXML, getXML, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isDirty, isExpanded, isParallel, isParameterSet, isRunning, log, log, logError, logNote, logWarning, makeDirty, makeDirtyOnUpdate, preAutoWire, producesOutput, register, remove, removeAndKeepConnections, rename, resume, setBreakpoint, setCompatibilityLevel, setEnabled, setEnclosingProcess, setExpanded, setInput, setListParameter, setPairParameter, setParameter, setParameters, setUserDescription, shouldAutoConnect, shouldAutoConnect, shouldStopStandaloneExecution, toString, transformMetaData, writeXML, writeXML
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_MAX_NUMBER_OF_NEW_ATTRIBUTES

public static final java.lang.String PARAMETER_MAX_NUMBER_OF_NEW_ATTRIBUTES
The parameter name for "Max number of attributes to generate for an individual in one generation."

See Also:
Constant Field Values

PARAMETER_MAX_TOTAL_NUMBER_OF_ATTRIBUTES

public static final java.lang.String PARAMETER_MAX_TOTAL_NUMBER_OF_ATTRIBUTES
The parameter name for "Max total number of attributes in all generations (-1: no maximum)."

See Also:
Constant Field Values

PARAMETER_LIMIT_MAX_TOTAL_NUMBER_OF_ATTRIBUTES

public static final java.lang.String PARAMETER_LIMIT_MAX_TOTAL_NUMBER_OF_ATTRIBUTES
See Also:
Constant Field Values

PARAMETER_P_GENERATE

public static final java.lang.String PARAMETER_P_GENERATE
The parameter name for "Probability for an individual to be selected for generation."

See Also:
Constant Field Values

PARAMETER_P_MUTATION

public static final java.lang.String PARAMETER_P_MUTATION
The parameter name for "Probability for an attribute to be changed (-1: 1 / numberOfAtts)."

See Also:
Constant Field Values

PARAMETER_USE_HEURISTIC_MUTATION_PROBABILITY

public static final java.lang.String PARAMETER_USE_HEURISTIC_MUTATION_PROBABILITY
See Also:
Constant Field Values
Constructor Detail

GeneratingGeneticAlgorithm

public GeneratingGeneticAlgorithm(OperatorDescription description)
Method Detail

getMutationPopulationOperator

protected ExampleSetBasedPopulationOperator getMutationPopulationOperator(ExampleSet eSet)
                                                                   throws UndefinedParameterError
Returns an operator that performs the mutation. Can be overridden by subclasses.

Specified by:
getMutationPopulationOperator in class AbstractGeneratingGeneticAlgorithm
Throws:
UndefinedParameterError

getGeneratingPopulationOperator

protected ExampleSetBasedPopulationOperator getGeneratingPopulationOperator(ExampleSet eSet)
                                                                     throws UndefinedParameterError
Returns a specialized mutation, i.e. a AttributeGenerator

Specified by:
getGeneratingPopulationOperator in class AbstractGeneratingGeneticAlgorithm
Throws:
UndefinedParameterError

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. ATTENTION! This will create new parameterTypes. For calling already existing parameter types use getParameters().getParameterTypes();

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class AbstractGeneratingGeneticAlgorithm


Copyright © 2001-2009 by Rapid-I