Hello. Le lun. 22 nov. 2021 à 13:47, Avijit Basak <avijit.ba...@gmail.com> a écrit : > > Hi All > > We need to make a decision on the chromosome hierarchy, proposed for > commons-math-ga module. > Currently the hierarchy is designed as shown in the diagram below.
Image has probably been stripped from your original message. Please upload it to JIRA and post a link here. Thanks, Gilles > > > Brief description: > 1) The chromosome hierarchy is based on it's internal representation of > Genotype. > 2) The phenotype of chromosomes is kept as a Generic parameter <P>. > 3) Decoder is introduced to convert Genotype to Phenotype. > 4) FitnessFunction is introduced to calculate Fitness of chromosomes. > 5) AbstractChromosome represents the chromosome abstraction for all genotypes. > 6) AbstractListChromosome has been introduced to represent the abstraction > for List based Genotype. > 7) Any chromosome representing list based genotypes should extend > AbstractListBasedChromosome. > 8) All other chromosomes should extend the AbstractChromosome class. > 9) BinaryChromosome(not committed) is introduced to represent binary > genotypes and extends AbstractChromosome. > > Pros: > 1) This hierarchy maintains a separation of Genotype and Phenotype. > 2) Chromosome class with the same genotype can represent different phenotypes > with different implementations of Decoders. > 3) Users will be able to use primitive types for higher dimensions by > extending the AbstractChromosome class. > 4) Unlike the legacy model all concrete chromosomes are reusable with proper > implementation of FitnessFunction and Decoder. > 5) Any custom list based genotypes can be implemented by extending > AbstractListChromosome class. > 6) Internal genotype representations have been exposed which enabled the > reuse of crossover and mutation operators. > > I would like to request everyone to review the design and reply in > case of any concerns. > > > Thanks & Regards > -- Avijit Basak --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org