蚂蚁在沙漠中为什么不会迷路?(2)

大型和小型系统

但是如果系统的规模扩大之后,将会怎样?正如人类的计算机网络系统一样,蚂蚁群落系统也必须面对群落规模扩大之后的管理问题,这一系统必须可以接受局部的失效。

由于大规模系统必须允许出现一些偏差和错误,因此最佳的解决方案便是,让群体中每一个个体产生的贡献超过其自身对群体造成的损失以及抚养一个新生个体所要付出的成本。因此,在一个大规模系统中非常关键的一点便是冗余设计以及最小化信息量——在巨大的蚁群中,这种极高效率的选择是通过这样一种方式实现的,即大量的交流是通过两只互相陌生的蚂蚁个体之间简单的触须碰触实现的,非常迅速,没有额外的信息交流。

在工程领域我们同样在寻找方法确保产出的可靠性,随着网络规模的扩大,我们不断寻找有效率的,便宜的解决方案,而蚂蚁群落的做法给我们的启示是,有时候容忍某些不完美可能却恰恰是通往最佳解决方案的途径。

沙漠

沙漠

先到先得的策略

蚂蚁算法的多样性显示出进化过程对于不同环境限制因素的响应。由于蚁群之间存在相互竞争,并且很多时候它们在觅食时所选定的目标可能会是同一个食物,那么这时候谁先到谁就有可能赢得先机。

但是在一个没有中央指挥体系的系统中,又该如何达成最先抵达的目标呢?对于这个问题的解决方法是蚁群必须设法在最大的面积上几乎在任何时间点都有本蚁群的成员在搜寻,这样一来,不论在任何地点出现食物,就可以有最大的可能性在其附近有本群的蚂蚁成员在巡逻,可以及早发现。

但是如果没有中央统一的调度系统,你又该如何进行这样的统一布置呢?蚁群所采用的一种方案是建立一些永久性的固定巡逻路线,就像是我们的手机信号塔,蚂蚁们会固定的沿着这些道路进行巡视。极具攻击性的阿根廷蚁在这方面非常擅长,它们可以及时找到任何你掉在地上的面包屑。

阿根廷蚁还会调整自己的巡视路线,当身边还有其它许多同伴时,它们会采用一种近乎是随机的路线选择,从而让每一只蚂蚁对一小块区域进行彻底的搜查,而当处于陌生区域,并且同伴的数量较少时,它们则倾向于采取直行路线,从而确保数量较少的蚁群得以覆盖更大的范围。就像一个情报反馈系统,随着每一只蚂蚁个体对局部低点信息情报的反馈,整个蚁群逐渐掌握有关整个体系的完整信息,而在这一过程中并没有任何中央统一调度体系的干预。

沙漠

沙漠

对抗安全漏洞和疾病

如前所述,当数以百计的蚁群相互接近,此时资源就会显得紧张,各个蚁群之间将会出现对食物等资源的争夺,这样做必然就会导致出现安全问题上的顾虑。对此,蚁群相应的进化出了对入侵的侦测并对安全漏洞做出响应的机制。

一个蚁群可能会盗用或窃取其它蚁群留下的信息,从而找到其它蚁群率先找到的食物,比如它们会探测其它蚁群留下的化学踪迹信息并追踪这些信息。蚁群对此采取的策略并不是彻底的防止入侵行为的发生,而是发展出一套根据入侵规模大小而并与之对应的应对体系。

这种行为对于计算机信息安全领域同样具有启发性,我们或许不应追求完美,我们所要做的应当是在局部范围内对威胁做出评估并采取行动消除入侵。蚁群已经找到一种有效途径,对入侵行为做出响应,而在此过程中并没有更高一级中央调度系统的介入。人类社会目前正在显现一些运用相似设计思想的安全系统。

另外蚁群还有一整套的危机应对机制,如那些常常在树上觅食的蚂蚁种类,有些树木的树枝非常容易折断,这样就会引起蚁群的损失。为了及时发现这种危机并做出响应,蚁群会以一个环圈的形式前行,这样就会有两个方向的信息流连续的交换。当发生树枝折断,一个方向的信息流中断,蚁群便会立即意识到危机的发生并着手重建环圈网络。