【问题标题】:Executing genetic algorithm per configuration根据配置执行遗传算法
【发布时间】:2015-12-06 10:55:36
【问题描述】:

我正在尝试理解我正在阅读的一篇关于遗传算法的论文。 他们在那里运行一个带有他们提供的参数的 GA。 一些参数是: 停止标准 - 50 代。 每个配置运行 - 30。

在他们提出参数后,他们说他们执行了 20 次算法。

我不明白两件事: 1.第二个参数是什么意思?每个配置都运行到 30 代? 2. 算法执行20次,是指直到达到20代,还是执行20次配置?

谢谢。

【问题讨论】:

  • 您能给我们提供该论文的链接吗?
  • 你说得对,本文中的术语非常混乱。从 GA 的一般知识中我可以说的是,每次方法执行算法 20 次意味着您每次迭代 50 代。每次您将获得大约。最佳解决方案。 (这是你第二个问题的答案)
  • 好的,谢谢。也许有人可以帮助解决第一个问题。

标签: algorithm genetic-algorithm genetic-programming


【解决方案1】:

问题 1

通常在 GA:s 中,突变率、选择率等参数需要针对手头的问题进行定制。为了获得某种好的度量来量化什么是好的或坏的参数配置,每个配置都重复了许多运行,然后每次运行中最佳解决方案的平均值和标准偏差是计算。请注意,这些运行与 GA 中的代数或特定参数无关,它只是在比较和选择不同参数配置时降低噪音和提高可靠性的一种方法。

另一方面,“运行次数”本身也可以作为研究参数,但很明显,增加总运行次数会增加找到真正好的解决方案的机会(比如与平均 GA 性能)。如果研究这种情况,重要的是在所有运行中的总代数(实际上是函数评估的总数)在不同的参数设置之间是相同的。

例如,考虑如下参数配置:

numberOfRuns = 30
numberOfGenerations = 50
    ==> a total of 1500 generation analysed

研究与配置:

numberOfRuns = 50
numberOfGenerations = 30
    ==> a total of 1500 generation analysed

这样的研究可以检查在每次 GA 运行中是否有更多的世代(第一种情况),或者是否最好有更少的世代但更多的运行(第二种情况:可能有利于 GA 快速收敛到局部最优,但标准差较大)。

但是,以下参数配置没有任何意义与上述两个进行基准比较,因为它具有更大的总代数:

numberOfRuns = 50
numberOfGenerations = 50
    ==> a total of 2500 generation analysed

问题 2

如果他们说他们执行算法 20 次,则通常相当于 20 次 运行,如上所述。因此,20 次运行,每次运行超过 50 代。

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2019-12-09
    • 2016-08-23
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    相关资源
    最近更新 更多