每个配置执行遗传算法

时间:2014-12-20 09:48:57

标签: algorithm genetic-algorithm genetic-programming

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

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

我不明白两件事: 1.第二个参数是什么意思?每个配置都运行直到达到30代? 2.当他们执行算法20次时,是否意味着直到他们达到20代或他们执行了20次配置?

感谢。

1 个答案:

答案 0 :(得分:0)

问题1

通常在GA中:需要根据手头的问题定制突变率,选择率等参数。为了获得一个很好的量度来量化什么是好的或坏的参数配置,每个配置都会重复多个运行,之后每个运行中最佳解决方案的平均值和标准差是计算。请注意,这些运行与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 run ,如上所述。因此,20次运行,每次运行超过50代。