You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Avijit Basak <av...@gmail.com> on 2021/11/22 12:47:29 UTC

[MATH][GENETICS][PR#199] Design Decision of Chromosome hierarchy

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: image.png]
*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

Re: [MATH][GENETICS][PR#199] Design Decision of Chromosome hierarchy

Posted by Avijit Basak <av...@gmail.com>.
Hi All

        I have uploaded the image(*chromosome hierarchy.png*) in JIRA. Here
is the link. Let me know if anyone faces any issues.
https://issues.apache.org/jira/projects/MATH/issues/MATH-1563?filter=allopenissues

Thanks & Regards
--Avijit Basak

On Mon, 22 Nov 2021 at 19:39, Gilles Sadowski <gi...@gmail.com> wrote:

> Hello.
>
> Le lun. 22 nov. 2021 à 13:47, Avijit Basak <av...@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-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

-- 
Avijit Basak

Re: [MATH][GENETICS][PR#199] Design Decision of Chromosome hierarchy

Posted by Gilles Sadowski <gi...@gmail.com>.
Hello.

Le lun. 22 nov. 2021 à 13:47, Avijit Basak <av...@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-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org