蚁群算法是一种用来寻找优化路径的概率型算法,主要是指通过大范围的试错而后找到最优解的做法。
蚁群算法由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
科学家们发现,蚂蚁几乎没有视力,但他们却能够在黑暗的世界中找到食物,蚂蚁一旦找到了食物,一大群蚂蚁出动搬运,不管地形多么复杂,食物距离多么遥远,蚂蚁几乎总能找到一条最优路线。它们是怎么做到的?
一开始,每个蚂蚁都随机选择一条路线,并且留下了信息素,也就是记号。随着若干只蚂蚁找到了食物,也留下了若干条搬运道路的信息。最后,短路径里的蚂蚁数量总是比长路径上的蚂蚁数量要多。
因为路越短,相同时间内往返的次数就越多,也就在路上留下了更多的信息素,所以其他蚂蚁就会聚集到最短的路径上去。
蚂蚁们不停重复这个过程,最终总能找到一条最优路径,这就是著名的“蚁群算法”。
人工智能的先驱赫伯特·西蒙,就启发我们想象这样一个画面:蚂蚁费力地穿过沙滩回家,沿途要爬很多山丘,绕很多鹅卵石。如果我们通过对每条可能的路线进行编程,那么我们注定会失败,因为路径可能无穷多。但反而是蚂蚁社会的简单算法,能够找到最佳答案。蚂蚁们不断重复尝试,走得最多的路留下了最多的信息素,它一定就是最短的路。
单只蚂蚁的行为极其简单,行为数不超过10种。但成千上万只蚂蚁组成的蚁群,却能拥有巨大的智慧。
我们每一个完整的行动就像一只小蚂蚁,单次行动可能非常简单,但是多次行动连贯起来,就厉害了。
遇到问题我们与其去闷着头想,憋大招,不如迈出双腿,先完成一次行动再说。勇于尝试,不停修正,最终你自然会一步步逼近问题的最优解。
美国学者侯世达就提出了一种有趣的想法,他说“蚂蚁群落在很多方面和大脑原理一样”。人类的大脑也是由无数个简单的神经元,通过信息交换,从而涌现了智慧。他说,蚂蚁群体和神经元群体这两种体系中,整体较高水平的智慧,都是从“一只蚂蚁”、“一个神经元”这些“无言的”群体中显现出来的。
如何让蚁群算法在我们现实中发挥作用?
1、快速行动
不要等着所有的准备都做好后再行动,生活当中“万事俱备只欠东风”都已经算是很完美的情形,大部分时候是只有东风而万事都不具备。
只有行动之后我们才能知道自己需要补充哪方面的能力,才能知道自己的行动策略需要做怎样的优化。
2、大量行动
单次的行动并不能说明什么问题,即使取得一点成绩,或许也有侥幸的成分,只有在多次行动基础上才能验证出靠谱的行动策略,总结出规律。
3、做记录
只有通过记录才能知道自己迭代的程度,单凭大脑是记不住太多的东西。
4、做反思
通过记录看到自己有哪些进步?总结出哪些可以重复使用的规则,每次都从零开始是一种浪费。
5、重复最优解
找到最优解之后就是重复进行就可以了,有句俗语说“不要再重新发明轮子”,