計算的 фундаментальные физические пределы

哪些約束控制著計算的物理過程?例如,每個邏輯步驟是否需要最少的能量?似乎沒有最小值,但其他一些問題仍未解決

編者注(2011 年 6 月 1 日):為了配合 Vlatko Vedral 發表的關於熵和量子系統的論文,我們將在 30 天內免費提供這篇 1985 年 7 月文章的文字。他是我們的2011 年 6 月封面故事的作者,並在部落格中介紹了他的最新研究,其中討論了這篇 1985 年文章中介紹的研究。

計算,無論是透過電子機械、算盤還是大腦等生物系統執行,都是一個物理過程。它也受到適用於其他物理過程的相同問題的約束:執行特定計算必須消耗多少能量?需要多長時間?計算裝置必須有多大?換句話說,計算過程的物理極限是什麼?

到目前為止,提出這些問題比回答它們更容易。在我們發現的極限範圍內,它們與現代技術的實際極限相去甚遠。因此,我們不能自稱是在指導技術專家或工程師。我們所做的實際上更 фундаментальный. 我們正在尋找必須控制所有資訊處理的通用規律,無論它是如何實現的。我們發現的任何限制都必須完全基於 фундаментальные физические принципы,而不是基於我們目前可能正在使用的任何技術。


關於支援科學新聞業

如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞業 訂閱。透過購買訂閱,您正在幫助確保有關塑造我們今天世界的發現和想法的具有影響力的故事的未來。


這種 фундаментальный 檢查是有先例的。在 20 世紀 40 年代,貝爾電話實驗室的克勞德·E·夏農發現,透過噪聲通道傳輸的資訊量是有限制的;這些限制適用於訊息如何編碼為訊號,而與編碼方式無關。夏農的工作代表了現代資訊科學的誕生。更早的時候,在 19 世紀中後期,物理學家試圖確定蒸汽機效率的 фундаментальные физические пределы,從而創立了熱力學科學。大約在 1960 年,我們中的一位(蘭道爾)和 IBM 的約翰·斯旺森開始嘗試將同類型的分析應用於計算過程。自 20 世紀 70 年代中期以來,其他機構越來越多的工作人員進入了這個領域。

在我們對計算物理極限的分析中,我們使用資訊理論的技術意義上的術語“資訊”。在這個意義上,每當兩個先前不同的情況變得無法區分時,資訊就會被破壞。在沒有摩擦的物理系統中,資訊永遠不會被破壞;每當資訊被破壞時,都必須耗散一些能量(轉化為熱量)。例如,想象兩種容易區分的物理情況,例如橡膠球離地面一米或兩米。如果球被扔下,它會彈跳。如果沒有摩擦並且球是完全彈性的,觀察者將始終能夠分辨出球最初所處的狀態(即,它的初始高度是多少),因為從兩米高度掉落的球將比從一米高度掉落的球彈得更高。

但是,如果存在摩擦,球每次彈跳都會耗散少量能量,直到最終停止彈跳並靜止在地面上。然後,將不可能確定球的初始狀態是什麼;從兩米高度掉落的球將與從一米高度掉落的球相同。資訊將因能量耗散而丟失。

這是資訊破壞的另一個例子:表示式 2 + 2 比表示式 = 4 包含更多資訊。如果我們只知道我們添加了兩個數字得到 4,那麼我們不知道我們新增的是 1 + 3、2 + 2、0 + 4 還是其他數字對。由於輸出隱含在輸入中,因此任何計算都不會生成資訊

事實上,當前執行的計算依賴於許多破壞資訊的操作。所謂的門是一種具有兩條輸入線(每條輸入線可以設定為 1 或 0)和一個輸出的裝置,其值取決於輸入的值。如果兩個輸入都為 1,則輸出將為 1。如果其中一個輸入為 0 或者兩個輸入都為 0,則輸出也將為 0。任何時候門的輸出為 0,我們都會丟失資訊,因為我們不知道輸入線處於三種可能狀態中的哪一種(0 和 1、1 和 0 或 0 和 0)。事實上,任何輸入線多於輸出線的邏輯閘都不可避免地會丟棄資訊,因為我們無法從輸出推斷出輸入。每當我們使用這種“邏輯上不可逆”的門時,我們都會將能量耗散到環境中。擦除記憶體位是計算中經常使用的另一個操作,從根本上來說也是耗散的;當我們擦除一位時,我們會丟失有關該位先前狀態的所有資訊。

不可逆邏輯閘和擦除對於計算來說是必不可少的嗎?如果是這樣,我們執行的任何計算都必須耗散一些最小量的能量。

正如我們中的一位(貝內特)在 1973 年表明的那樣,它們並非必不可少。此結論後來在幾個模型中得到了證明;其中最容易描述的模型是基於所謂的“可逆邏輯元件”,例如弗雷德金門,以麻省理工學院的愛德華·弗雷德金命名。弗雷德金門有三條輸入線和三條輸出線。一條線上的輸入(稱為控制通道)不變地透過門。如果控制通道設定為 0,則其他兩條線上的輸入也保持不變地透過。但是,如果控制線為 1,則其他兩條線的輸出會切換:一條線的輸入變為另一條線的輸出,反之亦然。弗雷德金門不會丟棄任何資訊;始終可以從輸出推斷出輸入。

弗雷德金已經證明,計算機中所需的任何邏輯裝置都可以透過弗雷德金門的適當排列來實現。為了使計算工作,某些弗雷德金門的輸入線必須預設為特定值。

弗雷德金門比它們被製成模擬的門具有更多的輸出線。在計算過程中,會生成看似“垃圾位”的資訊位,這些資訊位沒有明顯的用途。如果我們想再次使用計算機,必須以某種方式清除這些位,但如果我們擦除它們,這將花費我們一直試圖避免的所有能量耗散。

實際上,這些位有一個最重要的用途。一旦我們複製了計算結果,它將駐留在正常的輸出位中,我們只需反向執行計算機即可。也就是說,我們將計算機正常執行產生的“垃圾位”和輸出位作為“輸入”輸入到計算機的“後端”。這是可能的,因為計算機中的每個邏輯閘本身都是可逆的。反向執行計算機不會丟棄任何資訊,因此不需要耗散任何能量。最終,計算機將完全恢復到計算開始之前的狀態。因此,可以完成一個“計算週期”,執行計算機,然後將其恢復到原始狀態,而無需耗散任何能量。

到目前為止,我們討論了一組邏輯運算,而不是物理裝置。然而,不難想象一個充當弗雷德金門的物理裝置。在這個裝置中,資訊通道由管道表示。一位資訊由特定管道段中是否存在球表示;球的存在表示 1,球的缺失表示 0。

控制線由一個狹窄的管道段表示,該管道段沿長度方向一分為二。當球進入管道的裂開段時,它會推開管道的兩半,從而啟動一個切換裝置。切換裝置引導可能在其他兩個管道中的任何輸入球:當控制線中存在球時,任何進入輸入管道的球都會自動重定向到另一個管道。為了確保當沒有控制球時開關關閉,有彈簧將裂開管道的兩半固定在一起。進入裂開管道的球在壓縮彈簧時必須消耗能量,但這種能量不會丟失;當控制球離開裂開管道並且彈簧膨脹時,可以回收這種能量。

所有球都連線在一起,並透過一個機構向前推動,以便它們同步移動;否則,我們無法確保各種輸入球和控制球同時到達邏輯閘。從某種意義上說,計算的向前進展實際上是沿著單個自由度的運動,就像剛性連線到同一軸上的兩個輪子的運動一樣。計算完成後,我們向後推動所有球,撤消所有操作,並將計算機恢復到其初始狀態。

如果整個元件浸沒在理想的粘性流體中,那麼作用在球上的摩擦力將與它們的速度成正比;將沒有靜摩擦。因此,如果我們滿足於緩慢移動球,則摩擦力將非常弱。在任何機械系統中,必須消耗的能量以對抗摩擦力等於摩擦力與系統行進距離的乘積。(因此,游泳者在兩點之間遊得越快,他或她消耗的能量就越多,儘管無論游泳者是快還是慢,行進的距離都是相同的。)如果我們以低速透過弗雷德金門移動球,那麼消耗的能量(力與距離的乘積)將非常小,因為摩擦力直接取決於球的速度。事實上,我們可以根據需要消耗盡可能少的能量,只需花費很長時間來執行操作即可。因此,為了執行任何給定的計算,不需要耗散最小量的能量。

如果機器執行非常緩慢,則該模型中損失給摩擦的能量將非常小。是否有可能設計一種更理想化的機器,可以在沒有任何摩擦的情況下進行計算?或者摩擦對於計算過程是必不可少的嗎?弗雷德金與托馬索·託福利和麻省理工學院的其他人士一起證明,事實並非如此。

他們證明,可以透過相互發射理想的、無摩擦的檯球來進行計算。在臺球模型中,完美反射的“鏡子”(重定向球運動的表面)以這樣的方式排列,即球在桌子上的運動模擬資訊位透過邏輯閘的運動。與以前一樣,計算機特定部分中球的存在表示 1,而球的缺失表示 0。如果兩個球同時到達邏輯閘,它們會碰撞,它們的路徑會改變;它們的新路徑表示門的輸出。弗雷德金、託福利和其他人描述了與不同型別的邏輯閘相對應的鏡子排列,他們已經證明可以構建臺球模型來模擬計算所需的任何邏輯元件。

為了開始計算,我們將檯球發射到計算機中,無論我們希望輸入 1 的位置。球必須同時進入機器。由於它們是完全彈性的,因此它們在碰撞時不會損失能量;它們將以我們在開始時給它們的相同動能從計算機中出來。

在執行中,檯球計算機會產生“垃圾位”,就像由弗雷德金門構建的計算機一樣。在計算機得出答案後,我們將檯球反射回計算機,撤消計算。它們將從機器中出來,位置與我們傳送它們的位置完全相同,速度也相同。然後可以使用將它們發射到計算機中的機構來吸收它們的動能。我們將再次執行計算並將計算機恢復到其初始狀態,而不會耗散能量。

檯球計算機有一個主要缺陷:它對輕微錯誤極其敏感。如果球的目標稍微不正確,或者鏡子傾斜的角度稍微錯誤,則球的軌跡會偏離方向。一個或多個球將偏離其預期路徑,並且隨著時間的推移,錯誤將結合起來使整個計算無效。即使可以製造出完全彈性和無摩擦的檯球,構成它們的分子中的少量隨機熱運動也足以在幾十次碰撞後引起錯誤。

當然,我們可以安裝某種糾正裝置,將任何偏離方向的檯球返回到其所需的路徑,但這樣我們就會抹去有關球早期歷史的資訊。例如,我們可能會丟棄有關鏡子傾斜不正確的程度的資訊。丟棄資訊,即使是為了糾正錯誤,也只能在存在摩擦和能量損失的系統中完成。因此,任何校正裝置都必須耗散一些能量。

如果使用微觀或亞微觀粒子(例如電子)代替檯球,則可以使檯球計算機中固有的許多困難不那麼極端。正如現在在洛斯阿拉莫斯國家實驗室的 Wojciech H. Zurek 所指出的那樣,量子定律可以將粒子限制在少數運動狀態,從而消除粒子可能少量偏離方向的可能性。

儘管到目前為止的討論主要基於經典動力學,但幾位研究人員已經提出了其他基於量子力學原理的可逆計算機。這些計算機最初由阿貢國家實驗室的保羅·貝尼奧夫提出,並由其他研究人員(特別是加州理工學院的理查德·P·費曼)改進,到目前為止僅以最抽象的術語進行了描述。本質上,這些計算機中的粒子將以這樣的方式排列,即控制它們相互作用的量子力學規則將與描述各種可逆邏輯閘的預測輸出的規則完全類似。例如,假設粒子的自旋只能有兩個可能的值:向上(對應於二進位制 1)和向下(對應於 0)。粒子自旋之間的相互作用可以以這樣的方式規定,即一個粒子的自旋值會根據附近粒子的自旋而變化;粒子的自旋將對應於邏輯閘的輸出之一。

到目前為止,本次討論的重點是資訊處理。計算機必須儲存資訊以及處理資訊。儲存和處理之間的相互作用最好用一種名為圖靈機的裝置來描述,該裝置以艾倫·M·圖靈的名字命名,他於 1936 年首次提出了這種機器。圖靈機可以執行現代計算機可以執行的任何計算。我們中的一位(貝內特)已經證明,可以構建可逆圖靈機:一種不丟棄資訊且可以以使用者希望的儘可能小的能量消耗執行的圖靈機。

圖靈機有幾個元件。有一個磁帶,分為離散的幀或段,每個幀或段都標有 0 或 1;這些位代表輸入。“讀/寫頭”沿著磁帶移動。磁頭有幾個功能。它可以一次讀取磁帶的一位,它可以將一位列印到磁帶上,並且可以將其位置向左或向右移動一個段。為了記住從一個週期到下一個週期它正在做什麼,磁頭機制有許多不同的“狀態”;每個狀態構成

在每個週期中,磁頭讀取它當前佔據的段上的位;然後它在磁帶上列印一個新位,更改其內部狀態,並向左或向右移動一個段。它列印的位、它變為的狀態以及它移動的方向由一組固定的轉換規則確定。每個規則指定一組特定的操作。機器遵循哪個規則取決於磁頭的狀態以及它從磁帶上讀取的位的值。例如,一個規則可能是:“如果磁頭處於狀態A並且位於列印有 0 的磁帶段上,它應該將該位更改為 1,將其狀態更改為狀態B,並向右移動一個段。”轉換規則可能會指示機器不要更改其內部狀態,不要在磁帶上列印新位或停止其操作。並非所有圖靈機都是可逆的,但可以構建可逆圖靈機來執行任何可能的計算。

可逆圖靈機模型比無摩擦檯球計算機等機器具有優勢。在臺球計算機中,隨機熱運動會導致不可避免的錯誤。可逆圖靈機模型實際上利用了隨機熱運動:它們的構造方式是,熱運動本身,在非常微弱的驅動力的輔助下,將機器從一個狀態移動到下一個狀態。計算的進展類似於離子(帶電粒子)懸浮在弱電場中的溶液中的運動。從短期來看,離子的運動似乎是隨機的;它在一個方向上移動的可能性幾乎與在另一個方向上移動的可能性相同。然而,施加的電場力賦予淨運動一個優選方向:離子在一個方向上移動的可能性比在另一個方向上移動的可能性稍大。

起初,似乎難以想象,在一個運動方向在任何時候都幾乎是隨機的裝置中,可以實現有目的的操作序列,例如計算。然而,這種操作風格在化學反應的微觀世界中非常常見。在那裡,布朗運動或隨機熱運動的試錯行為足以使反應物分子接觸,將它們定向和彎曲成它們反應所需的特定構象,並在反應後分離產物分子。所有化學反應原則上都是可逆的:完成正向反應的相同布朗運動有時會將產物分子聚集在一起,並將它們向後推過過渡。在平衡狀態下,反向反應發生的可能性與正向反應發生的可能性相同。

為了保持反應朝正向移動,我們必須供應反應物分子並去除產物分子;實際上,我們必須提供一個小的驅動力。當驅動力非常小時,反應將採取幾乎與正向步驟一樣多的反向步驟,但平均而言,它將向前移動。為了提供驅動力,我們必須消耗能量,但就像我們在弗雷德金門的球和管道實現中一樣,總能量可以小到我們希望的程度;如果我們願意為操作花費很長時間,則不需要耗散最小量的能量。原因是耗散的總能量取決於正向步驟數除以反向步驟數的比率。(它實際上與該比率的對數成正比,但隨著比率的增加或減少,其對數也會增加或減少。)反應向前移動得越慢,比率就越小。(游泳者速度快慢的類比再次有效:如果反應移動緩慢,則向前進行相同淨反應步驟數所需的總能量更少。)

我們可以透過檢查自然界中已經存在的布朗磁帶複製機來了解布朗圖靈機的工作原理:RNA 聚合酶,一種幫助構建構成基因的 DNA 的 RNA 副本的酶。DNA 的單鏈非常像圖靈機的磁帶。沿著鏈的每個位置,都有四種“鹼基”之一:腺嘌呤、鳥嘌呤、胞嘧啶或胸腺嘧啶(縮寫為A、G、C 和 I)。RNA 是一種類似的鏈狀分子,其四種鹼基,腺嘌呤、鳥嘌呤、胞嘧啶和尿嘧啶(A. G. C 和 U)與“互補”DNA 鹼基結合。

RNA 聚合酶催化這種配對反應。DNA 螺旋通常被包含大量核苷三磷酸分子的溶液包圍,每個分子由與糖和三個磷酸基團尾部連線的 RNA 鹼基組成。RNA 聚合酶從溶液中選擇與 DNA 鏈上即將複製的鹼基互補的單個 RNA 鹼基。然後,它將新鹼基連線到正在生長的 RNA 鏈的末端,並將兩個磷酸鹽作為遊離焦磷酸離子釋放到周圍的溶液中。然後,酶沿著 DNA 鏈向前移動一個刻度,為連線下一個 RNA 鹼基做準備。結果是 RNA 鏈,它與 DNA 的模板鏈互補。如果沒有 RNA 聚合酶,這組反應會發生得非常緩慢,並且幾乎無法保證 RNA 和 DNA 分子是互補的。

這些反應是可逆的:有時酶會吸收遊離的焦磷酸離子,將其與 RNA 鏈上的最後一個鹼基結合,並將產生的核苷三磷酸分子釋放到周圍的溶液中,同時沿著 DNA 鏈向後移動一個刻度。在平衡狀態下,正向步驟和反向步驟將以相同的頻率發生;通常,其他代謝過程透過去除焦磷酸鹽並提供四種核苷三磷酸鹽來驅動反應向前進行。

在實驗室中,RNA 聚合酶起作用的速度可以透過調整反應物的濃度來改變(正如加州大學伯克利分校的朱迪思·萊文和邁克爾·J·錢伯林所證明的那樣)。隨著濃度越來越接近平衡,酶的工作速度會變慢,並且耗散更少的能量來複制給定的 DNA 片段,因為正向步驟與反向步驟的比率更小。

儘管 RNA 聚合酶僅僅複製資訊而不處理資訊,但相對容易想象一個假設的化學圖靈機如何工作。磁帶是單個長主鏈分子,二進位制 0 和 1 的兩種型別的鹼基週期性地附著在其上。一個小型的附加分子附著在鏈上一個位置的 0 或 1 基團上。這個附加分子的位置代表圖靈機磁頭的位置。有幾種不同型別的“磁頭分子”,每種型別代表不同的機器狀態。

機器的轉換規則由酶表示。每種酶都能夠催化一種特定的反應。這些酶的工作方式最好透過一個例子來演示。

假設磁頭分子是 A 型(表明機器處於狀態A),並且附著在 0 鹼基上。還假設以下轉換規則適用:“當磁頭處於狀態A並讀取 0 時,將 0 更改為 1,將狀態更改為B,並向‘右’移動。”代表此規則的酶分子具有一個位點,該位點適合附著在 1 鹼基上的 A 型磁頭分子。它還具有一個適合 0 鹼基的位點和一個適合B磁頭的位點 [參見對面頁面的插圖)。

為了實現轉換,酶分子首先接近磁帶分子,位置恰好在A磁頭所在鹼基的“右側”。然後,它從磁帶上分離出磁頭分子和磁頭所附著的 0 鹼基,並在它們的位置放置一個 1 鹼基。接下來,它將B磁頭附著到位於剛剛新增到磁帶的 1 鹼基右側的鹼基上。此時,轉換完成。磁頭的原始位點從 0 更改為 1,磁頭分子現在是B型,並且它附著在位於先前磁頭位置右側一個刻度的鹼基上。

在布朗圖靈機執行期間,磁帶必須浸沒在包含許多酶分子以及額外的 0、1、AB的溶液中。為了驅動反應向前進行,必須有其他反應來清除酶分子上分離的磁頭和鹼基。清除酶分子的反應物的濃度代表驅動圖靈機前進的力。同樣,我們可以根據需要消耗盡可能少的能量,只需非常緩慢地驅動機器前進即可。

酶促圖靈機並非沒有錯誤。有時可能會發生不由任何酶催化的反應;例如,0 鹼基可能會自發地從主鏈分子上分離出來,並且可以在其位置附著一個 1 鹼基。類似的錯誤確實發生在 RNA 合成過程中。

原則上,可以透過使用剛性、無摩擦的發條裝置構建布朗圖靈機來消除錯誤。發條圖靈機比檯球計算機涉及的理想化程度較低,但比酶促圖靈機涉及的理想化程度更高。一方面,它的零件不需要像檯球那樣製造到完美的公差;零件鬆散地裝配在一起,即使在存在大量熱噪聲的情況下,機器也可以執行。儘管如此,它的零件必須是完全剛性的並且沒有靜摩擦,這是在任何宏觀物體中都找不到的特性。

由於機器的零件鬆散地裝配在一起,因此它們不是透過摩擦力而是透過相鄰零件中的凹槽或凹口固定到位。儘管機器的每個零件都可以自由地稍微晃動,就像磨損良好的木製拼圖的碎片一樣,但整個機器只能遵循一條“計算路徑”。也就是說,機器的零件以這樣的方式互鎖,即在任何時候,機器只能進行兩種大規模運動:對應於正向計算步驟的運動和對應於反向步驟的運動。

計算機進行這種轉換隻是其零件的隨機熱運動在微弱外力偏置下的偶然結果。它向後沿著計算路徑進行的可能性幾乎與向前進行的可能性相同,從而撤消最近的轉換。一個小的外力驅動計算向前進行。這種力可以再次小到我們希望的程度,因此為了執行布朗發條圖靈機,不需要耗散最小量的能量。

根據經典熱力學,執行計算不需要最小量的能量。經典熱力學分析是否與量子理論相沖突?畢竟,量子力學不確定性原理指出,我們對過程所需時間的不確定性與我們對過程涉及多少能量的不確定性之間必須存在反比關係。一些研究人員認為,在短時間內發生的任何切換過程都必須涉及最小的能量消耗。

事實上,不確定性原理並不要求快速切換事件有任何最小能量消耗。只有當我們試圖測量事件發生的精確時間時,不確定性原理才適用。即使在量子力學中,極快的事件也可能在不損失任何能量的情況下發生。當我們記住貝尼奧夫和其他人已經開發出不耗散能量並遵守量子力學定律的可逆量子力學計算機模型時,我們對量子力學允許在沒有任何最小能量消耗的情況下進行計算的信心得到了增強。

因此,不確定性原理似乎沒有對計算過程施加 фундаментальный предел;經典熱力學也沒有。這是否意味著計算沒有物理限制?遠非如此。真正的限制與比我們在本文中提出的問題更難回答的問題有關。

例如, элементарный 邏輯運算是否需要一些最短時間?能夠完成此類操作的最小可能裝置是什麼?由於尺寸和時間尺度透過光速連線,因此這兩個問題很可能具有相關的答案。但是,在我們確定宇宙時間和長度尺度中是否存在某種最終的粒度之前,我們可能無法找到這些答案。

在另一個極端,我們可以使計算機記憶體有多大?為了這個目的,我們可以將宇宙中的多少粒子聚集在一起並保持在一起?計算機記憶體的最大可能大小限制了我們可以計算的精度。例如,它將限制我們可以計算 pi 的小數位數。真實計算機中不可避免的劣化過程提出了另一個可能相關的問題:劣化是否至少在原則上可以降低到任何期望的程度,或者它是否對我們可以投入到任何一次計算中的最長時間施加限制?也就是說,是否存在某些計算無法在計算機硬體衰變為無用之前完成?

這些問題實際上關係到對數學運算的物理執行的限制。物理定律是答案最終必須基於的定律,它們本身以這種數學運算的形式表達。因此,我們正在詢問物理定律可以應用的最終形式,考慮到宇宙施加的約束,而定律本身描述了宇宙。

© .