螞蟻覓食和網際網路演算法

2021-06-08 23:32:15 字數 1464 閱讀 9250

人類和螞蟻的區別是什麼?螞蟻沒有網際網路。

相對於擁有創造性思維的人類,螞蟻看起來不過是依賴於本能的生物。不過,史丹福大學兩位科學家發現,螞蟻比我們想象的要聰明的多,雖然它們沒有發明網際網路,但是卻懂得網際網路上的演算法。在史丹福大學**上,講述了這個有趣的發現。

生物學教授 deborah gordon 在觀察亞利桑那州的農田蟻時,發現了它們在尋食時的特別行為,於是找到了計算機科學家 balaji prabhakar **這件事情。balaji probhakar 雖然是網路檔案傳輸方面的專家,但是並沒有立刻意識到這跟計算機有何關聯。到了第二天,靈感突然來襲,他突然想到,螞蟻的行為和網際網路上檔案傳輸竟然非常相似。prabhaker 說,「螞蟻用來了解可獲得食物數量的演算法,從本質上和 tcp 中使用的演算法一樣。」

tcp,即傳輸控制協議,是網際網路最重要的協議之一。它被用來管理網際網路上的資料擁塞。正是由於 tcp 協議,我們的網路才能從最早的幾十個節點發展到今天的上億個節點。它的工作原理是這樣的:作為資料來源的 a 將檔案傳送到終點 b,檔案被分解成無數的資料報。當 b 接受到乙個資料報後,向 a 傳送一條確認,以表示資料報已經送達。

這樣做的好處是可以避免資料擁塞。如果 b 確認速度慢,證明現在頻寬不夠,a 可以根據情況減緩資料傳輸;如果 b 確認的速度快,a 則會加快傳輸速度。通過這個過程可以確定可使用的頻寬,並相應增減傳輸速度。

gordon 發現農田蟻的行為非常類似。它們派出覓食蟻前去覓食。如果食物多的話,覓食蟻會很快回來,然後更多的螞蟻離開巢穴去覓食;如果覓食蟻空手回來,蟻群的覓食行為將減少,甚至停止。

根據這種情況,probkahar 編寫了乙個演算法,根據食物的數量來**蟻群的覓食行為,而 gordon 通過實驗來進行證實。他們發現,以 tcp 為基礎的演算法幾乎準確的**了螞蟻的行為。

「螞蟻們發現了我們熟知的演算法,而且他們已經使用了百萬年了」。prabhakar 說。

他們還發現了螞蟻遵循 tcp 演算法的另兩個規則。乙個叫做慢啟動,在資料傳輸開始的時候,資料來源會發出大量的資料報來估測頻寬;同樣,當蟻群開始覓食之前,他們會放出覓食蟻去偵測食物數量。

另乙個叫做超時。當資料傳輸的鏈結中斷或被干擾,資料來源會停止發生資料報;同樣,當覓食蟻超過 20 分鐘沒有回巢,其它的覓食螞蟻將不會離開巢穴。

gordon 則認為,在蟻群行為如何幫助我們設計網路系統上,科學家們剛剛接觸到了表層部分。目前有 1 萬 1 千種螞蟻,生活在各種環境中,處理著各種不同的生態問題,螞蟻們做事的方式是我們所料想不到的,但是可能被用於計算機系統中。每個螞蟻的能力有限,但是蟻群能夠完成複雜的任務。

「因此螞蟻的演算法必定是簡單、分布式、可擴充套件的,這正是我們在設計龐大的人工分布式系統時所需要的特性。」她說,「我認為,當我們更多的了解不同型別的螞蟻是如何規範自身行為後,能夠為網路演算法找到許多有用的例子。」

螞蟻和演算法,看起來是不可思議的聯絡,但是自然的奇妙之處常常超越我們的想象。人類發現的各種演算法和模型,看似是自己思維的創造,卻常常能夠在自然中找到各種例項。這不禁讓人產生奇特的幻想。或者,我們生活的世界真的是一部由演算法驅動的機器,誰知道呢?

mysql 網際網路 MySQL網際網路業務使用建議

一 基礎規範 表儲存引擎必須使用innodb 表字符集預設使用utf8,必要時候使用utf8mb4 解讀 1 通用,無亂碼風險,漢字3位元組,英文1位元組 2 utf8mb4是utf8的超集,有儲存4位元組例如表情符號時,使用它 禁止使用儲存過程,檢視,觸發器,event 解讀 1 對資料庫效能影響...

網際網路與網際網路的區別

網際網路的英文單詞是 internet,網際網路的英文單詞是 internet。在英語中,專有名詞首字母都是大寫,用於特指某一事物。大寫的 internet 是作為乙個專有名詞出現的,所指的是由阿帕網發展而來的現如今全球最大的計算機網路,稱之為網際網路。小寫 internet 是作為乙個普通單詞出現...

網際網路之父Vint Cerf 網際網路的下乙個十年

據國外 報道,谷歌在自己的官方部落格上發表了對網際網路未來發展的觀點。在採訪了10位頂級電腦專家後,google首席網際網路顧問 有網際網路之父美譽的 vint cerf發表文章認為,10年來網際網路的發展對人們的生活產生了巨大影響,改變了政治 娛樂 文化 商業 醫療 環境和所有能想到的東西。未來網...