程序代写代做代考 Java database algorithm ec.Evolve

ec.Evolve
creates
restarts from checkpoints using
ec.util. MersenneTwister Fast
ec.util.ParameterDatabase: java.util.PropertyList
. . .
number of eval threads
ec.util. Checkpoint
Database of user-provided run parameters. Parameter values are stored in various tables and are accessed using ec.util.Parameter
Threadsafe, checkpointsafe logging facility. The right way to write output. Holds a table of ec.util.Logs. Each log has a unique number.
should we garbage-collect?
writes to checkpoints using
ec.Initializer: ec.Singleton: ec.Setup
ec.Finisher: ec.Singleton: ec.Setup
See Additional Page
Performs simple, multithreaded generational evaluation. Holds a prototypical problem, which is copied as necessary, one per thread, to evaluate individuals.
Responsible for initializing the population. Default does this by having the ec.Subpopulations populate themselves.
Responsible for cleaning up the population at the end of a run. Default does nothing.
ec.Population: ec.Group: ec.Setup
Legend
ec.simple.SimpleEvolutionState holds the complete state of an evolution run. Performs a simple breed-evaluate loop on individuals in its population. Every object stored within this object is serializable, and so can be written out to a checkpoint file using ec.util.Checkpoint. The evolution state is also passed around to among objects a lot so they can access its random number generators, parameter database, and logs. This is done, of course, in a threadsafe manner.
See Additional Page
Static objects Instances
Data
..
.
Mersenne Twister Random Number Generators, one per thread, i.e., Max(eval threads, breed threads)
how often do we checkpoint?
ec.simple.SimpleEvaluator:
how often do we garbage-collect?
ec.Evaluator: ec.Singleton: ec.Setup
do we garbage-collect aggressively?
ec.app.regression. Regression: ec.gp.GPProblem: ec.Problem: ec.Prototype: ec.Setup
do we quit when we find a perfect individual?
ec.simple.SimpleBreeder:
ec.simple.SimpleExchanger:
ec.gp.koza.KozaStatistics:
ec.Subpopulation:
ec.Breeder: ec.Singleton: ec.Setup
ec.Exchanger: ec.Singleton: ec.Setup
ec.simple.SimpleStatistics: ec.Statistics: ec.Singleton: ec.Setup
ec.Group: ec.Setup
Performs simple, non-coevolved, multithreaded generational breeding
Hooks for doing inter-population exchanges, inter-process exchanges, etc. Default does nothing.
Prints out statistics to various ec.util.Logs.
Holds an array of ec.Subpopulations,
each of which holds a subpopulation of individuals
ec.simple.SimpleEvolutionState: ec.EvolutionState: ec.Singleton: ec.Setup ec.util.Output
number of breed threads
ec.simple.SimpleInitializer:
ec.simple.SimpleFinisher:
current generation number max number of generations
ec.util.Log
should we checkpoint?
..
.
checkpoint file prefix

Legend
context of an ADF function call. The ADF (“Automatically Defined Function”, see Koza-I and Koza-II) called is
Static objects Instances
from its children nodes. A prototypical data object is also held from which new children results are created if
Data
ec.app.regression. RegressionData:
ec.gp.ADFStack: ec.Prototype: ec.Setup …
ec.gp.GPData: ec.Prototype: ec.Setup
x: floating-point return value
The prototypical data object, copied once per thread, each time a generation of individuals needs to be evaluated, and passed between ec.gp.GPNodes to transfer data between then when they are executing. For Symbolic Regression, this object holds the floating-point value returned by functions.
A prototypical ADF Stack object, copied once per thread, each time a generation of individuals needs to be evaluated. ADF Stacks holds current contextual state of ADF function calls in two special stacks of ec.gp.ADFContext objects, one ADF Context per pending ADF function call. A prototypical ADF Context object is copied when new ADFContext objects are needed; old ADFContext objects are held in a Reserve to prevent excessive object construction. For more information on this complicated mechanism, see the class documentation. Since Symbolic regression doesn¡¯t have ADFs, this facility is left unused.
ec.gp.RegressionData:
ec.gp.GPData: ec.Prototype: ec.Setup
. . .
ec.gp.RegressionData:
x: floating-point return value
Return results from ADF¡¯s children
ec.gp.GPNode: ec.Prototype: ec.Setup
Prototypical Regression Data
The ADF Node that was executed
ec.app.regression. Regression: ec.gp.GPProblem: ec.Problem: ec.Prototype: ec.Setup

.. .
ec.gp.ADFContext:
ec.gp.ADFContext:
ec.Prototype: ec.Setup
Stack
ec.Prototype: ec.Setup
Reserve
ec.gp.ADFContext:
ec.gp.ADFContext:
ec.Prototype: ec.Setup
Substack
ec.Prototype: ec.Setup
Prototypical ADF Context
ec.gp.ADFContext: ec.Prototype: ec.Setup
ec.gp.GPData: ec.Prototype: ec.Setup
ec.gp.ADF:
x: floating-point return value
An ADF Context holds the current execution
stored in the context, as is the returned data
necessary. This data object is typically the same kind of prototype as the one used in the problem, in this case, ec.app.regression.Regression. ADF Contexts are also used for ADMs (“Automatically Defined Macros”). Since Symbolic Regression doesn¡¯t have ADFs, this facility is left unused.

See Additional Page
ec.gp.koza. KozaFitness: ec.Fitness: ec.Prototype: ec.Setup
See Additional Page
The function set for nodes in this tree.
Responsible for creating initial trees of this kind using ramped half-and-half algorithm.
The return type of this tree. Regression is typeless, so this is a solitary ec.gp. GPAtomicType.
Legend
Static objects Instances
The tree forest associated with this individual. For Symbolic Regression, the tree forest is of size 1. For ADFs or other purposes, the tree forest is often bigger.
Data
.. .
The prototypical fitness class copied and attached to new individuals or newly-bred individuals. Implements Koza-style fitness (raw/standardized/adjusted/hits)
java.io.File
ec.Fitness: ec.Prototype: ec.Setup
The Filename of the file we read the subpopulation from, if we¡¯re doing that instead of initializing randomly.
ec.BreedingSource: ec.Prototype: ec.Setup
The raw fitness value
ec.gp.GPIndividual:
The “species” for individuals in this subpopulation. Defines the prototypical individual from which all the individuals are initially copied, and a set of prototypical breeding pipelines with which to breed individuals into new ones.
ec.Individual: ec.Prototype: ec.Setup
An array of individuals. These are the actual individuals evaluated and bred in the evolutionary system.
During population initialization, the number of times to retry generation of an individual if it is a duplicate of one already in the Subpopulation
The raw fitness value
ec.gp. GPNode: ec.Prototype: ec.Setup
ec.gp. GPIndividual: ec.Prototype: ec.Setup
ec.gp.GPTreeConstraints: ec.Clique: ec.Setup
The fitness object for this individual ¡ª originally copied from the subpopulation¡¯s prototype.
ec.Clique: ec.Setup
Has this individual been evaluated already?
The constraints for this tree. This is shared with other trees in the same tree-position in other individuals. The tree does not have a unique copy.
. . .
The root node for this tree
The individual containing this tree. This is a reference pointing to the outside containing individual in this diagram.
ec.gp.GPIndividual:
. . .
ec.Individual: ec.Prototype: ec.Setup
ec.BreedingPipeline:
An individual is the fundamental unit of evolution ¡ª it is the thing that is bred, evaluated, and assigned a fitness.
ec.Subpopulation: ec.Group: ec.Setup ec.gp.GPSpecies: ec.Species
ec.gp.koza.KozaFitness:
ec.gp.GPIndividual: ec.Individual: ec.Prototype: ec.Setup
ec.gp.GPTree: ec.Prototype: ec.Setup (also: GPNodeParent)
ec.gp.GP FunctionSet: ec.Clique: ec.Setup
ec.gp.koza. HalfBuilder: ec.gp.GPNodebuilder: ec.Prototype: ec.Setup
ec.gp.GPType:
Constraints name
See Additional Page
See Additional Page

Legend
How many times to try to breed a valid individual before giving up and just copying the old one.
The maximum valid depth of a newly-bred individual
Static objects Instances
Probability of being picked as the parent¡¯s breeding source
Tournament size
Data
ec.gp.GPFunctionSet: ec.Clique: ec.Setup
ec.gp.GPNode: ec.Prototype: ec.Setup
. . .
ec.gp. GPNodeParent
. .
.
Argument position of this node in its parent (byte)
. . .
ec.select. Tournament Selection: ec.SelectionMethod: ec.BreedingSource: ec.Prototype: ec.Setup
ec.gp.koza.Koza NodeSelector: ec.gp. GPNodeSelector: ec.Prototype: ec.Setup
. . .
ec.gp.koza. GrowBuilder: ec.gp. GPNodeBuilder: ec.Prototype: ec.Setup
ec.gp.GPFuncInfo:
ec.gp.GPNode:
ec.Prototype: ec.Setup
ec.Prototype: ec.Setup
ec.gp.GPNode:
My node parent, ether another GPNode, or (if I¡¯m the root), a GPTree
The node¡¯s shared GPNodeConstraints (a byte index instead of an object to save space)
ec.Prototype: ec.Setup
Child arguments to this node.
Prototypical node for this function
A table of GPFuncInfo objects, each containing a GPNode. These GPNodes are the prototypical nodes for each function (nonterminal or terminal) in the function set. In Symbolic Regression, this includes nodes for Sin, Cos, X, +, -, /, *, Log, and ERCs. These are stored in ec.app.regression.func.*
ec.Clique: ec.Setup
Function Set Name
ec.BreedingPipeline: ec.BreedingSource: ec.Prototype: ec.Setup
(example)
(example) ec.gp.koza.MutationPipeline: ec.gp.GPBreedingPipeline: ec.BreedingSource: ec.Prototype: ec.Setup
ec.gp. GPBreedingSource: ec.Prototype: ec.Setup
ec.gp. GPBreeding Source: ec.Prototype: ec.Setup
An array of either ec.SelectionMethods (like: ec.select.TournamentSelection) or ec.gp.GPBreedingPipelines which feed individuals into this pipeline. Here¡¯s an example which does Koza-style “point mutation”: ec.gp.koza.MutationPipeline
Probability of being picked as the parent¡¯s breeding source
Selects points in the old individual to replace with a new subtree.
Array of sources feeding the pipeline (acutally one source)
Grows new subtrees for the mutation process
ec.gp.GPType:
ec.gp.GPNodeConstraints: ec.Clique: ec.Setup ec.gp.GPType:
Type name
Constraints index
ec.Clique: ec.Setup
Type index
Constraints name
The return type for this kind of node. Regression is typeless, so this is a solitary ec.gp. GPAtomicType
Argument types for the children to this kind of node. Regression is typeless, so these are all the same ec.gp.GPAtomicType
ec.Clique: ec.Setup
. . .
ec.gp.GPType: