
在《圣经·旧约》的《箴言》中有这样一句话:“你们这些懒惰的人应当向蚂蚁学习;去学学蚂蚁的工作方式就会变聪明。”某些种类的蚂蚁的“工作方式”之一就是绑架更小物种的幼虫,将其当作“奴隶”饲养大。不过,说句题外话,研究人员现在发现,奴隶们会发动斯巴达克般的起义,消灭新皇后以及俘虏它们的三分之二雌性工蚁。被绑架的雄性工蚁则单独留在巢穴中,不参与奴隶们的突袭。这一现象引人深思!

(《圣经·旧约》)
现代的科学家遵循了《圣经》明智的建议,他们通过观察蚂蚁的工作方式学到了许多关于复杂性演化的知识,甚至将蚂蚁解决问题的方式计算机化。

蚂蚁在生活中面临着诸多困难的抉择-----为了在把食物带回巢穴的路上少花精力,它们必须找到巢穴与食物来源之间的最短路线。我观察了我花园的直线,正好是两点之间最短的距离。虽然蚂蚁仅能够辨别约1米以外的物体(这也取决于蚂蚁的大小),但它们的踪迹会绵延数米,而食物来源会被岩石、树叶和树枝阻挡或遮蔽。那蚂蚁是如何找到这条奇妙的直线路线的呢?

(蚂蚁的直线路线)
科学家对一群阿根廷蚂蚁(Iridomyrex humilis)群落进行的实验给出了答案。研究者在蚂蚁和食物来源之间设置了一条通道,并将通道从中间一分为二,其中一条弧形路线的长度是另一条路线的两倍。第一群离开群落寻找食物的蚂蚁随意地选择了其中一条路线,而在短短的几分钟里,几乎整个蚂蚁都发现了最短的路线,就像我们迅速地发现一条从家通往办公室的捷径一样。

寻找最短路线
科学家们指出:“寻找最短的路线不仅对于罗马的道路建设者、口渴的橄榄球运动员或足球运动员、致力于研究这一问题的应用数学家非常重要,对于任何需要经常在不同地点之间运动的动物,包括人类而言,都非常重要。”他们发现,蚂蚁是靠一种叫做“费洛蒙”的化学信号化合物来寻找最短路线的而不是看着手表掐指计算时间。蚂蚁爬行的踪迹。但是这些信号化合物的如何帮助蚂蚁找到最短的路线的呢?
其实原因很明显。第一群觅食后返回蚁巢的蚂蚁是那些恰好选择了最短路径的蚂蚁。它们肯定会沿着前行轨迹释放出费洛蒙,其它会“跟着费洛蒙走”的蚂蚁便会沿着这条轨迹前进。在选择较长路线的蚂蚁经过较长的时间返回蚁巢的这段时间里,将有更多的蚂蚁采用较短的路线,并在较短的路线上释放更多是费洛蒙。此外,由较长路经出发、但是有较短路经回巢的蚂蚁的费洛蒙也会积累到较短的路径上。最后,较短路径将积累出相对极浓的费洛蒙,并成为所有蚂蚁的首选路径。

(蚂蚁交流的信号化合物——费洛蒙)
利用蚁群优化
蚂蚁就是采用如上所述的选择性强化的“有效”方案,找到了通往食物来源的最佳途径。我们在开车时也可以使用类似的方法寻找捷径。当某个人找到一条捷径之后,另外几个人可能会注意到他离开或返回的主要路线。假设他已经找到了一条捷径并跟随他。这几个人的行为又会被更多的人注意并跟随,依次类推,队伍逐渐壮大。这种正反馈过程意味着不久之后,所有人都会知道这条路线。我们甚至不需要费洛蒙的指引,只需通过观察就可以完成。
对于被称为“蚁群优化”的计算机化蚁群逻辑而言,正反馈的益处也颇多。比如,一个程序员要在多个城市之间设计一条观光巴士路线,她应该如何在车速限制各不相同的道路中找出一条最短路线或最快路线呢?
这个问题听起来很简单,但是几个世纪以来,数学家都未能利用精确的数学方法解决这一类问题(一般称为“货郎担问题”)。然而,无论是对数学家而言还是对实际应用而言,解决这个问题都十分重要,以至于专门的网站为此提供了历史和应用方面的丰富信息。
在现代计算机技术的辅助下,解决这个问题的方法之一就是简单地测量经过所有可能路线所需的时间,然后从列表中选择最佳路径。如果只涉及几座城市,这种方法的可行的,但很快,计算量会大幅度增加。

蚁群优化即计算机蚁群逻辑。程序员通过计算机模拟蚂蚁的行为模式,寻找复杂的组合优化问题的答案。

(蚁群优化)
例如,尤利西斯为了计算最优路线,可能需要走完《奥德赛》中提到的16个城市之间所有的路,需要估算653 837 184 000 种可能的出发和重返家园的路线。这大概需要进行1万亿次计算,即使是利用现代的计算机也需要花些工夫。

蚂蚁则采用不用的方法来解决这个问题,它们利用正反馈的原则来获取较好的近似解。计算机模拟中的“蚂蚁”是程序员通过想象虚构出来的虚拟昆虫,他们被放在一个虚拟的世界里。这个虚拟世界里有16座城市,蚂蚁们需要造访每一座城市然后回到原点。每两座“城市”之间都由假想的直线(即链接)链接在一起,每两座城市之间的距离用直线的长度表示。
蚂蚁的聪明之处在于,当一只虚拟的“蚂蚁”回到家,它会记住自己已经走过的距离,并为链接附上一个数字(相当于现实生活当中的费洛蒙),用以反映旅程的长度。不同的蚂蚁走过同一条链接时,为链接赋予的数字是相同的。旅程越短,链接被赋予的数字越大。随着越来越多的“蚂蚁”在整个网络中爬行,旅程最短的链接获得的数字的总和越来越大(相当于有越来越多的蚂蚁释放费洛蒙,费洛蒙浓度积累总数越来越高)。由于后来的蚂蚁在选择链接时会参考链接被赋予的数字,更多地选择数字的总和更大的链接,因此,旅程短的链接获得的数字总和将越来越大。
而采用这种方法真正聪明的地方在与:作为程序的一部分,链接被赋予的数字的总和会随着时间的推移在“倒计时”中逐渐减小,相对于现实中费洛蒙的缓慢蒸发。这样一来,低效率链接的数值会不成比例地减少(相当于通过费洛蒙的蒸发,较少采用的路径会逐渐不受重视),使得最有效的链接更清楚地呈现。
于是,大家很快就能看到最有效的路径(或非常接近最有效路径的路径)呈现出来,蚁群优化就此完成了它的使命。蚁群优化能够指导很多工作,特别是在电信行业中,货郎担问题变成消息如何在复杂网络中最有效地传播的问题,消息本身成为“蚂蚁”,记录着自己的进程并标记着相应路径。

我们能不能用一个类似的程序解决生活中的交通和网络问题呢?1856年,原中央公园专员波特·狄龙(RobertJ.Dillon)提出了一个想法,他建议将公园的路径规划工作推迟,让纽约市的行人按照自己的习惯自由地行走。这样,过了一段时间之后,留下最深足迹的道路就是使用最多、最有效的路径。

(中央公园)

狄龙提议的方案最终没有得到采纳,但是德国交通工程师德克·赫尔宾(Dirk Helbing)以及他的合作者最近的研究表明,狄龙的解决方案是一个很好的方案,是蚁群优化在人类社会中实践的好例子。赫尔宾和他的合作拍摄并分析了许多这样的路径。当问及狄龙的方法的有效性时,赫尔宾回答说:

如果人们经常使用一条路径,我们就能获得起点和终点之间的直接链接。但是如果路径的使用频率不够高,直接链接就无法保留,那么前往不同终点的行人会形成多条常用的路径,并会不停变换。在这种情况下,行人可以接受路程最多增加25%的绕道。由此形成的路径系统通常可以提供一个有效率并且公平的解决方案,提高行人行走的舒适度,并在保持多条路径的使用频率的条件下将绕道的可能性最小化。

在可以利用蚁群优化时,我们似乎会发自地使用它,它可以帮助我们找到相当接近最佳方案的解决方案。但是,为了得到最佳解决方案,我们必须非常仔细地设立条件,就像社区网站digg.com允许用户浏览互联网提交新闻故事时做的一样。
新提交的故事储存储存在“即将更新的故事”的页面。其他成员阅读这篇故事,如果觉得有趣就可以给这个故事添加一个“掘客”。如果这则故事在一定的时间内没有收到足够的推荐,它就会被删除;如果它在短时间内获得了足够多的推荐,它就会被放到首页,在那里,它可以继续获得更多“掘客”。
随着时间的推移,故事的新鲜感逐渐消失,抵消了这种正反馈。故事受到的关注越来越少,获得的“掘客”也越来越少,这种效果类似于费洛蒙的蒸发和链接的减少。最终它们被更新更有趣的故事所取代,不再出现在首页。在这个过程和蚁群优化非常相似,“掘客”相当于费洛蒙,它随着大量的使用而累积,并随着时间的推移而消失。



往期学习链接:

