号称能自动编程60年,“进化计算”究竟进化到哪一步了?( 三 )

就像自然选择学说一样,另一个关于进化计算的重要元素是突变。所以,每过一段时间,被测试的答案就会产生一个既小而随机的变化。这就意味着,新的潜在方法会被创造,而仅仅使用交叉法是不能实现的。

理想情况下,由交叉和变异组合成的潜在新方案,会比他们的“父母”更好。但“进化”也不是每次都发生的,只有更多迭代产生,更好的解答才能浮现。对于进化学习来说,拥有数以万计的迭代是有迹可循的,就像自然选择需要数以万年去选择一个物种生存一样。

号称能自动编程60年,“进化计算”究竟进化到哪一步了?

图4/4

基因编程树

进化计算中最有名的莫过于基因编程。在基因编程中,一个计算机程序会让另一个程序经过演变来处理特定的问题。用户提供了一些衡量程序优劣的度量,然后演化过程接管,一切顺利的话,就会返回一个解决问题的程序。

遗传算子

尽管在科研界,基因编程研究已经取得了巨大进展,但是进化计算依旧很被难投入到商用中。这究竟是为什么呢?

推荐阅读