本文發表於《大眾科學》的前部落格網路,反映了作者的觀點,不一定代表《大眾科學》的觀點
這是我在一個最近的演講的編輯稿,我在區塊鏈會議上發表了演講,我在會上說我將討論“當計算智慧和計算合約無處不在時,世界會是什麼樣子?”
我們今天生活在一個有趣的時代——一個我們剛剛開始看到我們可能稱之為“計算的力量”的含義的時代。最終,它將影響幾乎所有事物。而將要發生的事情實際上是一個關於人類狀況、人類文明的成就以及我們稱之為計算的這種事物的基本性質之間相互作用的深刻故事。
那麼,什麼是計算?嗯,它是當你遵循規則,或者我們稱之為程式時發生的事情。當然,我們人類編寫了很多程式來做特定的事情。但是一般的程式呢——抽象的程式呢?嗯,那裡存在著一個無限的可能程式的宇宙。多年前,我把我的望遠鏡的模擬物轉向了那個計算宇宙。這就是我看到的
關於支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保有關塑造我們當今世界的發現和想法的有影響力的故事的未來。
在 Wolfram 語言中建立的細胞自動機陣列。圖片來源:Wolfram Research。
每個方框代表一個不同的簡單程式。通常它們只是做一些簡單的事情。但更仔細地看。有一個很大的驚喜。這是我看到的第一個例子——規則 30
規則 30:在 Wolfram 語言中建立的細胞自動機視覺化。圖片來源:Wolfram Research。
[[在此處插入 Rule30.png]]
你從一個單元格開始,你只需遵循那個簡單的程式——但這就是你得到的:所有這些複雜性。起初,很難相信你可以從如此少的東西中獲得如此多的東西。但看到這一點改變了我的整個世界觀,讓我意識到計算的力量有多麼強大。
因為那是製造所有複雜性的原因。那也是讓大自然——看似毫不費力地——製造它所做的複雜性的原因。它也是讓數學具有如此豐富的內涵的原因。它為我們人類可能做的一切事情提供了原材料。
現在的事實是,我們才剛剛開始挖掘計算的全部力量。實際上,我們今天所做的大部分事情——以及我們構建的技術——都是專門設定為避免它的。因為我們認為我們必須確保一切都保持足夠簡單,以便我們始終可以預見將要發生的事情。
但是,要利用計算宇宙中存在的所有力量,我們必須超越這一點。所以,問題是:我們人類想要做的事情——以及計算宇宙中存在的所有能力。那麼我們如何將它們結合在一起呢?
嗯,實際上,我一生中的大部分時間都在試圖解決這個問題——我認為關鍵是我稱之為計算語言的東西。而且,是的,今天世界上基本上只有一種完整的計算語言——它就是我過去三十年來一直在構建的——Wolfram 語言。
傳統的計算機語言——“程式語言”——旨在以計算機使用的基本術語告訴計算機做什麼。但是計算語言的想法是,相反,採用我們人類思考的那種事物,然後有一種以計算方式表達它們的方式。我們需要一種計算語言,不僅能夠談論計算機中的資料型別和資料結構,而且還能夠談論我們世界中存在的真實事物,以及我們用來討論它們的知識框架。
有了計算語言,我們不僅有一種幫助我們制定計算思維的方式,而且還有一種以我們的術語與計算機交流的方式。
我認為計算語言的到來是非常重要的。它與大約 400 年前數學符號的出現有些類似——正是數學符號的出現使數學得以起飛,並在許多方面啟動了我們的現代技術世界。它也與書面語言的整個概念有些類似——書面語言啟動了我們世界的許多方面。
但是,你知道,如果我們回顧歷史,可能最強大的系統性趨勢是技術的進步。隨著時間的推移,我們可以自動化的東西越來越多。而隨著計算的出現,這種趨勢正在急劇加速。最終,在某種意義上,我們將能夠自動化幾乎所有事物。但仍然有一些東西是無法自動化的:我們想要做什麼的問題。
這是當今技術的模式,並且將越來越成為未來技術的模式:我們人類定義我們想要做什麼——我們設定目標——然後技術儘可能高效地嘗試做我們想做的事情。當然,其中一個關鍵部分是解釋我們想要什麼。這就是計算語言至關重要的原因:因為它使我們能夠將我們的思維轉化為可以由計算自動執行的東西。實際上,它是我們的思維模式與計算力量之間的橋樑。
讓我簡單地說一下計算語言的實用性。早在計算機行業的黎明時期,我們只是處理用機器程式碼程式設計的原始計算機。但很快就開始出現低階程式語言,然後我們開始理所當然地認為我們的計算機將擁有作業系統、使用者介面等等。
嗯,我的目標之一是使計算智慧也成為無處不在的東西。這樣,當您走到您的計算機前時,您就可以理所當然地認為它將擁有我們文明的知識——智慧——內建其中。它將立即瞭解關於世界的事實,並能夠使用科學和人類知識的其他領域的成就來解決問題。
顯然,透過 Wolfram 語言和 Wolfram|Alpha 等,我們已經構建了很多這樣的東西。您甚至經常可以使用人類自然語言來做諸如提問之類的事情。但是,如果您真的想構建任何複雜的東西,您需要一種更系統的方式來表達自己,而這就是計算語言——以及 Wolfram 語言——至關重要的地方。
好的,這是一個重要的用例:計算合約。在當今世界,我們通常用自然語言編寫合同,或者實際上是用更精確的東西:法律術語。但是,如果我們可以用計算語言編寫合同呢?那麼它們總是可以像我們希望的那樣精確。但還有其他事情:它們可以自動且自主地執行。哦,以及可驗證和可模擬等等。
計算合約比典型的區塊鏈智慧合約更通用。因為就其性質而言,它們可以談論真實世界。它們不僅涉及加密貨幣的流動;它們還涉及資料、感測器和執行器。它們涉及將人類判斷問題轉化為機器學習分類器。最終,我認為它們基本上將執行我們的世界。
目前,世界上大多數計算機所做的事情都是執行我們基本上發起的任務。但是,我們的世界將越來越多地涉及計算機根據計算合約自主地相互互動。一旦世界上發生了一些事情——一些計算事實被確立——我們將很快看到計算合約的級聯執行。並且在不同計算行為的互動中會存在各種複雜的內在隨機性。
從某種意義上說,我們將擁有一個完整的人工智慧文明。它有自己的活動、歷史和記憶。而計算合約實際上是人工智慧文明的法律。我們可能希望擁有一種人工智慧憲法,來定義我們通常希望人工智慧如何行動。
並非每個人或每個國家都想要相同的憲法。但我們通常會想說諸如“對人類友善”之類的話。但是我們如何說呢?嗯,我們將不得不使用計算語言。我們最終會得到一些微小的陳述——一些黃金法則——就能實現我們想要的一切嗎?人類法律體系的複雜性使這看起來不太可能。實際上,根據我們對計算的瞭解,我們可以看到這在理論上是不可能的。
因為,基本上,不可避免地會出現意想不到的後果——邊緣情況或錯誤等等。並且需要應用無限層次的補丁——有點像我們在人類法律中看到的那樣。
你知道,我一直在談論計算機和人工智慧進行計算。但實際上,計算是一種更普遍的事物。它是透過遵循任何一組規則而獲得的東西。它們可以是計算機程式的規則。但它們也可以是規則,例如,針對某些技術系統或自然系統。
想想計算宇宙中所有那些程式。在細節上,它們都在做不同的事情。但是它們如何比較呢?是否存在一個完整的等級制度,區分誰比誰更強大?嗯,事實證明,計算宇宙是一個非常平等的地方——因為我發現了一種叫做計算等效原理的東西。
因為這個原理說的是,所有行為並非明顯簡單的程式,實際上在它們所做的計算的複雜性方面是等效的。無論您的規則非常簡單還是非常複雜:所完成的計算的複雜性都沒有差異。
自從通用計算的思想被確立以來,已經過去了 80 多年:有可能擁有一臺固定的機器,可以對其進行程式設計以執行任何可能的計算。顯然,這是一個重要的思想——因為它啟動了軟體行業和當前技術的很大一部分。
但是計算等效原理說的更多:它說不僅像通用計算這樣的東西是可能的,而且它是普遍存在的。在可能的程式的計算宇宙中,許多程式都實現了它,即使是非常簡單的程式,如規則 30。而且,是的,實際上這意味著我們可以用比我們可能想象的更簡單的元件(例如分子元件)製造計算機。這意味著各種甚至相當簡單的軟體系統都可以是通用的——並且不能保證安全。
但有一個更根本的後果:計算不可約性現象。能夠預測事物是一件大事,例如在傳統的以科學為導向的思維中。但是,如果您要預測計算系統(例如規則 30)將要做什麼,這意味著在某種程度上您必須比它更聰明。但是計算等效原理表明這是不可能的。無論是計算機、大腦還是其他任何東西,它都在進行復雜度完全相同的計算。
因此,它無法超越實際系統本身。系統的行為在計算上是不可約的:除了實際執行或觀察它之外,沒有其他方法可以找出它將是什麼樣子。你知道,我在 1980 年代初期提出了計算不可約性的想法,並且我已經深入思考了它在科學中的應用,在理解自由意志等現象等方面。但我從未想到它會在區塊鏈的工作量證明中找到應用,並且世界上可測量的計算機比例會花費時間有目的地研磨計算不可約性。
順便說一句,正是計算不可約性意味著您將永遠有意想不到的後果,並且您將無法擁有像簡單而完整的人工智慧憲法這樣的東西。但這也是計算不可約性,在某種意義上意味著歷史是重要的:歷史程序取得了不可約的成就。
你知道,到目前為止,在歷史上,我們只有一個我們樂於稱之為“智慧”的例子——那就是人類智慧。但是計算等效原理暗示的是,實際上有很多東西在計算上同樣複雜。有我們有目的地構建的人工智慧。但也有像天氣這樣的東西。是的,我們可能會以某種萬物有靈論的方式說“天氣有自己的想法”。但是計算等效原理暗示的是,在某種真實的意義上,它確實如此:大氣中的流體動力學過程與我們大腦中發生的任何事情一樣複雜。
當我們展望宇宙時,有無數的複雜計算的例子——我們真的無法將它們與“外星智慧”區分開來。唯一的區別是——就像天氣一樣——這只是正在進行的計算。與人類目的沒有一致性。當然,這是一項棘手的事情。區塊鏈上的塗鴉是有意放在那裡的嗎?還是僅僅是某些計算過程的結果?
這就是計算語言如此重要的原因:它提供了原始計算和人類思維之間的橋樑。如果我們深入瞭解典型的現代神經網路,很難理解它在做什麼。與定理的自動證明的中間步驟相同。問題在於,沒有關於那裡發生的事情的“人類故事”可以講述。這是計算,沒錯。但是——有點像天氣——這不是與人類經驗相關的計算。
但這有點複雜。因為當事物變得熟悉時,它們最終確實看起來很人性化。我們為天氣中的常見現象發明詞語,然後我們可以有效地使用它們來講述正在發生的事情。我一生中的大部分時間都在擔任計算語言設計師。從某種意義上說,語言設計的本質是識別出哪些常見的計算工作塊,可以將它們變成語言中的原語。
這有點迴圈。一旦開發出一種特定的原語——一種特定的抽象——人們就會發現自己可以開始根據它進行思考。然後,人們構建的東西最終會基於它。人類自然語言也是如此。曾經有一段時間“桌子”這個詞不存在。因此,人們不得不開始描述具有平坦表面和腿等的東西。但最終,“桌子”的這種抽象概念出現了。一旦它出現,它就開始融入人們為自己構建的環境中。
這是一個常見的故事。在數學中,存在無限數量的可能定理。但是人們研究的那些定理是透過建立一些通用抽象,然後逐步在其基礎上構建而達成的。當涉及到計算時,計算宇宙中發生了很多事情——就像物理宇宙中發生了很多事情一樣——我們沒有辦法將它們聯絡起來。
這就像人工智慧正在離開並過著自己的生活,而我們不知道發生了什麼。但這就是計算語言和計算合約的重要性。它們使我們能夠將人工智慧與我們人類理解和關心的事情聯絡起來。
讓我們稍微談談更遙遠的未來。鑑於計算等效原理,我不得不相信我們的思想——我們的意識——完全可以以純數字形式表示。所以,好吧,在某個時候,我們文明的未來可能基本上是一箱子裡的萬億靈魂。人工智慧的異形智慧將與人類智慧的未來複雜地融合在一起。
但可怕的是:從外部來看,那些構成我們未來的萬億靈魂將只是在進行計算——並且根據計算等效原理,這些計算的複雜性不會高於例如在岩石內部執行的所有這些電子所發生的計算。然而,不同之處在於,盒子裡的計算在某種意義上是我們的計算;它們是與我們的特徵和我們的目的相關的計算。
在某種程度上,如果我們文明的未來是萬億個無實體的靈魂基本上在永恆的時光裡玩電子遊戲,這似乎是一個糟糕的結果。但是人類的目的會演變。我的意思是,如果你試圖向一千年前的人解釋為什麼今天我們可能會在跑步機上行走,我們會發現這非常困難。而且我認為好訊息是,在歷史上的任何時候,當時發生的事情在當時看來都是完全有意義的。
計算等效原理告訴我們,在某種意義上,計算是無處不在的。目前,我們定義的計算主要存在於我們構建的計算機中。但是隨著時間的推移,我預計我們不會僅僅擁有計算機:一切基本上都將由計算機構成。有點像生物生命如何運作的概括,每個物體和每種材料都將由執行我們以某種方式定義的計算的元件構成。
但是壓力再次落在我們如何進行這種定義上。物理學給出了一些基本規則。但我們可以說更多。而正是計算語言使我們所說的話對我們人類有意義。
在更近的將來,有一個非常重要的轉變:計算語言的讀寫能力變得真正普遍的時刻。Wolfram 語言非常棒,我們現在可以為孩子們提供一種真正進行計算思維的方式。很高興我們現在可以擁有計算論文,人們可以在其中用自然語言和計算語言的混合形式表達自己。
但這會帶來什麼可能?從某種意義上說,人類語言啟動了文明。計算語言會做什麼?我們可以重新思考幾乎所有事物:透過讓每個人寫一篇關於他們想要什麼的計算論文來運作的民主,然後將其輸入到大型中央人工智慧中——這不可避免地會遇到政治哲學的所有標準問題。思考科學或認識事物的新方法。組織和理解人工智慧文明的方式。
這很大一部分將從計算合約和自主計算的思想開始——自然法、人類法和計算法的一種奇怪的融合。這是三個世紀前萊布尼茨等人預料到的——但今天終於成為現實。最終,一個程式碼驅動的世界。
