遗传算法

松鼠会一文《遗传算法:内存中的进化》颇有意思,在评论中看到有人提供了一个网站可以在线计算,网址是 http://www.nihilogic.dk/labs/evolving-images/

鉴于此网站用的是JS代码,所以建议用 Chrome 或者 Safari 来算,效率会比较高。Chrome 每计算一代的时间是0.5秒,而 Firefox 需要的是1秒。

image

在 Image 里选择想用的图片,下面的参数我也看不懂,所以直接点“Evolve”开始计算。下面的方框会列出进度

Evolving...
Polygons: 100 (6-gons)      (多边形数量)
Population size: 40
Breeding from top 25% of population
Parents killed off after breeding
---
Generation: 2815      (代数)
Best fit: 98.9835%      (此代中的最符合的比率)
---
Time: 1511.79      (时间)
Time per generation: 0.54      (每代耗时)

开始的收敛速度是很快的,不一会儿就开始在 98%~99% 之间徘徊了。我算了 2800 多代也只接近 99%,结果见上图。