彼得•公尺勒
我曾以為螞蟻做什麼事都心中有數。那些列隊爬過我廚房檯面的小傢伙們看上去是那麼信心十足,於是我猜想它們早就訂好了計畫,知道要去哪兒,要做什麼。不然的話,螞蟻又怎能做出組織行軍路線、建造複雜蟻穴、發動大規模突襲等奇妙的行為呢?
結果我錯了。螞蟻畢竟不是聰明的小工程師、建築師或武士——至少單個螞蟻不是。當需要決定下一步怎麼做時,大多數螞蟻都毫無頭緒。
那我們又該怎麼解釋地球上已知的大約1.2萬個螞蟻物種的繁榮呢?它們在1.4億年的進化中一定學到了什麼。
螞蟻不聰明,聚在一起就聰明了。蟻群解決對單個螞蟻來說不可思議的問題,比如尋找通往食物源的最短路徑,分派工蟻做不同的工作,保衛領土不受鄰居侵襲。落單的時候,螞蟻可能就像個小傻瓜,但聚成蟻群就能對環境做出快速有效的反應。這是因為它們擁有一種被稱做「群體智慧型」的東西。個體的簡單行動怎樣組合成了群體的複雜行為?如果幾百隻蜜蜂中間有許多不同意見,它們如何做出關於蜂巢安置的重大決定?是什麼使得一群鯡魚如此精確地協調行動,能在瞬間改變方向,彷彿是單一的銀色有機體?這些動物中,沒有哪乙個能夠看到全域性,但每乙個都為群體的成功出了乙份力,它們集體表現出的能力甚至讓那些最了解它們的生物學家都感到神奇。
蟻群運作的要訣之一是:沒有哪只螞蟻執掌大權。沒有將軍來指揮武士,沒有經理來使喚工人。蟻后只負責產卵。哪怕蟻群中有50萬只螞蟻,也能無需管理而正常運作——至少不需要我們所熟知的那些管理形式。它們靠的是個體之間的無數次互動,共同遵循著一套簡單的經驗法則——科學家稱之為「自組織系統」。
螞蟻是用觸覺和嗅覺進行交流的。兩隻螞蟻相遇時,就用觸角互相嗅一嗅。覓食蟻每天離穴之前,一般都要等早晨的巡邏蟻回來。巡邏蟻進入蟻穴時,會和覓食蟻簡短地碰碰觸角。與巡邏蟻的接觸是一種刺激,驅使覓食蟻出門。覓食蟻通過與巡邏蟻相遇的頻率來判斷出門是否安全。如果巡邏蟻回巢的頻率正常,就該出去覓食了。如果不正常,就最好再等等。外面可能風很大,也可能有乙隻飢餓的蜥蜴等在那裡。一旦有螞蟻開始覓食並帶回食物,其他螞蟻就會根據自己與返回的覓食蟻碰面的頻率,陸續加入覓食的行列。
覓食蟻沒找到吃的是不會回來的。食物越少,覓食蟻找到並帶回食物所花的時間就越長。食物越多,它回來得就越快。因此,沒有誰來判定這一天是不是覓食的好日子。做出判斷的是集體,而不是某只螞蟻。這就是群體智慧型的運作原理:簡單的生物遵循著簡單的規則,各自根據本地的資訊行動。沒有乙隻螞蟻能夠看到全域性,沒有乙隻螞蟻指揮別的螞蟻做事。歸根到底,它們是不需要領導的,即使是複雜的行為也能通過相對簡單的互動來協調進行。
(節選自2023年11期《青年科學》)
群體智慧型演算法之蝙蝠演算法
4.具體應用 5.引數選擇的原則 小結參考文獻 蝙蝠演算法 bat algorithm,ba 是yang受自然界蝙蝠回聲定位的方式進行搜尋 捕食行為的啟發,於2010年提出的一種新型的群智慧型仿生優化演算法。ba演算法具有結構簡單 引數較少 搜尋能力較強 穩定性較強 便於實現等優點,在函式優化 排程...
從粒子系統到群體智慧型 part2
接part1的單執行緒畫線,今天要實現的內容是將part1實現的畫線加上重力和速度的影響,使之符合現實生活 具體的實現形式是讓單執行緒畫出來的線像丟擲乙個小球那樣,會進行墜落 0.001ms 為間隔,在螢幕上的位置,我們看起來,就是一種連續的感覺。模擬現實中物理運動狀態,每一時間點上物理的位置,由運...
從粒子系統到群體智慧型 part4
我們想要實現以下的效果 粒子逐漸變大,而且產生了漂亮的漸變色,並且在撞擊窗體邊緣時產生彈的效果 public int i 2 int x,int y,int size else if y 0 y size 600 else return 0 if i 2 int position.x,int pos...