【发布时间】:2015-06-19 20:17:33
【问题描述】:
在jenetics库中,Mutator类的alter()方法中给出了以下代码:
final double p = pow(_probability, 1.0/3.0);
谁能解释计算这个新的突变概率的目的?它有什么好处?我们如何使用这个类来实现 One-Position 或 Point Mutation?
【问题讨论】:
标签: genetic-algorithm mutation jenetics
在jenetics库中,Mutator类的alter()方法中给出了以下代码:
final double p = pow(_probability, 1.0/3.0);
谁能解释计算这个新的突变概率的目的?它有什么好处?我们如何使用这个类来实现 One-Position 或 Point Mutation?
【问题讨论】:
标签: genetic-algorithm mutation jenetics
这是因为Population -> Genotype -> Chromosome -> Gene的层次结构。由于给定的概率是单个基因的突变概率,因此您首先必须从总体中选择一个基因型。然后从选定的基因型中选择一个染色体。最后,从染色体中选择基因。将单个选择步骤的选择概率设置为 pow(p, 1/3),从而得到所需的基因突变概率 p。
第 13 页的“Mutator”段落中的 Jenetics Manual 也描述了这种机制。
【讨论】: