已迭代1.3億年的分布式系統(tǒng)——Anternet
你有沒有注意過蟻群是如何尋找食物的?和我們的互聯(lián)網(wǎng)系統(tǒng)很類似,每個螞蟻單獨行動搜集食物信息,再匯集到一起不斷調(diào)整路徑,直到形成一條最優(yōu)路徑,但是在這個過程中沒有任何的中央控制。
斯坦福大學(xué)的研究小組發(fā)現(xiàn)沙漠螞蟻的覓食方式與調(diào)節(jié)互聯(lián)網(wǎng)數(shù)據(jù)流量的TCP協(xié)議很類似,他們將蟻群系統(tǒng)稱為Anternet。Anternet和互聯(lián)網(wǎng)都使用了正向反饋:TCP協(xié)議中會發(fā)確認觸發(fā)下一個數(shù)據(jù)包的傳送,蟻群網(wǎng)絡(luò)中滿載而歸的螞蟻會引導(dǎo)其它螞蟻出去覓食。
相信每個知道這項研究的人都會驚嘆于這些螞蟻的別出心裁,竟然在幾百萬年前就開始使用這種智能的互聯(lián)網(wǎng)算法了。那么還有什么是螞蟻已經(jīng)做到,而我們?nèi)祟愡€不知道的?
Anternet對下一代互聯(lián)網(wǎng)的啟示
螞蟻有1.3億年左右的歷史,已經(jīng)進化到可以適應(yīng)特定環(huán)境的多變性和約束。
蟻群利用簡短交流的動態(tài)網(wǎng)絡(luò)來適應(yīng)周圍環(huán)境的變化。每個螞蟻個體并不知道發(fā)生了什么,每個螞蟻只是根據(jù)最近遇到的螞蟻確定路線:或者是一對一的互碰觸角,或者是根據(jù)其它螞蟻在路上留下的化學(xué)分泌物。
這種蟻群網(wǎng)絡(luò)使螞蟻擁有了驚人的多樣性,多達11000種的螞蟻遍布地球每一個角落。所以Anternet以及其它蟻群網(wǎng)絡(luò)可以給我們很多啟示。或許我們的信息網(wǎng)絡(luò)建設(shè)可以參考下螞蟻協(xié)議。
解決高操作成本問題
收獲蟻(螞蟻的一種)蟻群在沙漠中尋找水的過程也會消耗水。螞蟻在烈日下覓食時會丟失水分,這時他們會從存儲的種子中吸取水分。因為蟻群會存儲種子,它們的正向反饋系統(tǒng)使得在水源不好找時,螞蟻可以不必浪費精力外出覓食,即使這意味著他們要在天氣更濕潤時存儲一些種子。
Anternet通過這種方式處理高操作高成本問題。在互聯(lián)網(wǎng)中,TCP協(xié)議也可以防止系統(tǒng)在帶寬不可用的情況下,在互聯(lián)網(wǎng)上發(fā)送數(shù)據(jù)。除非是確定信息可以到達目的地,否則發(fā)送是不值得的。
作者最近剛發(fā)表了一篇文章說明自然選擇目前是如何優(yōu)化Anternet的算法的。作者對300個收獲蟻群進行了超過25年的研究,并且通過基因指紋研究了哪些蟻群有更多的后代蟻群。研究發(fā)現(xiàn),在炎熱的天氣里保持體力不外出覓食的蟻群有更多的后代。
面對資源稀缺情況,螞蟻是最小化運營成本而不是增大存儲量。這是一個可持續(xù)發(fā)展戰(zhàn)略,對于類似沙漠蟻群或移動互聯(lián)網(wǎng)的系統(tǒng),這都是保持長期可靠性同時避免浪費精力的重要措施。
擴展性
當系統(tǒng)規(guī)模擴展時會發(fā)生什么?就像人類設(shè)計的系統(tǒng),螞蟻系統(tǒng)也會隨著蟻群的壯大而調(diào)整優(yōu)化,還要有“容錯能力”。
由于大型系統(tǒng)難免會有一些混亂,所以理想的解決方案是利用每一個額外螞蟻的貢獻,從這些螞蟻中獲得的益處遠遠大于喂養(yǎng)螞蟻的成本。大型蟻群系統(tǒng)的最好工具是冗余和最小化信息量。龐大的蟻群中,各個螞蟻之間的簡單交流并不需要知道各個螞蟻的詳細信息。
在工程系統(tǒng)中,隨著網(wǎng)絡(luò)規(guī)模的擴大,我們也在利用一些廉價操作尋找確保可靠結(jié)果的解決方案。優(yōu)雅的自頂向下設(shè)計的確有吸引力,但是蟻群算法的魯棒性表明,容忍一些不完美有時會導(dǎo)致更好的解決方案。
優(yōu)化先發(fā)優(yōu)勢
蟻群算法的多樣性表明了進化系統(tǒng)是如何響應(yīng)環(huán)境約束的。當操作成本較低或蟻群尋找暫時的美味佳肴時,比如尋找花蜜或西瓜皮,搶占先機很重要。由于蟻群互相競爭,第一個找到食物的就有最好的機會。
一個蟻群在沒有任何中央控制的情況下如何獲得這種先發(fā)優(yōu)勢呢?螞蟻使用的一個策略(接近于我們的數(shù)據(jù)網(wǎng)絡(luò))是建立一個永久的高速回路(就像手機發(fā)射塔網(wǎng)絡(luò)),螞蟻們就在沿路進行搜索。阿根廷螞蟻很擅長這個,它們會找到任何落在廚房柜子上的面包屑。阿根廷螞蟻也會調(diào)整自己的路線,一開始很多螞蟻會在附近的隨機游走,每只螞蟻都會在一個小范圍內(nèi)徹底搜查,到后來會有一個更直接的路線,周圍的螞蟻會減少,從而整個蟻群可以覆蓋更大的范圍。
就像一個分布式的需求響應(yīng)網(wǎng)絡(luò)一樣,雖然沒有任何的中央控制,每只螞蟻對本地情況的響應(yīng)聚合在一起為產(chǎn)生了整個系統(tǒng)的結(jié)果。
解決安全漏洞
在熱帶地區(qū),數(shù)百種螞蟻聚集在一起競爭資源,蟻群必須要處理安全問題。這導(dǎo)致了使用本地信息進行入侵檢測和響應(yīng)的安全協(xié)議的進化。
一個蟻群可能會“偷竊”另一個蟻群的信息來尋找資源,例如其它蟻群螞蟻的化學(xué)分泌物或螞蟻分布密度。為了應(yīng)對這種入侵行為,螞蟻們采取了一種松散的、隨機的身份認證系統(tǒng),而不是試圖完全杜絕這種行為。
這與計算機的安全系統(tǒng)有明顯的相似之處,很顯然我們也需要實現(xiàn)對入侵的本地評估和修復(fù)。螞蟻并沒有建立一個中央集權(quán)來監(jiān)管黑客,但它們已經(jīng)找到了應(yīng)對入侵的策略。
災(zāi)難恢復(fù)
災(zāi)難恢復(fù)協(xié)議可以參考螞蟻在樹上覓食的過程,因為樹枝有可能會斷裂。在一個網(wǎng)絡(luò)回路中,考慮到快速恢復(fù),信號或者螞蟻會在不同的方向保持流動,如果一個方向斷流了,可以從另一個方向重建一個連接。
同樣,早期的光纖網(wǎng)絡(luò)經(jīng)常被農(nóng)業(yè)機械或其它的挖掘所破壞,一段光纖的破壞有可能讓整個系統(tǒng)宕掉。工程師們隨后發(fā)現(xiàn),環(huán)形網(wǎng)絡(luò)更容易修復(fù)。
我們的網(wǎng)絡(luò)在不斷進化,通過測試和比較這些沙漠螞蟻、熱帶森林中的螞蟻和廚房里的螞蟻的算法,很明顯我們可以參考這些螞蟻的做法來構(gòu)造我們的下一代網(wǎng)絡(luò)系統(tǒng)。
作者簡介:Deborah M. Gordon是斯坦福大學(xué)生物系的教授,她通過蟻群的生態(tài)和行為研究群體組織的進化,已經(jīng)獲得Guggenheim和行為科學(xué)深度研究中心的獎學(xué)金。著有《Ants at Work》及《Ant Encounter: Interaction Networks and Colony Behavior》。