本文发表于《大众科学》的前博客网络,反映了作者的观点,不一定代表《大众科学》的观点
这是我在一个最近的演讲的编辑稿,我在区块链会议上发表了演讲,我在会上说我将讨论“当计算智能和计算合约无处不在时,世界会是什么样子?”
我们今天生活在一个有趣的时代——一个我们刚刚开始看到我们可能称之为“计算的力量”的含义的时代。最终,它将影响几乎所有事物。而将要发生的事情实际上是一个关于人类状况、人类文明的成就以及我们称之为计算的这种事物的基本性质之间相互作用的深刻故事。
那么,什么是计算?嗯,它是当你遵循规则,或者我们称之为程序时发生的事情。当然,我们人类编写了很多程序来做特定的事情。但是一般的程序呢——抽象的程序呢?嗯,那里存在着一个无限的可能程序的宇宙。多年前,我把我的望远镜的模拟物转向了那个计算宇宙。这就是我看到的
关于支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关塑造我们当今世界的发现和想法的有影响力的故事的未来。

在 Wolfram 语言中创建的细胞自动机阵列。图片来源:Wolfram Research。
每个方框代表一个不同的简单程序。通常它们只是做一些简单的事情。但更仔细地看。有一个很大的惊喜。这是我看到的第一个例子——规则 30

规则 30:在 Wolfram 语言中创建的细胞自动机可视化。图片来源:Wolfram Research。
[[在此处插入 Rule30.png]]
你从一个单元格开始,你只需遵循那个简单的程序——但这就是你得到的:所有这些复杂性。起初,很难相信你可以从如此少的东西中获得如此多的东西。但看到这一点改变了我的整个世界观,让我意识到计算的力量有多么强大。
因为那是制造所有复杂性的原因。那也是让大自然——看似毫不费力地——制造它所做的复杂性的原因。它也是让数学具有如此丰富的内涵的原因。它为我们人类可能做的一切事情提供了原材料。
现在的事实是,我们才刚刚开始挖掘计算的全部力量。实际上,我们今天所做的大部分事情——以及我们构建的技术——都是专门设置为避免它的。因为我们认为我们必须确保一切都保持足够简单,以便我们始终可以预见将要发生的事情。
但是,要利用计算宇宙中存在的所有力量,我们必须超越这一点。所以,问题是:我们人类想要做的事情——以及计算宇宙中存在的所有能力。那么我们如何将它们结合在一起呢?
嗯,实际上,我一生中的大部分时间都在试图解决这个问题——我认为关键是我称之为计算语言的东西。而且,是的,今天世界上基本上只有一种完整的计算语言——它就是我过去三十年来一直在构建的——Wolfram 语言。
传统的计算机语言——“编程语言”——旨在以计算机使用的基本术语告诉计算机做什么。但是计算语言的想法是,相反,采用我们人类思考的那种事物,然后有一种以计算方式表达它们的方式。我们需要一种计算语言,不仅能够谈论计算机中的数据类型和数据结构,而且还能够谈论我们世界中存在的真实事物,以及我们用来讨论它们的知识框架。
有了计算语言,我们不仅有一种帮助我们制定计算思维的方式,而且还有一种以我们的术语与计算机交流的方式。
我认为计算语言的到来是非常重要的。它与大约 400 年前数学符号的出现有些类似——正是数学符号的出现使数学得以起飞,并在许多方面启动了我们的现代技术世界。它也与书面语言的整个概念有些类似——书面语言启动了我们世界的许多方面。
但是,你知道,如果我们回顾历史,可能最强大的系统性趋势是技术的进步。随着时间的推移,我们可以自动化的东西越来越多。而随着计算的出现,这种趋势正在急剧加速。最终,在某种意义上,我们将能够自动化几乎所有事物。但仍然有一些东西是无法自动化的:我们想要做什么的问题。
这是当今技术的模式,并且将越来越成为未来技术的模式:我们人类定义我们想要做什么——我们设定目标——然后技术尽可能高效地尝试做我们想做的事情。当然,其中一个关键部分是解释我们想要什么。这就是计算语言至关重要的原因:因为它使我们能够将我们的思维转化为可以由计算自动执行的东西。实际上,它是我们的思维模式与计算力量之间的桥梁。
让我简单地说一下计算语言的实用性。早在计算机行业的黎明时期,我们只是处理用机器代码编程的原始计算机。但很快就开始出现低级编程语言,然后我们开始理所当然地认为我们的计算机将拥有操作系统、用户界面等等。
嗯,我的目标之一是使计算智能也成为无处不在的东西。这样,当您走到您的计算机前时,您就可以理所当然地认为它将拥有我们文明的知识——智能——内置其中。它将立即了解关于世界的事实,并能够使用科学和人类知识的其他领域的成就来解决问题。
显然,通过 Wolfram 语言和 Wolfram|Alpha 等,我们已经构建了很多这样的东西。您甚至经常可以使用人类自然语言来做诸如提问之类的事情。但是,如果您真的想构建任何复杂的东西,您需要一种更系统的方式来表达自己,而这就是计算语言——以及 Wolfram 语言——至关重要的地方。
好的,这是一个重要的用例:计算合约。在当今世界,我们通常用自然语言编写合同,或者实际上是用更精确的东西:法律术语。但是,如果我们可以用计算语言编写合同呢?那么它们总是可以像我们希望的那样精确。但还有其他事情:它们可以自动且自主地执行。哦,以及可验证和可模拟等等。
计算合约比典型的区块链智能合约更通用。因为就其性质而言,它们可以谈论真实世界。它们不仅涉及加密货币的流动;它们还涉及数据、传感器和执行器。它们涉及将人类判断问题转化为机器学习分类器。最终,我认为它们基本上将运行我们的世界。
目前,世界上大多数计算机所做的事情都是执行我们基本上发起的任务。但是,我们的世界将越来越多地涉及计算机根据计算合约自主地相互交互。一旦世界上发生了一些事情——一些计算事实被确立——我们将很快看到计算合约的级联执行。并且在不同计算行为的交互中会存在各种复杂的内在随机性。
从某种意义上说,我们将拥有一个完整的人工智能文明。它有自己的活动、历史和记忆。而计算合约实际上是人工智能文明的法律。我们可能希望拥有一种人工智能宪法,来定义我们通常希望人工智能如何行动。
并非每个人或每个国家都想要相同的宪法。但我们通常会想说诸如“对人类友善”之类的话。但是我们如何说呢?嗯,我们将不得不使用计算语言。我们最终会得到一些微小的陈述——一些黄金法则——就能实现我们想要的一切吗?人类法律体系的复杂性使这看起来不太可能。实际上,根据我们对计算的了解,我们可以看到这在理论上是不可能的。
因为,基本上,不可避免地会出现意想不到的后果——边缘情况或错误等等。并且需要应用无限层次的补丁——有点像我们在人类法律中看到的那样。
你知道,我一直在谈论计算机和人工智能进行计算。但实际上,计算是一种更普遍的事物。它是通过遵循任何一组规则而获得的东西。它们可以是计算机程序的规则。但它们也可以是规则,例如,针对某些技术系统或自然系统。
想想计算宇宙中所有那些程序。在细节上,它们都在做不同的事情。但是它们如何比较呢?是否存在一个完整的等级制度,区分谁比谁更强大?嗯,事实证明,计算宇宙是一个非常平等的地方——因为我发现了一种叫做计算等效原理的东西。
因为这个原理说的是,所有行为并非明显简单的程序,实际上在它们所做的计算的复杂性方面是等效的。无论您的规则非常简单还是非常复杂:所完成的计算的复杂性都没有差异。
自从通用计算的思想被确立以来,已经过去了 80 多年:有可能拥有一台固定的机器,可以对其进行编程以执行任何可能的计算。显然,这是一个重要的思想——因为它启动了软件行业和当前技术的很大一部分。
但是计算等效原理说的更多:它说不仅像通用计算这样的东西是可能的,而且它是普遍存在的。在可能的程序的计算宇宙中,许多程序都实现了它,即使是非常简单的程序,如规则 30。而且,是的,实际上这意味着我们可以用比我们可能想象的更简单的组件(例如分子组件)制造计算机。这意味着各种甚至相当简单的软件系统都可以是通用的——并且不能保证安全。
但有一个更根本的后果:计算不可约性现象。能够预测事物是一件大事,例如在传统的以科学为导向的思维中。但是,如果您要预测计算系统(例如规则 30)将要做什么,这意味着在某种程度上您必须比它更聪明。但是计算等效原理表明这是不可能的。无论是计算机、大脑还是其他任何东西,它都在进行复杂度完全相同的计算。
因此,它无法超越实际系统本身。系统的行为在计算上是不可约的:除了实际运行或观察它之外,没有其他方法可以找出它将是什么样子。你知道,我在 1980 年代初期提出了计算不可约性的想法,并且我已经深入思考了它在科学中的应用,在理解自由意志等现象等方面。但我从未想到它会在区块链的工作量证明中找到应用,并且世界上可测量的计算机比例会花费时间有目的地研磨计算不可约性。
顺便说一句,正是计算不可约性意味着您将永远有意想不到的后果,并且您将无法拥有像简单而完整的人工智能宪法这样的东西。但这也是计算不可约性,在某种意义上意味着历史是重要的:历史进程取得了不可约的成就。
你知道,到目前为止,在历史上,我们只有一个我们乐于称之为“智能”的例子——那就是人类智能。但是计算等效原理暗示的是,实际上有很多东西在计算上同样复杂。有我们有目的地构建的人工智能。但也有像天气这样的东西。是的,我们可能会以某种万物有灵论的方式说“天气有自己的想法”。但是计算等效原理暗示的是,在某种真实的意义上,它确实如此:大气中的流体动力学过程与我们大脑中发生的任何事情一样复杂。
当我们展望宇宙时,有无数的复杂计算的例子——我们真的无法将它们与“外星智能”区分开来。唯一的区别是——就像天气一样——这只是正在进行的计算。与人类目的没有一致性。当然,这是一项棘手的事情。区块链上的涂鸦是有意放在那里的吗?还是仅仅是某些计算过程的结果?
这就是计算语言如此重要的原因:它提供了原始计算和人类思维之间的桥梁。如果我们深入了解典型的现代神经网络,很难理解它在做什么。与定理的自动证明的中间步骤相同。问题在于,没有关于那里发生的事情的“人类故事”可以讲述。这是计算,没错。但是——有点像天气——这不是与人类经验相关的计算。
但这有点复杂。因为当事物变得熟悉时,它们最终确实看起来很人性化。我们为天气中的常见现象发明词语,然后我们可以有效地使用它们来讲述正在发生的事情。我一生中的大部分时间都在担任计算语言设计师。从某种意义上说,语言设计的本质是识别出哪些常见的计算工作块,可以将它们变成语言中的原语。
这有点循环。一旦开发出一种特定的原语——一种特定的抽象——人们就会发现自己可以开始根据它进行思考。然后,人们构建的东西最终会基于它。人类自然语言也是如此。曾经有一段时间“桌子”这个词不存在。因此,人们不得不开始描述具有平坦表面和腿等的东西。但最终,“桌子”的这种抽象概念出现了。一旦它出现,它就开始融入人们为自己构建的环境中。
这是一个常见的故事。在数学中,存在无限数量的可能定理。但是人们研究的那些定理是通过创建一些通用抽象,然后逐步在其基础上构建而达成的。当涉及到计算时,计算宇宙中发生了很多事情——就像物理宇宙中发生了很多事情一样——我们没有办法将它们联系起来。
这就像人工智能正在离开并过着自己的生活,而我们不知道发生了什么。但这就是计算语言和计算合约的重要性。它们使我们能够将人工智能与我们人类理解和关心的事情联系起来。
让我们稍微谈谈更遥远的未来。鉴于计算等效原理,我不得不相信我们的思想——我们的意识——完全可以以纯数字形式表示。所以,好吧,在某个时候,我们文明的未来可能基本上是一箱子里的万亿灵魂。人工智能的异形智能将与人类智能的未来复杂地融合在一起。
但可怕的是:从外部来看,那些构成我们未来的万亿灵魂将只是在进行计算——并且根据计算等效原理,这些计算的复杂性不会高于例如在岩石内部运行的所有这些电子所发生的计算。然而,不同之处在于,盒子里的计算在某种意义上是我们的计算;它们是与我们的特征和我们的目的相关的计算。
在某种程度上,如果我们文明的未来是万亿个无实体的灵魂基本上在永恒的时光里玩电子游戏,这似乎是一个糟糕的结果。但是人类的目的会演变。我的意思是,如果你试图向一千年前的人解释为什么今天我们可能会在跑步机上行走,我们会发现这非常困难。而且我认为好消息是,在历史上的任何时候,当时发生的事情在当时看来都是完全有意义的。
计算等效原理告诉我们,在某种意义上,计算是无处不在的。目前,我们定义的计算主要存在于我们构建的计算机中。但是随着时间的推移,我预计我们不会仅仅拥有计算机:一切基本上都将由计算机构成。有点像生物生命如何运作的概括,每个物体和每种材料都将由执行我们以某种方式定义的计算的组件构成。
但是压力再次落在我们如何进行这种定义上。物理学给出了一些基本规则。但我们可以说更多。而正是计算语言使我们所说的话对我们人类有意义。
在更近的将来,有一个非常重要的转变:计算语言的读写能力变得真正普遍的时刻。Wolfram 语言非常棒,我们现在可以为孩子们提供一种真正进行计算思维的方式。很高兴我们现在可以拥有计算论文,人们可以在其中用自然语言和计算语言的混合形式表达自己。
但这会带来什么可能?从某种意义上说,人类语言启动了文明。计算语言会做什么?我们可以重新思考几乎所有事物:通过让每个人写一篇关于他们想要什么的计算论文来运作的民主,然后将其输入到大型中央人工智能中——这不可避免地会遇到政治哲学的所有标准问题。思考科学或认识事物的新方法。组织和理解人工智能文明的方式。
这很大一部分将从计算合约和自主计算的思想开始——自然法、人类法和计算法的一种奇怪的融合。这是三个世纪前莱布尼茨等人预料到的——但今天终于成为现实。最终,一个代码驱动的世界。