當前位置:
首頁 > 知識 > 網路和螞蟻有什麼聯繫呢?似乎難以想像要想網速快還得跟它們學習!

網路和螞蟻有什麼聯繫呢?似乎難以想像要想網速快還得跟它們學習!

一個TCP笑話

「你好,我想聽一個TCP的笑話。」

蟻群功能是1+1﹥2

網路和螞蟻有什麼聯繫呢?似乎難以想像。然而,千萬不要混淆一隻螞蟻和一個蟻群的概念,它們完全不對等,好比一棵樹和一片樹林完全不是一回事。

美國斯坦福大學科學家發現蟻群非常獨特。在美國亞利桑那州沙漠里,螞蟻會一隻一隻出窩覓食,除非找到食物,否則它們不會空手回窩。螞蟻覓食中途,如果遭遇意外永遠回不來,蟻群會怎麼辦?如果遇上正午天氣又熱又曬,又會怎麼辦?

通過長期觀察,科學家發現蟻群完全適應沙漠氣候,覓食的這些困難根本影響不了它們,而且它們還有許多未解之秘。

當遇到又熱又曬的極端天氣時,螞蟻靠窩裡儲存的食物生活,蟻群只派出少量螞蟻覓食;當食物少,螞蟻就長時間不回窩,一直在外覓食;當食物多,它就很快回窩,覓食時間就短。準備外出覓食的螞蟻會守在洞口一個窄道里。當覓食的螞蟻回窩途經此道,遇見等候的螞蟻,就會放下食物,然後兩隻螞蟻用觸角相互碰觸。洞口螞蟻是否外出覓食,取決於相互碰觸的次數以及碰觸的時間。就這樣,一個複雜的集體行為完全由簡單的個體碰觸而主導。

天氣怎樣,沒有人能斷言。是否適合覓食,一隻螞蟻或許判斷不出,但蟻群卻可以確定。1+1﹥2意味著整體的能力超過了部分相加之和,蟻群就是這樣一個整體。而且科學家相信,對蟻群研究得越深入,越會發現有用的東西。

「你好,你想聽一個TCP的笑話?」

「是的,我想聽一個TCP笑話。」

「好的,我會給你講一個TCP笑話。」

「太好了,我會認真聽這個笑話。」

「你現在準備好聽這個TCP笑話了嗎?」

「當然,我已經準備好聽了。」

「很好,我馬上要講這個TCP笑話了。它沒有場景,10秒鐘長,有兩個人物,結尾有點睛之筆。」

「好的,我早已洗耳恭聽了,它沒有具體場景,10秒鐘長,有兩個人物,結尾有點睛之筆。」

「噢,不好意思,你接連超時了。

……

你好,想聽一個TCP的笑話嗎?」

你明白這個TCP笑話了嗎?它講的就是網路堵塞,連接超時乃至中斷。平時上網時,這個問題我們常會遇到。TCP協議是網路傳輸的主要方法,現在它亟待升級,以解決網路堵塞問題,而螞蟻——非人類工程師或許能幫助人類解決這個問題。

現代互聯網上,傳輸控制協議(TCP/IP)是傳送信息的基礎,也是互聯網重要的組成部分。互聯網包含大量信息內容(如網站、視頻、音頻、文本),以及許多硬體設備(如路由器、纜線、衛星、基站、電腦)。

假如一台設備用TCP協議傳輸一份文件,它會把文件拆分成許許多多的小份,稱為「數據包」。它向接收設備發出一連串數據包,並監控對方是否收到。如果收到,就返回「確認符」以標記,並以此調整剩餘數據包的傳輸速度。

但有時傳輸數據擁堵、網速變慢,造成部分網路癱瘓,甚至中斷連接。TCP協議發明於20世紀70年代,如今它急需改進。科學家從螞蟻身上得到了啟示,並將蟻群系統稱為「蟻群演算法」、「蟻聯網」(英文Anternet)。

科學家發現,蟻群以食物量為參照,計算派出螞蟻數量的方法,與互聯網傳輸控制協議TCP相比,它們在本質上一模一樣。蟻群的目標是派出更少螞蟻而收集更多食物,TCP的目標是盡量避免擁堵而更快傳輸信息。通過互聯網發送一個數據包,就好比派出一隻螞蟻外出覓食;返回一個確認符,就好比覓食的螞蟻帶回了食物。如果很快返回大量確認符,就意味著網速暢通,帶寬足用,而足用意味著發送端將發送更多數據包。這就好比覓食的螞蟻很快回窩,意味著覓食返回,食物足用,而足用也意味著蟻群將派出更多螞蟻。反之,如果確認符返回得慢,發送數據就變慢;同樣地,如果螞蟻覓食返回得慢,蟻群派出螞蟻也將變慢;如果它們根本不返回,那麼派出和發送也將停止。對蟻群來說,停止意味著暫時不派出任何螞蟻覓食;對TCP來說,則意味著連接超時(即中斷)。

強調一點,上述這個例子只是簡化版TCP,不代表它全部功能,但用來說明兩者相似卻足夠了。

蟻聯網有數百萬年曆史,它是螞蟻擁有並持續使用的計算方法。通過蟻聯網,蟻群把覓食損失降到最低,而且覓到了食物。TCP目的就是把數據擁堵降到最低,並且儘快傳輸信息。這兩者實現目標的同時,都不需要額外的監督體系。

每個蟻群都有一隻蟻后,它不覓食不工作,靠其他螞蟻餵養。它的地位最高,但是它卻幾乎沒有「政治」權力,實際上,蟻后只是一隻專職於繁殖工作的螞蟻工。另外,蟻群里沒有像公司那樣的「經理」,時刻關注天氣環境變化,並報告給外出覓食的螞蟻。

唯一已知的就是,洞口窄道里兩隻螞蟻用觸角碰觸的次數和時間,決定了蟻群演算法的結果。一隻螞蟻的信息極其有限,這就決定了蟻聯網的演算法必須簡單,而且是分散式的、數據化的、可測量的。互聯網上,我們同樣要設計分散式計算,並藉助這種特性,使整個網路每個單元能更加數據化、更加可測量。這也是互聯網信息共享的偉大之處。

另外,如果把蟻群比作互聯網上無數個「0101」組成的計算機代碼,就能以新思路設計更好的計算機程序——蟻群演算法程序,實踐證明它用來計算最優化路徑時特別有效。

然而還有問題需要深入研究,既然蟻群派出的螞蟻數量,取決於兩隻螞蟻觸角碰觸的次數和時間,那麼碰觸時,螞蟻到底「交流」了什麼信息?這些信息又怎樣決定了螞蟻的行為?螞蟻的個體行為,又怎樣決定了蟻群的整體行為?

如果這些問題都能進一步弄明白,或許就能完全解決今天網路擁堵的問題,又或許如果蟻群演算法提早發現,TCP歷史就會改寫,乃至不存在今天的問題。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 懂不懂常識 的精彩文章:

哭泣對我們的健康到底有多少好處?
大嘴巴還可以調節體溫的神奇鳥類!
科技探索:神奇的「飛天魔毯」
為什麼翔是黃色?體液的顏色從哪兒來?
月球周圍曾圍繞著若干個小月球,但由於月球失去平衡而消失了

TAG:懂不懂常識 |