我已经实现了我的小型遗传算法框架的第一个 pre-alpha 版本,到目前为止它运行良好。现在,我正在编写文档并完成一些细节。我只是想澄清一点。
术语“突变率”。是否意味着:
给定染色体发生突变的可能性?
染色体中给定基因被修改的可能性?
或者基因中单个等位基因被修饰的可能性?
根据以上哪个是正确答案(或与此完全不同的答案),还请澄清我是否需要按其他值(例如染色体中的基因数)来缩放突变率。
我已经实现了我的小型遗传算法框架的第一个 pre-alpha 版本,到目前为止它运行良好。现在,我正在编写文档并完成一些细节。我只是想澄清一点。
术语“突变率”。是否意味着:
给定染色体发生突变的可能性?
染色体中给定基因被修改的可能性?
或者基因中单个等位基因被修饰的可能性?
根据以上哪个是正确答案(或与此完全不同的答案),还请澄清我是否需要按其他值(例如染色体中的基因数)来缩放突变率。
尽管术语突变率没有普遍接受的定义,但在大多数学术环境中,它指β
的是每个个体在二进制编码的 GA 方案中单个位的突变概率。
突变率只有在处理包含多个局部最优值的解空间时才真正发挥作用,并作为确保全局最优性的纠正措施。然而,它应该被限制在一个较低的值范围内,因为突变率越大,收敛时间就越长。
可以在此处找到有关相同内容的详细讨论。
I'm not sure how you implement a single allele, but I would say mutation rate is the chance of a single binary mutating (e.g you have DNA 0000, and a 25% chance of every binary digit, the zeros in this case, to "mutate" to a 1).
In the projects I have done myself I have not scaled the mutation rate.
Edited.