我已经实现了我的小遗传算法框架的第一个阿尔法前版本,到目前为止,它工作得非常好。现在,我正在编写文档并完成一些细节。我只是想澄清一些事情。
术语“突变率”。这是否意味着:
>
给定染色体发生突变的可能性?
染色体中给定基因被修改的可能性?
或者基因中单个等位基因被修饰的可能性?
根据以上哪个是正确答案(或者完全不同的答案),还请澄清我是否需要用其他值(例如染色体中的基因数量)来衡量突变率。
我不确定如何实现单个等位基因,但我想说的是,突变率是单个二进制突变的几率(例如,你有DNA 0000,每个二进制数字的25%几率,本例中的零“突变”为1)。
在我自己做的项目中,我没有衡量突变率。
编辑。
虽然没有一个普遍接受的术语突变率的定义,但在大多数学术环境中,它指的是β
,即每个个体在二进制编码遗传算法方案中单个比特的突变概率。
只有在处理包含多个局部最优解的解空间时,变异率才真正发挥作用,并作为确保全局最优性的纠正措施。但是,它应该被限制在一个较低的值范围内,因为突变率越大,收敛时间越长。
关于同样的详细讨论可以在这里找到。