我参加完八月份的COS沙龙之后比较闲,忽然想起自己很久以前看的遗传算法的基本思想。本着时不时就应该做一些私活的心态,我就在旅行商问题上面把它实现了一下。
遗传算法是一个仿生学的算法。进化论认为地球上千奇百怪的生物都是进化而来的,如今能生存在地球上的生物是更适应于这个环境的,我们也可以说它们是被“优化过”的。他们是怎么优化的呢?在一个种群中,生物的差异主要来自于两点,不同染色体之间的交叉结合以及染色体自发的随机变异。这些差异实际上是随机发生的,但是生物的外部生存环境会通过生存与死亡让更能适应的个体存活下去。因此随着时间的推移,生物种群对环境的适应能力会越来越高。受到这个现象的启发,有人发明了遗传算法,通过模拟遗传的过程来解决一些优化问题。