Class GeneticProgramming
java.lang.Object
org.episteme.natural.computing.ai.evolutionary.GeneticProgramming
Basic genetic programming framework.
*
Reference:
Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. University of Michigan Press.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classConstant node.static classRepresents an expression tree node.static classBinary operator node.static classVariable node (x). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionevolve(double[] inputs, double[] outputs, int populationSize, int generations) Simple evolutionary run.doublefitness(GeneticProgramming.Node tree, double[] inputs, double[] outputs) Evaluates fitness as negative mean squared error.randomTree(int depth) Generates a random expression tree.voidsetCrossoverRate(double rate) voidsetMaxDepth(int depth) voidsetMutationRate(double rate)
-
Constructor Details
-
GeneticProgramming
public GeneticProgramming()
-
-
Method Details
-
setMaxDepth
public void setMaxDepth(int depth) -
setMutationRate
public void setMutationRate(double rate) -
setCrossoverRate
public void setCrossoverRate(double rate) -
randomTree
Generates a random expression tree. -
fitness
Evaluates fitness as negative mean squared error. -
evolve
public GeneticProgramming.Node evolve(double[] inputs, double[] outputs, int populationSize, int generations) Simple evolutionary run.
-