org.vizzini.ai.geneticprogramming.example
Class SymbolicRegression

java.lang.Object
  extended by org.vizzini.ai.geneticalgorithm.AbstractGeneticAlgorithm
      extended by org.vizzini.ai.geneticprogramming.AbstractGeneticAlgorithmGP
          extended by org.vizzini.ai.geneticprogramming.example.SymbolicRegression
All Implemented Interfaces:
IGeneticAlgorithm, IGeneticAlgorithmGP

public class SymbolicRegression
extends AbstractGeneticAlgorithmGP

Provides an example symbolic regression problem using genetic programming.

Since:
v0.3
Version:
v0.3
Author:
Jeffrey M. Thompson

Field Summary
 
Fields inherited from class org.vizzini.ai.geneticalgorithm.AbstractGeneticAlgorithm
_crossoverFraction, _crossoverType, _elapsedTime, _generation
 
Constructor Summary
SymbolicRegression()
          Construct this object.
 
Method Summary
protected  double calculate(double x)
          Calculate the value of the target function, in this case x^4 + x^3 + x^2 + x.
protected  IFitnessCase createFitnessCase(double x)
          Create a fitness case for the given value of x.
protected  int evaluateFitness(int index, IChromosomeGP chromosome, boolean isPrinting)
          Evaluate the fitness of the given chromosome for this problem.
protected  int getPerfectFitness()
          Return the perfect fitness.
protected  Class getReturnType()
          Return the overall return type for the chromosomes.
static void main(String[] args)
          Application method.
 
Methods inherited from class org.vizzini.ai.geneticprogramming.AbstractGeneticAlgorithmGP
addFunction, addTerminal, createChromosome, evaluateFitness, getContext, getFunctionCount, getFunctionGenerator, getInitialMaxDepth, getTerminalCount, isSimpleBetter, onePointCrossover, penalizeComplexity, setContext, setInitialMaxDepth, setSimpleBetter
 
Methods inherited from class org.vizzini.ai.geneticalgorithm.AbstractGeneticAlgorithm
averageCrossover, fillPopulation, generateNewPopulation, getAverageCrossoverFraction, getCrossoverFraction, getCrossoverType, getElapsedTime, getGeneration, getMostFit, getMutationFraction, getMutationMagnitude, getMutationRate, getPopulation, getPopulationSize, getProcessingRate, isDuplicateAllowed, mutation, reproductionAndCrossover, reset, runGenerations, setAverageCrossoverFraction, setCrossoverFraction, setCrossoverType, setDuplicateAllowed, setMutationFraction, setMutationMagnitude, setMutationRate, setPopulation, setPopulationSize, sortPopulation, toString, uniformCrossover, writeReport, writeStats, writeStatsHeader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.vizzini.ai.geneticalgorithm.IGeneticAlgorithm
getCrossoverFraction, getCrossoverType, getElapsedTime, getGeneration, getMostFit, getMutationFraction, getMutationMagnitude, getMutationRate, getPopulationSize, getProcessingRate, reset, runGenerations, setAverageCrossoverFraction, setCrossoverFraction, setCrossoverType, setDuplicateAllowed, setMutationFraction, setMutationMagnitude, setMutationRate, setPopulationSize, writeReport
 

Constructor Detail

SymbolicRegression

public SymbolicRegression()
Construct this object.

Since:
v0.3
Method Detail

main

public static final void main(String[] args)
Application method.

Parameters:
args - Input arguments.
Since:
v0.3

calculate

protected double calculate(double x)
Calculate the value of the target function, in this case x^4 + x^3 + x^2 + x.

Parameters:
x - Input value.
Since:
v0.3

createFitnessCase

protected IFitnessCase createFitnessCase(double x)
Create a fitness case for the given value of x.

Parameters:
x - Input value.
Since:
v0.3

evaluateFitness

protected int evaluateFitness(int index,
                              IChromosomeGP chromosome,
                              boolean isPrinting)
Evaluate the fitness of the given chromosome for this problem.

Specified by:
evaluateFitness in class AbstractGeneticAlgorithmGP
Parameters:
chromosome - Chromosome.
isPrinting - Flag indicating if the method should print.
Since:
v0.3

getPerfectFitness

protected int getPerfectFitness()
Return the perfect fitness.

Overrides:
getPerfectFitness in class AbstractGeneticAlgorithm
Since:
v0.3

getReturnType

protected Class getReturnType()
Return the overall return type for the chromosomes.

Specified by:
getReturnType in class AbstractGeneticAlgorithmGP
Since:
v0.3


Copyright 2007 Vizzini.org. All Rights Reserved. 2007.12.25.03.00.02