我做了一点GP(注意:很少)在大学工作,最近一直在玩它。我的问题是关于初始运行设置(种群大小,世代数,树的最小/最大深度,初始树的最小/最大深度,用于不同复制操作的百分比等)。设置这些参数的常规做法是什么?人们使用哪些论文/网站作为指导?
答案 0 :(得分:3)
你会发现这很大程度上取决于你的问题领域 - 特别是健身功能的性质,你的实施DSL等。
一些个人经历:
答案 1 :(得分:2)
为什么不尝试使用遗传算法为您优化这些参数? :)
计算机科学中的任何问题都可以 用另一层解决了 间接(除了太多 间接层。)
-David J. Wheeler
答案 2 :(得分:1)
当我开始研究遗传算法时,我遇到了同样的问题。
我想在一个非常简单的问题上收集数据变量参数,并将给定的运算符和参数值(例如变异率等)与给定的结果相关联,并与人口规模等有关。
一旦我开始进入GA,我就会意识到,鉴于变量数量巨大,这是一项艰巨的任务,而且泛化非常困难。
如果您决定简化问题并使用固定的方式来实现交叉,选择,并且只使用人口规模和突变率(以给定方式实施)来尝试提出问题,那么请从我(有限的)经验谈谈一般的结果你很快就会意识到太多的变量仍在发挥作用,因为在一天结束时,在统计数据之后,你会得到一个不错的结果(无论你想要定义什么样的体面的)显然仍然主要依赖于您正在解决的问题,因此依赖于基因组大小(以不同方式表示相同问题显然会导致给定GA参数的效果不同结果!)。< / p>当然可以起草一套准则 - 正如(稀有但好的)文献所证明的那样 - 但只有当手头的问题可以完全相同时,你才能用统计术语有效地概括结果。方式和适应性以某种方式评估等效方式(这通常意味着你正在处理一个非常类似的问题)。
答案 3 :(得分:0)
在这些问题上看看Koza的voluminous tomes。
答案 4 :(得分:0)
即使在GP社区内,也有很多不同的思想流派 - 有些人认为(低)数千人中的人口已经足够,而Koza和其他人通常认为如果值得在GP人群中以不到100万人开始全科医生运行; - )
如前所述,这取决于您的个人品味和经验,资源以及可能使用的GP系统!
干杯, 扬