【電腦科學】那些果蠅教電腦的事

■ 昆蟲的神經細胞佈局模式給了電腦學者靈感,可以讓無線感測器網路變得更有效率。

從果蠅細胞中學到新的演算法。圖片取自《科學》期刊。

編譯 ∣ Gerda

  小小果蠅或許能夠解開煩惱電腦學家幾十年的問題。藉由模仿果蠅神經細胞如何挑選領導者,電腦學家找到了一種演算法,能夠提升無線感測器網路(wireless sensor networks)的效率,如此一來,監測火山群活動、控制一大群機器人都會變簡單。

  在這個聰明的網路裡,有些感測器扮演發號施令的角色,一旦接收到夠多火山疑似甦醒的訊息,便可以警告內部。這項新發現刊登於今年一月十三號的《科學》期刊,可以節省感測器之間不必要的串擾(cross-talk),節省能源跟運算成本。

  電腦生物學家巴喬瑟夫(Ziv Bar-Joseph)從同事的某項果蠅研究裡獲得靈感,認為電腦分散式計算(distributed computing)的問題也可以用類似的方式解決。在分散式計算的狀態下,很多台電腦處理器都朝著同一的目標工作,盡可能減少發號施令。只有少數處理器(通常是鄰居多的那些處理器)被指派為接收外界訊息與對內傳遞之用。

  巴喬瑟夫是卡內基美隆大學的研究者,他說做電腦科學的人通常預先指定哪些事情是處理器該知道的,不過細胞不太需要蒐集自己鄰居的資訊,一樣可以工作。「生物細胞在一個較受限制的環境下運作,不過一樣有辦法解決問題。」

  果蠅幼蟲成長時,有些細胞承擔特定的工作,諸如變成感覺鬃(sensory bristles)的前驅細胞,負責感應外界的空氣變化。每個感覺鬃都環繞著非感覺鬃細胞。但在這些佈局中,並沒有哪兩個特化的細胞是緊緊相連的。巴喬瑟夫認為,這跟分散式計算的工作分配模式似乎很像。

  三十年來,電腦科學家都相信把主導的工作指派給與網路中其他成員溝通最快的處理器是最有效率的作法,每個處理器都得接收旁邊鄰居的訊息。有些處理器會將自己視為領袖,這要看他們跟其餘多少處理器連接。

  不過年輕果蠅的神經細胞並不是如此,它們或許根本不知道附近的細胞在幹嘛,不過還是能夠發展成感覺鬃。一旦哪個細胞決定要變成感覺鬃細胞,它就發送蛋白質訊號,抑制其他鄰近細胞也變成感覺鬃。

  巴喬瑟夫與其同事的報告指出,果蠅的訣竅在於運用時間控制而非鄰居數量來決定哪個細胞要發展為感覺鬃。如果細胞沒有接收到任何禁止它變成感覺鬃的指令,它就可以變成感覺鬃,就這麼簡單。演算法也可以如法炮製,無須浪費時間跟能源收集周邊感應器的訊息。

  巴喬瑟夫說:「現在你根本不用搞清楚你的鄰居有多少個,感應器同樣能運作。」

  牛津大學的弗萊克(Mark Fricker)說,這項作法是個「福音」。弗萊克正試圖用黏菌運動模型(slime mold behavior)改進網路效率。「他們用完善的生物發展系統來解決既有的問題,顯示計算機網路架構可以重新配置成更快速也更有效的模式。」

  

原文出處:A Biological Solution to a Fundamental Distributed Computing ProblemScience
411 人瀏覽過

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

為了避免你是機器人,請在留言前回答以下問題: