颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

2002 年,出生在英国的科学家、程序员及创业家 Stephen Wolfram 的《一种新科学》刚刚发布,其颠覆传统的追求知识方式引发的惊愕、争议与指责就已经铺天盖地。上个月初,他在博客中披露了自己的一个即将完成的新项目,称该项目将会对技术世界乃至于技术以外的世界产生深远影响。


VB 的 John Koetsier 在看了Wolfram的东西后说,那东西确实令人吃惊。无论你对他那本书的看法如何,有一件事情必须承认,他是个天才。

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

知识+计算=大事物

Wolfram 的父母是二战前逃离德国到英国去的犹太人。他从小就显露出了过人之处。12 岁时他已经撰写了一部物理词典,14 岁时已经完成了 3 本粒子物理方面的书,15 岁发表了第 1 篇科学论文。


1988 年,他做出了科学计算平台 Mathematica;2009 年,他发布了计算知识搜索引擎 Wolfram Alpha。而他的最新项目,则是这两者的完美联姻:


Mathematica 是完美的精确计算引擎,WolframAlpha 则是有关世界的一般信息。现在我们把二者结合到了一起。


这种结合只是大图景的一部分。新项目还包括了自然语言编程—这种自然语言并不是仅靠自然语言来完成编程,而是说开发者可以利用一部分的自然语言。此外应用中的一切会有一个新的定义,从代码到图像,从输入到结果,一切均可以符号表达式的方式使用和拓展。自动化也到了全新的水平,而且编程语言的开发跟以往完全不一样,抛弃了以往从小开始、以敏捷构造功能,建设库和模块为核心的做法,转为一种具备大规模整体性的东西—将数据和代码合二为一。还有就是对计算的全新专注,其对世界的了解甚至比程序员还要多。


野心比Google的知识图谱大多了

跟我们在 Wolfram Alpha 做的事情相比,知识图谱的心气就小得多了,那仅仅是*和其他一些数据


Google 希望理解对象和事物及其关系,以便给出回答而不仅仅是结果。但 Wolfram 希望让世界变成可计算的,这样的话计算机就可以回答诸如“现在国际空间站在哪里”之类的问题。这需要一定水平的机器智能,它得知道国际空间站是什么,还得知道它在太空中,知道它正在绕着地球轨道飞行,还得知道它的速度以及目前的轨道位置。


这不是静态的数据,而是计算与知识的结合。现在 WolframAlpha 做到了这一点,但这还仅仅是个开始。

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

Wolfram语言组件

Wolfram 认为,搜索引擎不擅长这个东西,因为太凌乱了。搜索引擎中的问题会有很多答案,其适用性与正确性也各异。这没办法计算,不够简洁,无法进行编程或注入系统。

Wolfram 说,让世界成为可计算的,这是一个比产生*式信息要大得多的目标……一个迥然不同的东西。我们试图要做的远比这要更加雄心勃勃。


这件事情是如此的富有野心,意义是如此的深远,甚至到了难以描述的地步。Wolfram 说在他这辈子做过的各种事情里面,这是最复杂的一个,复杂到可怕,难以解释。请记住,这是一个曾经写过粒子物理论文的人。这件事情需要渊深知识,牵涉面广,意义深远—Wolfram 称之为伸到编程、科学、知识及商业等不同领域的“触须”。


让计算机做这件事情

“总的说来,我们试图做的是,只要你能描述得出来想要什么,计算机就替你做。人来定义目标,然后计算机尽量去理解意思,然后尽最大努力去执行。”

Wolfram 说。


他还进行了现场演示。

大约 30 秒钟,Wolfram 就创建了一个小小的 web 应用,应用可以在网页上画圆,里面还包括有一个用户界面,通过它访客可以让圆圈变大变小或变颜色。编程如此简单要感谢 Wolfram 语言,由于它可以访问到浩瀚的知识库—所以知道什么是圆且可以画圆,它还可以自动提供 web—原生的用户控制来操纵这个圆。这个例子只是个小意思,但过了 30 秒,Wolfram 又写出了一个代码片段,代码实现了对南美国家的定义然后展示了相应国家的国旗。然后他调出一幅欧洲地图,通过计算的方式以不同的颜色高亮显示德国和法国,整个过程只需几秒钟

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

Wolfram语言解决“南美洲有哪些国?它们的国旗是什么?”这个问题

之所以能做出这样的东西,是因为新的 Wolfram 计算框架包括了 Mathematica20 年开发过程中形成的复杂而精确的算法,再加上 WolframAlpha 内部的知识引擎。结果是惊人的。


通过信息进行自动化

Wolfram 说这种自动化水平要比以往任何时候都要高,其强大令人难以置信,只要是 WolframAlpha 知道的,app 都知道。


这是因为 Wolfram 的自然语言处理技术。它知道南美洲是一个洲,因为知识引擎 WolframAlpha 知道这一点。同样地,它知道哪些国家属于南美洲,其国旗是什么,也了解相应国家的人口、地图形状及概况,也许还包括成千上万个其他的数据元素。而获取这一切只需输入“南美洲”即可。

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

1、2行代码即可完成一幅高亮显示德国和法国欧洲地图的调用。粗体的行是Wolfram自己输入的


换句话说,“南美洲”并不是一个被赋值的变量或待实例化的对象或类,而是一个机器知道和理解的短语,其含义、意思和关联均可毫不费力地植入程序中,且不需要外部的数据来源。而且该知识来源还会不断更新和发展来匹配不断更新和变化的世界。


这将是开发者开发应用的一大变化,而且这种编程方式不存在现实限制。


Wolfram 进一步以南美洲作为类比,说正如我们了解厄瓜多尔的事情(如人口)一样,我们也可以了解 Twitter API 的东西。


由于具备快速创建应用的能力,Wolfram 将成为游戏颠覆者。


自然语言输入—小孩也能写代码?

它改变了应用开发经济,因为以往需要数小时或数周完成的事情现在只需要几分钟。许多人都一些有趣的想法、算法或应用创意,但苦于缺人缺钱或缺时间而无法完成。Wolfram 目前正在跟这些人会面,这一切将会改变。


Wolfram 说自己的新项目将会催生一大批新的初创企业—在数小时内开发出一种算法或自动化系统将变成现实。


它还改变了程序员的范畴,因为代码将不再是动辄成千上万行,而是 20 到 200 行。这意味着娃娃也能写代码,菜鸟也能做出精彩的应用。

颠覆编程方式的感知编码:Stephen Wolfram雄心勃勃的全新计算模式

你想看图还是看代码?

Wolfram 说,有了自然语言输入,谁将成为富有经验的程序员将会被改变。书写代码将被大大缩短—这是一门可以让你马上就能把事情干完的语言,不是那种“hello world”也要写上 10 行。而它将为书写复杂程序的人铺设好了坦途。


但这也会让你有点发懵。

感谢 Mathematica 的历史悠久以及 WolframAlpha 的大脑,Wolfram 语言知道许多东西,也能通过内置函数对其进行操作—包括数据操纵和分析、可视化及制作图表,图像、地理、几何、声音、科学数据以及几乎自动化的用户界面开发,进入数据、社交数据,甚至在云端的部署。这是所有一切东西的大杂烩,甚至还要多得多,这正是它最晦涩难懂的地方—因为它跟传统的数据与代码及界面分离的做法实在是太不一样了。


当然,在具备自然语言输入的同时,Wolfram 语言也有语法和结构以及操作符等,那些创建无缺陷的、可按你思路运行的程序所必须的构造物。这也意味着这门语言还是需要学习的—并非说谁都可以马上就能使唤它来开发应用。


Wolfram的用武之地:Raspberry Pi,智能手机、设备

这些应用有很多用武之地。

Wolfram 最近发布了一个 Raspberry Pi 版的 Mathematica。这不仅令人好奇:承载着浩大知识的 Wolfram 语言是如何被容纳进 Pi 小小的身躯内的?


奥秘在于它的引擎非常便携,但显然知识却是非常庞大的,所以 Wolfram 语言所需要的知识是集中存放到云端的,在处理时引擎会向云端索取知识。


Wolfram 语言还可支持桌面应用、移动应用、web 应用的开发,且既可支持公有云也可支持私有云。对于移动应用将会嵌入一个 Wolfram 引擎,然后通过 API 的方式去获取所需的数据。而所有代码均可复制粘贴于云端、设备及桌面之间。


不过不想学 Wolfram 语言也没问题,Wolfram 说像 Java 那样的原生语言可以通过函数调用来利用 Wolfram 引擎。从表面上来看开发者仍只是在调用 Java,但实际上后台会访问 Wolfram 的云。


感知编码,智能对象

由于 Wolfram 语言具备很高的自动化能力和智能水平,且对待数据和代码的方式十分类似,所以这种语言是不是可以被认为是具有感知能力的代码呢?


从某种程度来说是这样的。Wolfram 解释说,他们试图做的,是让程序员设定目标,然后由计算机去琢磨如何实现目标。


但这并不是要让机器去创新手段,不过 Wolfram 也对让计算机去创新、创作感兴趣。比方说Wolfram Tones就是这样。这款音乐制作应用可以根据用户的输入自动创作音乐(在他的《一种新科学》中提到过)。这种东西他说很多都在“秘密地”搞,往往是替玩对冲基金的金融服务公司弄的。而 Wolfram 引擎已经为如果做事和展示结果添加了一定程度的智能。


当然这种智能跟人工智能仍相去甚远,但这一天也许会来的。可能是以大规模分布的形式。


Wolfram 说,视定义的不同,目前全球大约有 100-150 亿台计算机,而且很多设备内部也有计算机。在不久的将来,几乎所有的东西都将由计算机组成—甚至很小的东西。到那时,计算的作用甚至比现在还要大,而且那时候各种级别的东西都将是可适配的、可修改的。


Wolfram 所指的也许是技术奇点。当我们到达技术奇点时,智能将成为万物唯一的定义因子,而且那时候的技术发展节奏之快已非现在的人们所能理解了,世界变化越来越快,快到人类已经无法想象。


如果这个奇点真的到来,可能就是智能系统发展的结果。也许 Wolfram 语言就是此类系统的先驱。


也因此 Wolfram 语言才会如此的难以理解和解释,正如 Wolfram 在博客中所述:


在我看来,现在还是它将会带来的结果的早期阶段。但我已经可以确定该项目是我们迄今为止最重要的一个。这需要艰苦卓绝的工作,但它所展现的景象会令人无比兴奋。我已经迫不及待,恨不得“即将推出”变成所有地方的人都能使用的实际系统……

上一篇:Javascript中使用String对象的方法


下一篇:量子计算:华盛顿大学的数学家编码防御高级网络攻击