在佐治亞理工學院的一個實驗室裡,物理學家們用一些看起來像是從廉價商店買來的機器人做實驗。這些機器人無法在空間中移動。它們無法交流。它們大部分時間都在拍打著小胳膊,就像甲蟲四腳朝天被困住一樣。
但是,把很多這樣的物體放在一起,你就能從無到有地得到一些東西:它們互相碰撞、互相推擠、互相纏繞。最終,它們開始作為一個單元運作。
支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道: 訂閱。透過購買訂閱,您將幫助確保未來能夠繼續刊登關於塑造我們當今世界的發現和想法的具有影響力的報道。
研究人員正在學習如何控制這些系統,使其以類似於蜂群或蟻群的方式運作:每個個體都根據同一套基本指令做出反應。但是,當群體聚集在一起時,其成員無需任何中心化指揮即可執行復雜的行為。
佐治亞理工學院的計算機科學家,同時也是該專案的主要研究人員之一 達納·蘭德爾 (Dana Randall) 說:“我們的整體視角是:實現這些複雜任務的最簡單的計算模型是什麼?我們追求的是優雅和簡潔。”
作為一名計算機科學家,蘭德爾從演算法的角度思考這個問題:一個群體中的個體元素可以執行的最基本的指令集是什麼?基於它們可以收集到的少量資料,這些指令集將不可避免地導致研究人員想要的複雜集體行為?去年 11 月,蘭德爾和同事們發表了一種演算法,該演算法確保理想化的粒子群將以協調一致的方式移動。
對這些被稱為“智慧粒子 (smarticles)” 的機器人的研究,是人們對自組織機器人的可行性和應用更廣泛興趣的一部分。其他例子包括科羅拉多大學正在開發的“液滴”大小的機器人,哈佛大學的 “千機器人 (Kilobot)” 群,以及來自比利時一家先驅實驗室的群體機器人 (swarmanoids)。在許多這些案例中,其想法是模仿自然界中發現的湧現現象,例如分散的軍蟻群體的有規律運動,或 DNA 分子的無意識、自程式設計組裝。
哈佛大學從事群體機器人研究的研究員 梅爾文·高奇 (Melvin Gauci) 說:“我們知道我們希望群體做什麼,但為了對其進行程式設計,我們需要知道每個個體在個體層面上必須做什麼。在這兩個層面之間轉換是非常具有挑戰性的。”
謹防領導者
丹尼爾·戈德曼 (Daniel Goldman) 是佐治亞理工學院的一位物理學家,他正在領導智慧粒子 (smarticles) 的實驗(“智慧活性粒子 (smart active particles)” 的混成詞)。他最基本的科學興趣在於活性顆粒材料的物理學,這些材料具有改變自身形狀的能力。在他帶到會議上的幻燈片中,他包含了一個來自《蜘蛛俠 3》的片段,該片段展示了 超級反派沙人的誕生:鬆散的沙粒在沙漠中飛散,然後凝結成人的形狀。智慧粒子 (smarticles) 是戈德曼在實驗室中測試活性顆粒材料的方式。
戈德曼說:“它們為我們提供了一種利用幾何形狀來控制材料特性的方法。如果你眯起眼睛,你可以將這些智慧粒子 (smarticles) 的集合視為一種真實的材料。”
智慧粒子 (smarticles) 有短臂,就像訂書釘的叉腳,它們可以來回擺動。它們對不同頻率的光和聲音做出反應。它們還可以被程式設計為根據它們在附近遇到的其他智慧粒子 (smarticles) 來調整手臂擺動的速率。
你可能希望智慧粒子 (smarticles) 群執行一些基本操作:壓縮(聚集在一起)、擴張(擴散開來)和運動。這些操作可以作為更復雜壯舉的構建模組,但即使是最基本的功能,如壓縮,在沒有任何智慧粒子 (smarticles) 知道它們相對於整個群體的位置的情況下,也很難實現工程化。
為了理解從簡單部件工程化複雜行為的機會和挑戰,值得記住一個單獨的智慧粒子 (smarticle) 知道什麼。答案是:不多。它看不到東西,它的記憶力有限,而且它唯一知道的關於它應該與之協調的其他智慧粒子 (smarticles) 的資訊,就是它可以從碰撞到其直接鄰居那裡學到的東西。
亞利桑那州立大學計算機科學專業的研究生,智慧粒子 (smarticles) 專案的研究人員約書亞·戴穆德 (Joshua Daymude) 說:“想象一下,一個人在搖滾音樂會上閉著眼睛。”
一種策略是指定一個領導者來協調群體,但這種方法很容易受到破壞——如果領導者倒下,整個群體就會倒下。另一種方法是給群體中的每個機器人分配一項獨特的工作來執行,但這在大規模實施中是不切實際的。“單獨程式設計 1000 個機器人基本上是不可能的任務,”奧林工程學院的研究員,哈佛大學自組織系統研究小組的前成員 傑夫·杜塞克 (Jeff Dusek) 說。他曾在該研究小組研究水下機器人群。但是,“如果每個智慧體都遵循相同的規則集,那麼無論你有 10 個、1000 個還是 10000 個智慧體,你的程式碼都是完全相同的。”
用於程式設計一個群體的演算法具有兩個屬性。首先,它是分散式的,這意味著它在系統中的每個單獨粒子上單獨執行(就像每隻軍蟻根據它對其區域性環境的感知執行相同的簡單指令集一樣)。其次,它包含隨機性。這意味著,例如,如果一隻軍蟻感知到它周圍有五隻其他軍蟻,那麼它可能有 20% 的機率向左移動,80% 的機率向右移動。隨機演算法與確定性演算法形成對比,在確定性演算法中,每個步驟都完全由之前的步驟決定。
隨機性在演算法中可能看起來不受歡迎——畢竟,當你實現一個過程時,你通常希望對結果有一定的把握。但隨機性也傳達了一些令人驚訝的效能優勢,除其他外,這些優勢使隨機演算法非常適合應用於智慧粒子 (smarticle) 群。
隨機保證
2015 年,戈德曼和蘭德爾正在討論尋找規則的可能性,這些規則將引導戈德曼的智慧粒子 (smarticles) 作為一個群體協調一致地行動。蘭德爾意識到,戈德曼追求的群體行為類似於計算機科學中研究的理想化粒子系統的行為。
蘭德爾說:“我就像,‘我完全知道發生了什麼。’”
對於蘭德爾來說,智慧粒子 (smarticles) 的行為類似於計算機科學家在許多其他背景下建模的湧現現象。最著名的例子之一是隔離社群是如何形成的。在 20 世紀 60 年代後期,經濟學家托馬斯·謝林 (Thomas Schelling) 想要了解在沒有任何中心化權力將人們按膚色分類到社群的情況下,住房隔離是如何形成的。他想象一個人看著他的鄰居,並根據他們中有多少人看起來像他來決定搬到別處。當這個人搬走後,謝林將他轉移到住房網格中的一個隨機位置,在那裡他重複觀察鄰居並決定是否留下來的演算法過程。謝林發現,根據他的規則,即使個人更喜歡住在多元化的社群,住宅隔離也幾乎肯定會發生。
蘭德爾意識到,群體中的智慧粒子 (smarticles) 類似於謝林模型中的人。在這兩種情況下,個體都必須在不知道其全域性位置的情況下做出決定(他們只知道他們周圍能看到什麼)。在謝林的模型中,決策可以帶有一些隨機性——如果你的鄰居看起來與你不同,那麼你很可能搬走,但也有一小部分機率你選擇留在原地。
2016 年,蘭德爾和她的合作者發表了一篇論文,該論文設想理想化的粒子生活在一個網格上,並根據它們觀察到周圍有多少其他粒子來決定是否移動或留在原地。決策是機率性的——粒子基本上會在每次做出選擇時“擲”一個加權骰子。蘭德爾和她的合著者證明,如果他們正確地加權骰子,他們就能保證最終得到一個壓縮的群體(就像謝林可以證明,如果他將個人對多樣性的容忍度設定在正確的水平,隔離是不可避免的一樣)。透過調整演算法中的引數,他們還可以保證粒子群會移動到擴張狀態。
演算法中的隨機性有助於群體中的粒子避免陷入區域性壓縮狀態,在區域性壓縮狀態下,許多孤立的子群聚集在一起,但整個群體並沒有被壓縮。隨機性確保瞭如果智慧粒子 (smarticles) 最終進入小的壓縮組,個體仍然有機會決定移動到新的位置,從而保持過程的活力,直到達到整體壓縮狀態。(只需要一點隨機性就可以將粒子從區域性壓縮狀態中推出來——需要更多的隨機性才能將它們從全域性壓縮狀態中推出來。)
走向世界
證明理論世界中的粒子可以執行一個簡單的演算法並實現特定的群體行為是一回事。真正在廉價、有缺陷的、現實生活中的智慧粒子 (smarticles) 在盒子裡叮噹作響地實現該演算法又是另一回事。
戈德曼說:“我們的理論合作者正在想出對這些東西進行程式設計的方法,但我們才剛剛開始,我們還不能說這些方案已經被直接轉移過來。”
一個問題是如何讓智慧粒子 (smarticles) 作為一個群體移動。起初,如果研究人員將智慧粒子 (smarticles) 擠在一個狹小的空間裡,整個集合只會隨機地蹣跚而行。
但是有一天,物理學家們正在觀察這種混亂的運動,這時其中一個智慧粒子 (smarticle) 的電池沒電了。戈德曼和他的合作者注意到,群體突然開始朝著失效單元的方向移動。研究人員向他們的計算機科學合作者報告了這一意外發現,計算機科學合作者抓住了這個線索。這項工作促成了最近一種演算法的開發,該演算法將始終使理想化的群體朝著指定的方向移動。
計算機科學實驗和物理實驗正在一點一點地靠攏。研究人員希望最終從理論上證明,在一個由大量小型廉價機器人以分散式方式實現的基本演算法,能夠保證產生指定的群體行為。
戴穆德說:“我們希望能夠發展到這樣的程度:不是電池沒電了,我們才發現了一種現象。我們希望它更具意圖性。”
編者注 (4/23/18):本·羅林斯 (Ben Rollins) 被錯誤地署名為本文的作者。作者是凱文·哈特內特 (Kevin Hartnett)。
經《量子雜誌》許可轉載,《量子雜誌》是 西蒙斯基金會 旗下的一個編輯上獨立的出版物,其使命是透過報道數學、物理和生命科學領域的研究進展和趨勢,增進公眾對科學的理解。
