Package ai.libs.jaicore.ml.hpo.ggp
Interface IGrammarBasedGeneticProgrammingConfig
-
- All Superinterfaces:
org.aeonbits.owner.Accessible,org.aeonbits.owner.Config,org.api4.java.algorithm.IAlgorithmConfig,org.api4.java.common.control.IConfig,ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig,ai.libs.jaicore.basic.IOwnerBasedConfig,java.util.Map<java.lang.Object,java.lang.Object>,org.aeonbits.owner.Mutable,org.aeonbits.owner.Reloadable,java.io.Serializable
@Sources("file:conf/ggp.properties") public interface IGrammarBasedGeneticProgrammingConfig extends ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.aeonbits.owner.Config
org.aeonbits.owner.Config.ConverterClass, org.aeonbits.owner.Config.DecryptorClass, org.aeonbits.owner.Config.DefaultValue, org.aeonbits.owner.Config.DisableableFeature, org.aeonbits.owner.Config.DisableFeature, org.aeonbits.owner.Config.EncryptedValue, org.aeonbits.owner.Config.HotReload, org.aeonbits.owner.Config.HotReloadType, org.aeonbits.owner.Config.Key, org.aeonbits.owner.Config.LoadPolicy, org.aeonbits.owner.Config.LoadType, org.aeonbits.owner.Config.PreprocessorClasses, org.aeonbits.owner.Config.Separator, org.aeonbits.owner.Config.Sources, org.aeonbits.owner.Config.TokenizerClass
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description doublegetCrossoverRate()intgetEarlyStopping()Early stopping terminates the evolutionary process early if there were no changes for a certain amount of time.intgetElitismSize()doublegetFailedEvaluationScore()If the evaluation of an individual fails, we will need to nevertheless assign it a score.intgetMaxDepth()doublegetMutationRate()intgetNumGenerations()The maximum number of generations to conduct.intgetPopulationSize()booleangetPrintFitnessStats()intgetRandomRestart()In order to increase diversity, the population (except for elite individuals) is substituted by randomly generated individuals to perform a random restart (seeded with elite individuals only).intgetTournamentSize()-
Methods inherited from interface org.aeonbits.owner.Accessible
fill, getProperty, getProperty, list, list, propertyNames, store, storeToXML
-
Methods inherited from interface ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig
cpus, getTimeout, memory, threads, timeout
-
Methods inherited from interface ai.libs.jaicore.basic.IOwnerBasedConfig
copy, loadPropertiesFromFile, loadPropertiesFromFileArray, loadPropertiesFromList, loadPropertiesFromResource
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
getPopulationSize
@Key("ggp.population_size") @DefaultValue("100") int getPopulationSize()- Returns:
- The size of the population.
-
getElitismSize
@Key("ggp.elitism_size") @DefaultValue("5") int getElitismSize()- Returns:
- The number of best individuals to keep for the next generation.
-
getTournamentSize
@Key("ggp.tournament_size") @DefaultValue("2") int getTournamentSize()- Returns:
- The number of best individuals to keep for the next generation.
-
getNumGenerations
@Key("ggp.generations") @DefaultValue("100") int getNumGenerations()The maximum number of generations to conduct. A value <= 0 refers to infinite number of generations and requires a timeout to be set instead.- Returns:
- The maximum number of generations to conduct.
-
getMaxDepth
@Key("ggp.max_depth") @DefaultValue("50") int getMaxDepth()- Returns:
- Maximum depth of a single tree during initialization.
-
getCrossoverRate
@Key("ggp.xover.rate") @DefaultValue("0.9") double getCrossoverRate()- Returns:
- The rate at which a cross over is performed.
-
getMutationRate
@Key("ggp.mutation.rate") @DefaultValue("0.1") double getMutationRate()- Returns:
- The rate at which an individual is mutated.
-
getPrintFitnessStats
@Key("ggp.log.fitness_stats") @DefaultValue("true") boolean getPrintFitnessStats()
-
getEarlyStopping
@Key("ggp.early_stopping") @DefaultValue("20") int getEarlyStopping()Early stopping terminates the evolutionary process early if there were no changes for a certain amount of time. If configured with a value x > 0, GGP will check whether the best solution was updated within the last x generations. As soon as the number of generations the best solution did not change exceeds x it will terminate the evolutionary run.- Returns:
- The number of generations to wait for the best solution to change.
-
getRandomRestart
@Key("ggp.random_restart") @DefaultValue("10") int getRandomRestart()In order to increase diversity, the population (except for elite individuals) is substituted by randomly generated individuals to perform a random restart (seeded with elite individuals only). If this option is set to <= 0, this feature is deactivated.- Returns:
- The number of generations after which to perform a random restart.
-
getFailedEvaluationScore
@Key("ggp.failed_eval_score") @DefaultValue("10000") double getFailedEvaluationScore()If the evaluation of an individual fails, we will need to nevertheless assign it a score. Ideally, this score is worse than any scores that can be obtained by successfully evaluating individuals.- Returns:
- The score that is assigned to individuals that failed to be evaluated.
-
-