表面上,螞蟻和互聯網好像沒什么共同之處,但二者之間卻存在驚人的相似性。據物理學家組織網近日報道,斯坦福大學研究人員發現,一種叫做收獲蟻的螞蟻在決定派多少螞蟻出去找食物時,所用方法和互聯網TCP(傳輸控制協議)確定還有多少帶寬可用來傳輸數據的方法極為相似。相關論文發表在《公共科學圖書館·計算生物學》雜志上。
斯坦福大學生物學教授黛博拉·戈登與計算機科學教授、研究網絡文件傳輸的專家巴拉基·普拉巴卡爾合作,研究一個蟻群在派覓食蟻出去找食物時,它們是怎樣做決定的。“從本質上說,螞蟻確定能得到多少食物的方法,和傳輸文件時TCP確定還有多少帶寬可用的算法是一樣的。”普拉巴卡爾說。
TCP是在互聯網上管理數據、控制擁堵的一種算法,在整體上允許早期網絡從幾十個結點擴增到今天的數十億用戶。其工作原理是:A作為源頭,傳一份文件到目的地B,此文件被分解為若干小包,B每接到一個小包,發送一個確認給A,表示文件已經到達。
這種反饋回路讓TCP能暢通運行而避免擁堵:如果返回確認的速度比數據發送速度慢,表示已沒有多少帶寬,源頭控制的數據傳輸就會相應地慢下來;如果返回確認更快,源頭就會加快傳輸速度。這一過程決定了還有多少帶寬和數據傳輸速度。
收獲蟻的覓食行為與此很相似。戈登發現,收獲蟻離開巢穴出去覓食的速度和能獲得的食物多少有關(相當于可用帶寬)。一般情況,覓食蟻只有找到食物才會回巢。如果食物豐富,它們返回的速度快,就會有更多同伴出去覓食;如果覓食速度變慢,甚至有些同伴開始空手而歸,覓食就可能停止。
普拉巴卡爾寫下了一只螞蟻覓食的算法(TCP—影響算法),并預測覓食行為取決于可找到的食物數量,戈登則通過實驗來控制覓食蟻返回的速度。他們發現,TCP—影響算法幾乎與實驗中螞蟻的行為精確吻合。
他們還發現,螞蟻還遵循TCP的兩個階段。一個叫緩慢啟動,用于描述源頭在開始發送一個大波包時需要計算的帶寬;同樣,收獲蟻在開始覓食時,會先派些螞蟻去看看能找到的食物多不多,然后再根據情況增加或減少外派螞蟻的速度。另一階段叫超時,此時數據傳輸連接中斷,源頭停止發送文件包;同樣,如果一些覓食蟻返回巢穴的速度超過20分鐘,就沒有螞蟻再出去。
“螞蟻早就發現了我們現在所知的算法,它們一直這么做了上百萬年。”普拉巴卡爾說,如果上世紀70年代發現這一點的話,那時TCP還沒寫出來,收獲蟻就能影響互聯網的設計。
戈登認為研究蟻群行為有助于我們設計互聯網系統。地球上的螞蟻有1.1萬種,它們生活在不同的地方,處理著各種生態問題。“螞蟻已經進化出了處理我們意想不到的問題的能力。從計算的角度來說,每一只螞蟻的能力是有限的,但蟻群集體卻能完成復雜的任務。螞蟻算法必然是簡單的、分布式的而且可升級,這正是我們在大型分布式設計系統中所需要的特性。理解螞蟻如何管理自身行為,有助于發現更多對互聯網算法有益的應用。”戈登說。 (新華網)