首页 >> 生物 >> 计算机科学 >> 文章

电脑里的蜂群和蚁族Comments>>

发表于 2011-02-17 07:16 | Tags 标签:, , ,

提起“仿生学”,你首先想到的是什么?鸡蛋壳形状的抗压房顶,鲸鱼的流线型,晚上眼神儿不好的蝙蝠和雷达的发明?如果只是认为动物身体上的特殊功能可以用来让人类“山寨”,你就有一点out了,动物的智慧也是可以让人来模仿的。

动物会有人类聪明吗?似乎各种动物的智商完全不是和人一个档次的,黑猩猩在动物里算是聪明的了,可是对于幼儿园的算术题也捶胸跺脚,表示鸭梨很大。虽然单只动物的智力有限,可是如果他们结队成群,表现出来的智慧就深不可测了,大家可以先去围观一下“鸟群中的幽灵”(http://songshuhui.net/archives/49499)这篇文章,一大群飞翔的鸟怎么样在空中互相配合创造出千奇百怪的“队形” ,背后的谜团把人类的智慧精英们:数学家,生物学家,物理学家,以及工程师都弄得团团转,比人类大脑转得更快的电脑也要向诡异的鸟群和鱼群拜师学艺。和鸟群相比,一向被视为弱小象征的蜜蜂和蚂蚁在成群结队的时候表现出来的智慧也不可小量。

在每一群蜜蜂里,都会有三种成员:蜂王、雄蜂、工蜂,其中蜂王(其实准确的说是蜂后)只有一只,雄蜂有几百只,工蜂则有几万只。工蜂都是雌性,所以一个蜂群的性别比例很不平衡,雌性占据着压倒性优势,可是工蜂又都没有生育能力,只有蜂王这一只雌性可以产卵,原因很简单——她在幼虫的时候被幸运地选为王位继承人,喝着蜂王浆而不是普通花蜜长大的。蜂王虽然是一群蜜蜂产生后代、延续下去必不可少的核心,可是她的生活远远没有人类世界的国王那样逍遥快乐,每天的工作就是不停地和那些雄蜂交配产卵。蜂巢里的雄蜂们可以称作是一群宅男,整日像三宫六院七十二妃一样“深居后宫”。寻找食物、采蜜的工作完全落在了忙碌的工蜂身上,人们发现这些“飞在花丛中”的工蜂在寻找食物的时候有自己的一套策略,总是可以在以蜂巢为中心方圆几里的范围内快速找到的花蜜最好的花丛。

一群工蜂在寻找食物的时候会分成三组:侦查蜂,探索部队,不明真相的围观者。不过每次执行任务,这些蜜蜂成为哪一个角色,完全是自发决定的,没有“上级领导”蜂王的指挥,在工蜂里也没有飞行大队长、飞行中队长、飞行小队长的分别,每只工蜂都是“一线劳动者”。

每当蜂巢粮库里蜂蜜不够的时候,一小部分“侦查蜂”首先出动,其余的蜜蜂暂时留在蜂巢里待命。这些侦察蜂开始的时候在蜂巢的周围漫无目标的摸黑搜索,一旦发现了一片花蜜味道尝起来还可以的花丛,就会采一些,然后飞回蜂巢,除了把样品给同伴们尝一尝以外,侦察蜂们还会在蜂巢里的一部分特别的“舞厅”区域里翩翩起舞,他们跳舞的姿态、身体抖动的次数、摇摆的方向都和刚刚发现的那朵花距离蜂巢的位置和方位有关系,可能有的时候跳起了华尔兹,有的时候踩起了探戈,有时跳起了桑巴,有时玩起了钢管。

作为围观者的那些蜜蜂可以从“舞蹈”的姿势中领会到富含花蜜的花朵的位置。一部分观众会心动起来,“心动不如行动”,他们于是成为探索部队的一员,飞到那片花丛的附近,因为一般来说,富含花蜜的花朵聚在一起的可能性很大,侦察蜂发现的那小片花的附近说不定有更大的宝藏,于是探索部队们会在那朵花的附近有目标的搜寻。当然,有的围观者会比较淡定,不急于飞走,多欣赏一会儿舞蹈,因为后面的节目更精彩。当越来越多的侦察蜂返回,再加上一部分出发比较早的探索部队发现的新的、更好的花丛,回来报信和拉人去,蜂巢的舞台上群舞齐欢,像热闹的夜总会,剩下的围观者此时就要多思索一下跟谁去好了,不过不管舞跳得有多炫,还是带回来的花蜜样品质量最好的花丛会吸引更多的探索部队前去。

当某一个花丛附近的探索部队找来找去,发现这堆花附近没有更好的花蜜源了,就会放弃那个“没有前途”的地方,由探索部队转行为侦察蜂,去开辟新的领地。当然,如果侦察兵和探索部队飞累了,也会飞回蜂巢休息一下,做一段时间舞蹈的台下观众。侦察蜂,探索部队和围观者的成员和数量都是在不断变动的,随着带回蜂巢的花蜜质量越来越好,寻找最好食物的任务就会慢慢结束,逐渐地蜂巢里所有的工蜂都会统一奔向那片花蜜最好的花丛去采蜜。工蜂通过这样的分工合作,可以在很短的时间发现大片草丛里隐藏着的最给力的那一个的花蜜源头。

蚂蚁王国和蜜蜂王国很相似,有蚁王,雄蚁,工蚁,工蚁里面个头大的,能打仗的还可以叫兵蚁。工蚁和工蜂同样是一生劳碌的命运,它们要像蜜蜂去寻找花蜜一样去寻找食物。 蜜蜂在空中飞,可以直达目的地,可是蚂蚁一旦发现了食物,怎么把食物搬回老巢还是个问题,地面上的一些植物、残垣破壁、一汪水塘常常都会成为小小的蚂蚁难以逾越的障碍,蚂蚁们必须在他们眼中的“迷宫”里找到一条不绕远的最短路线。

蚂蚁找食物的时候不会像舞动的蜜蜂那样“有激情”,任务一开始,除了看家的以外,蚂蚁会一窝蜂从老巢中爬出,分别向各个方向爬去,经过地毯式的搜索,其中的一只在爬过了“崇山峻岭”之后,或许会幸运地发现一大块糖或者一只蚱蜢的尸体,这只惊喜的蚂蚁会立刻沿原路打道回府,并且一边走一边还会洒下其他蚂蚁的触角可以感受到“信息素”。

在其他的地方找不到食物的蚂蚁在迷茫中一旦闻到了信息素,就有机会在信息素的指引下,成功奔向食物,不过它走的路线也未必和洒下信息素的那只蚂蚁完全一样,第二只蚂蚁找到食物后也会按照自己的原路返回,当然也少不了洒信息素。随后第三只、第四只……第n只蚂蚁也会找到食物并且洒信息素,它们各自是按着不相同的路线到达食物的,撒下的信息素形成了很多岔路。之后的蚂蚁对于路线会感到很纠结,同时也会开辟更多的新路线,由于信息素会挥发,那些“蚁迹罕至”、“兜大圈”的长路线上的信息素会消失殆尽,走的蚂蚁数量多的短捷径的信息素会留下来,到最后,所有的蚂蚁都会按照一条洒信息素洒成的最理想的道路把那一大块食物搬回来。“世上本没有路,走的蚂蚁多了便成了路”,而且还是最短的。

受这两种不起眼的昆虫启发,科学家们可以在电脑上编写程序,模仿真实世界里的蜜蜂和蚂蚁,像电子宠物一样养一群虚拟的蜜蜂或者虚拟的蚂蚁,只是这群蜜蜂蚂蚁不是来玩的,没有那么多好玩的功能。然后让它们去完成计算任务,发明了“蜂群算法(2005年)”和“蚁群算法(1992年)”。

这两个算法可以解决很多寻找最优解的问题,比如在一个很复杂的电脑网络里,从一台电脑连接到很远以外的另外一台电脑,中间要经过很多路由器,可以组合出很多不同的路线,怎样快速地发现一条最短的连接方式。

对于蜂群算法,可以把这个电脑网络看作是很大的一片草丛,两台电脑间每一种连接方式,按照距离长短,分别看作是没有蜜的地方,花蜜质量差的花丛,花蜜好的花丛,然后让电脑模仿真实的蜜蜂寻找食物的方式,每次用一些概率值模拟侦察蜂、探索部队和看舞蹈的蜜蜂的各种举动,最后这些虚拟的蜜蜂找到最好的“花蜜”也就是电脑运算从成千上万个可能的电脑连接方式中找到了最佳的那一个。

如果使用蚁群算法,这两台电脑分别看作蚂蚁的窝和食物,一只只虚拟的“蚂蚁”在网络中的电脑之间爬来爬去,并且会“洒信息素”,改变了算法中某一些概率参数值,最后所有的蚂蚁找到的那一条理想的搬运食物的路线自然也就是问题中两台电脑之间的最理想的网络连接方式。

在其他诸多领域,比如机器人、交通、电路设计、公司管理、人脸识别、数据分析等等,“让蜜蜂在电脑上飞”或者“让蚂蚁在电脑上爬”,人们轻而易举地得到理想中的“美味的花蜜”和“食物的捷径”。

对蜜蜂和蚂蚁有兴趣的童鞋,可以读一下这篇文章 羚羊与蜜蜂(三)蜜蜂
http://songshuhui.net/archives/35253

0
为您推荐

14 Responses to “电脑里的蜂群和蚁族”

  1. MarsV说道:

    可以看看这里http://bbs.blueidea.com/viewthread.php?tid=2539054,有个js版的蚁群算法演示。不能运行的话换不同的浏览器试试

  2. 红泥小火炉说道:

    蜂后蚁后一生仅一次交配

    以前看过的,不知道对错

    • 依山居说道:

      我记得是雄蜂和雄蚁,和虫后交配完后就死掉。
      还有谁还记得黑猫警长里的螳螂的故事没。

  3. zz说道:

    “当越来越来的侦察蜂返回”

  4. Ent说道:

    黏菌的算法和蚁群算法有类似之处吗?

    • Albert_JIAO说道:

      黏菌的算法偶不太了解。。。不过模仿鸟群、鱼群、蜂群、蚁群着一类算法都有一些共同之处,黏菌也应该不例外吧

    • troytt说道:

      两者本质相同,都是一个进化的过程:
      1、随机取样
      2、取较优解
      3、重复直到取得比较好的解或者发散无解

  5. 大笨猫同学说道:

    这是不是就是复杂系统?

  6. littlesevena说道:

    作为一个艺术类学科出生的人,作为一个一直关注科学松鼠会的人,看到结尾的时候,茫然的飘过……

  7. 创业的故事说道:

    对蜜蜂和蚂蚁有兴趣的童鞋,可以读一下这篇文章 羚羊与蜜蜂(三)蜜蜂

  8. 膏药说道:

    很恰当 简直模拟现实社会

  9. 依山居说道:

    性别战争-雄蜂在性高潮时生殖器会爆掉
    http://www.dayoo.com/roll/201011/08/10000307_103840859.htm

    如果这个是作为AD来讲,那就太强了。

  10. jerry说道:

    立马下了论文来看

  11. HeshanWorm说道:

    谢谢楼主的精彩美文,受益匪浅。

    有一个小小的讨论:

    关于蜂王“她的生活远远没有人类世界的国王那样逍遥快乐,每天的工作就是不停地和那些雄蜂交配产卵”。

    一般来说,蜂王与雄蜂在交配季完成一次交配,可以有持续2-3年的精液储存。更为准确地说法是不停地产卵。

Leave a Reply