蚂蚁觅食和互联网算法
人和蚂蚁有什么区别?蚂蚁没有互联网。
与具有创造性思维的人类相比,蚂蚁似乎依赖于本能的生物。然而,斯坦福大学的两位科学家发现蚂蚁比我们想象的聪明得多。虽然他们没有发明互联网,但他们知道互联网上的算法。斯坦福大学网站上描述了这一有趣的发现。
生物学教授Deborah Gordon在寻找食物时发现了亚利桑那州农田蚂蚁的特殊行为,因此他们找到了计算机科学家Balaji Prabhakar来讨论此事。虽然Balaji Probhakar是网络文件传输方面的专家,但他没有立即意识到这与计算机有何关系。在第二天,当灵感突然袭来时,他突然想到蚂蚁的行为和互联网上的文件传输非常相似。根据Prabhaker的说法,蚂蚁用来理解可用食物量的算法与TCP中使用的算法基本相同。
传输控制协议TCP是因特网上最重要的协议之一。它用于管理互联网上的数据拥塞。正是由于TCP协议,我们的网络才能从最早的几十个节点发展到今天数亿个节点。它的工作原理是:作为一个数据源,A将文件传输到目标B,然后文件被分解成许多包。当B接收到一个包时,向A发送一个确认消息,表明该包已被发送。
这样做的好处是避免数据拥塞。如果B确定速度慢,则证明带宽不足,A可以根据情况减慢数据传输;如果B确认速度快,A将加快传输速度。此过程允许您确定可用带宽,并相应地增加或降低传输速度。
戈登发现农田蚂蚁的表现非常相似。他们派出觅食的蚂蚁去寻找食物。如果有更多的食物,觅食的蚂蚁很快就会回来,然后更多的蚂蚁会离开巢穴喂食;如果蚂蚁空手而归,蚁群的觅食行为将会减少甚至停止。
在这个案例中,Probkahar编写了一个基于食物量的蚁群觅食行为预测算法,Gordon通过实验对其进行了验证。他们发现基于TCP的算法几乎可以准确地预测蚂蚁的行为。
Prabhakar说,蚂蚁已经发现了我们熟知的算法,并且已经使用了数百万年。
他们还发现了蚂蚁遵循TCP算法的另外两条规则。一个被称为慢启动。在数据传输开始时,数据源将发送大量数据包以估计带宽。同样,当蚁群开始进食时,它们会释放喂食蚂蚁以检测食物量。
另一个叫做超时。当数据传输链路中断或受到干扰时,数据源停止生成数据包。同样,当觅食蚁在20分钟以上不返回巢穴时,其他觅食蚁也不会离开巢穴。