Menu

#2 Add dynamic threshold ability to the Speciator

open
nobody
None
5
2012-12-24
2009-09-11
No

We need the ability to constrain the maximum number of Specie's a Speciator can create, otherwise we run the risk of the evolutionary process running so long that we end up with a Specie for every chromosome. If this happens then the evolution can never move forward as there is no room in the population for new chromosomes to be created (this is assuming elitism is turned on, which it is by default).

Need to create a new class called "DynamicThresholdSpeciator" which will tune the threshold value that is used for determining if two chromosomes are the same until the number of species falls on or below the maximum number of species.

Discussion

  • Aidan Morgan

    Aidan Morgan - 2009-09-11

    I've completed this functionality, DynamicThresholdSpeciator extends the SimpleSpeciator and has the ability to set a maximum number of species.

    Can't specify a minimum number because sometimes (especially in the first generation) it is not possible to have more than one specie.

    Also adjusted the NaturalSelectionOrganismSelector to be able to remove Specie's that have not shown an improvement after a specified period of time. This feature is currently disabled by default, however can be easily enabled by calling setKillUnproductiveSpecies(true) before starting the evolution process.

     
  • Aidan Morgan

    Aidan Morgan - 2009-09-12

    Code committed to branch neuroph-2856908 @ rev 440.

    Will upmerge after Jon has finished his code-review of the initial NEAT load.

    Bug fix for 2857304 is also included in this change-set.