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
      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Field Summary

      • Fields inherited from interface ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig

        K_CPUS, K_MEMORY, K_THREADS, K_TIMEOUT
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      double getCrossoverRate()  
      int getEarlyStopping()
      Early stopping terminates the evolutionary process early if there were no changes for a certain amount of time.
      int getElitismSize()  
      double getFailedEvaluationScore()
      If the evaluation of an individual fails, we will need to nevertheless assign it a score.
      int getMaxDepth()  
      double getMutationRate()  
      int getNumGenerations()
      The maximum number of generations to conduct.
      int getPopulationSize()  
      boolean getPrintFitnessStats()  
      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).
      int getTournamentSize()  
      • Methods inherited from interface org.aeonbits.owner.Accessible

        fill, getProperty, getProperty, list, list, propertyNames, store, storeToXML
      • Methods inherited from interface org.api4.java.common.control.IConfig

        setProperty
      • 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
      • Methods inherited from interface org.aeonbits.owner.Mutable

        addPropertyChangeListener, addPropertyChangeListener, clear, load, load, removeProperty, removePropertyChangeListener, setProperty
      • Methods inherited from interface org.aeonbits.owner.Reloadable

        addReloadListener, reload, removeReloadListener
    • 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.