【问题标题】:What is Crossover Probability & Mutation Probability in Genetic Algorithm or Genetic Programming?什么是遗传算法或遗传编程中的交叉概率和变异概率?
【发布时间】:2011-02-22 02:27:52
【问题描述】:

什么是遗传算法或遗传编程中的交叉概率和变异概率?有人可以从实施的角度解释一下吗!

【问题讨论】:

  • en.wikipedia.org/wiki/Genetic_algorithm 有链接解释两者。
  • 雷迪,这是作业吗?
  • 不!我在java中实现遗传算法来解决网络分区问题。我有点困惑交叉概率到底是什么意思?我找不到任何文章清楚地解释交叉概率。我试图寻求已经实施它的人的帮助!

标签: genetic-algorithm genetic-programming


【解决方案1】:

突变概率(或比率)基本上是衡量染色体的随机元素被翻转成其他东西的相似性。例如,如果您的染色体被编码为长度为 100 的二进制字符串,如果您有 1% 的突变概率,则意味着您随机选取的 100 位(平均)中的 1 位将被翻转。

Crossover 基本上模拟了有性基因重组(如在人类生殖中),并且它通常在 GA 中以多种方式实现。有时在 GA 中适度应用交叉(因为它破坏了对称性,这并不总是好的,而且你也可能失明)所以我们讨论 交叉概率 来表示将有多少对的比率挑选交配(它们通常按照选择标准挑选 - 但这是另一回事)。

这是一个短篇故事 - 如果您想要长篇故事,您必须努力并点击 Amber 发布的链接。或者做一些谷歌搜索 - 我上次检查仍然是一个不错的选择:)

【讨论】:

    【解决方案2】:

    根据 Goldberg(搜索、优化和机器学习中的遗传算法),交叉概率是在特定交配时发生交叉的概率;也就是说,并非所有的交配都必须通过交叉繁殖,但可以选择 Pc=1.0。

    变异的概率是根据 JohnIdol 的。

    【讨论】:

      【解决方案3】:

      它显示了交叉继承自父母的特征数量!

      注意:如果交叉概率为100%,则所有后代都是交叉产生的。如果为 0%,则整个新一代都是由精确的 来自老年人群的染色体副本(但这并不意味着 新一代也一样!)。

      【讨论】:

        【解决方案4】:

        这可能是对这两个概率的一个很好的解释:

        http://www.optiwater.com/optiga/ga.html

        Johnldol 关于突变概率的回答正是该网站所说的:

        “通过生成一个介于 0 和 1 之间的随机数来检查每个染色体中的每个位是否存在可能的突变,如果该数字小于或等于给定的突变概率(例如 0.001),则更改位值。”

        对于交叉概率,可能是交叉操作产生的下一代人口的比例。而其余的人口......也许是通过先前的选择 或者您可以将其定义为最适合的幸存者

        【讨论】:

          猜你喜欢
          • 2012-06-02
          • 2016-09-05
          • 2019-05-26
          • 2014-02-07
          • 1970-01-01
          • 2014-12-21
          • 2011-10-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多