[Enhancement] Weighting system for Genetic Sampler
mikeloeven opened this issue ยท 2 comments
I would like to see a weighting system implemented for the genetic sampler.
Essentially Weighting starts with an equal opportunity of producing each trait placing a different bee/sapling in the slot resets this.
Each time a trait is produced the percentage of it being selected will be lowered while each time a trait is passed over the percentage of being selected will be increased. essentially when the same trait is produced multiple times in a row this system will effectivly give that trait a temporary blacklist ensuring that other traits have a chance to be selected more evenly and the longer the sampler passes over a trait the higher the percentage it will be selected the next cycle.
basically this system will make the genetic sample produce an entire genome in a shorter period of time by balancing the selection of samples and preventing excessive duplication of traits
under no circumstances should you need multiple STACKS of bees / saplings to extract one specific trait the fact that this can and does happen indicates a problem with how the machine picks the sample
there also seems to be a high bias in trees towards producing forestry.allele.lightlevel more than any other trait
while fertility seems to have a <1% chance of being selected
i dont do much with bees but there is probibally a similar bias towards specific traits as well
the math is just too wonky and the traits produced per sample are not evenly distributed
There selection should be evenly distributed, it literally throws all alleles into a list and chooses one from it using JVM RNG.
If you have any actual data that shows uneven distribution over a significant number of samples - i'd like to look at it.
I don't like the weighting idea, it would shift the existing balance in the mod to be significantly easier/faster.
I do want to let the user have more control over what gets sampled, but it should be something that involves actual gameplay mechanics - i don't have any specific ideas right now, but it's on my todo list.