在Jenetics库中,以下代码在Mutator类的alter()方法中给出:
最终双倍p = pow(_probability,1.0 / 3.0);
任何人都可以解释为突变计算新概率的目的吗?有什么好处?我们如何使用此类来实现单位置或点突变?
其原因是种群->基因型->染色体->基因的层次结构。由于给定的概率是单个基因的突变概率,因此您首先必须从种群中选择一种基因型。然后,从选定的基因型中选择一种染色体。最后,从染色体中选择基因。将单个选择步骤的选择概率设置为pow(p,1/3),这将导致所需的基因突变概率为p。
[第13页的“ Mutator”段中的Jenetics Manual中也描述了此机制。