Hi All Please find the proposed changes for the Genetic Algorithm library in commons.maths. Changes in Model: 1) GeneticAlgorithm class is broken into a hierarchy to accommodate commons implementation in an Abstract class AbstractGeneticAlgorithm. New AdaptiveGeneticAlgorithm class has also been introduced. 2) Introduced Elitism interface which is implemented by ElitisticListPopulation. 3) Interface Fitness has been removed. 4) Interface FitnessCalculator has been introduced. 5) Chromosome has been updated with FitnessCalculator interface and accessor. 6) Operations in AbstractChromosome has been updated with FitnessCalculator as interface. 7) New BinaryChromosome class has been added. 8) Interface PermutationChromosome has been replaced by IndirectlyEncodedChromosome as the interface primarily represents chromosomes with indirect encoding. A more appropriate name can be suggested. 9) RandomKey class operations have been updated with FitnessCalculator. 10) I would like to include a new class PermutationChromosome as we have corresponding crossover operators like OrderedCrossover. 11) crossover method in CrossoverPolicy interface has been updated with additional argument probability to support dynamic probability generation. This would impact all implementation classes. 12) mutate method in MutationPolicy has been added another argument probability to support dynamic probability generation. This would impact all implementation classes. 13) Two new evolution StoppingCondition has been added UnchangedAvgFitness and UnchangedBestFitness. 14) An interface ProbabilityGenerator has been introduced with few selective implementations to be used by AdaptiveGeneticAlgorithm class. The signature of the probability generation method has been kept generic to keep strategies interchangeable.
I have few more queries related to repository structure. 1) Do we need to keep package name as *math4* and not *math*. Using a version-independent name would ease version migration for developers for future releases. 2) Can we have the stat module out of legacy component. This can be useful to calculate population statistics if required. Kindly share your thoughts. Thanks & Regards --Avijit Basak
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org