为什么我们,作为研究人员和实践者,对计算机有着如此深厚而持久的热爱?我们为什么要计算?表面上看,这个问题就像问为什么天是蓝的,草是绿的一样无伤大义。然而,就像这两个关于童年的问题一样,简单掩盖了其中的微妙。问问别人雷利散射或者是量子效率的光合作用如果你怀疑简单的问题可以挖掘出复杂。
最基本的,计算只是自动的符号操作。事实上,抽象图灵机无非就是使用规则表操作纸带上的符号。更令人迷惑的是,这些规则似乎比一些棋盘游戏更简单。尽管这种描述空洞地正确,但却忽略了一点,即在这些规则下的符号操作捕获了我们现在所称的Church-Turing论文。
然而,就像这个概念一样深刻和美丽可计算性但我怀疑这是否是我们大多数人无休止地着迷于这个我们称之为计算的可塑事物的唯一原因。相反,我怀疑它是一种更深层、更原始的渴望,是所有科学和工程的基础,是我们在一个共同的事业中团结在一起的。它是一种永不满足的求知欲。
最近我站在山顶上莫纳克亚山我望着摆在那里的那一排望远镜,又一次被我们天生的好奇心所触动。它们由各种各样的国际合作伙伴运营,在莫纳克亚山耗资巨大,它们之所以在那里,是因为我们关心一些基本问题。什么是进化宇宙的历史和未来?是什么暗物质而且暗能量?为什么会有任何东西?
这些问题的答案不太可能解决我们当前的经济困境,改善医疗保健或解决我们的环境挑战。然而,我们关心的是答案。
当我沉思着昏暗的天空时,我的思绪转向了埃德温·哈勃他首先证明了天空中一些模糊的斑点是“岛屿宇宙”——星系就像我们自己的。宇宙比我们迄今所想象的要大得多。正如哈勃观察到的:
从我们地球上的家,我们望向远方,努力想象我们出生的世界是什么样的。今天,我们已经进入了遥远的太空。我们非常熟悉我们的近邻。但是,随着距离的增加,我们的知识逐渐消失,而且消失得很快,直到最后,在模糊的地平线上,我们在幽灵般的观测误差中寻找几乎没有什么实质性的地标。搜救工作将继续进行。这种冲动由来已久。它不被满足,也不会被压制。
哈勃的评论是关于距离估计的观测困难和识别的挑战标准烛光.然而,它也可以很容易地成为对计算的思考,因为我们被自己对更好的算法、更灵活和更可靠的软件、新的传感器和数据分析工具以及更大、更快的计算机的永不满足的欲望所驱动。
我们为什么要计算?我怀疑,至少有两个相关的原因,与出版数量、任期、财富或名声无关。第一个是赋予一个想法的算法实例生命的能力,看它在我们的显示器和设备上跳舞和移动。当想法在代码中成形,然后开始执行,有时出乎意料的行为和复杂性会让我们惊讶时,我们都感到兴奋。计算模拟的解围的人带来心理满足感。
第二个原因是,计算是一个智力放大器,扩展了我们名义上的范围和能力。我在另一个CACM博客中讨论了计算的能力,以支持和增强探索。(见通过计算进行智能放大)。这就是我们这些从事计算科学的人不断寻求更好的算法和更快的计算机系统的原因。从terascale到petascale,从全球竞赛到exascale,都是对更高保真度、更高分辨率和更精细时间尺度的追求。同样的渴望驱使天文学家去寻找更高分辨率的探测器和更大的望远镜孔径。我们都在追逐,在幽灵般的信号中寻找地标。
正是我们将自己的想法及其在代码中的体现应用于一系列令人眼花缭乱的问题的能力,从平凡到深刻,吸引和迫使我们。这就是我们计算的原因。
哈勃望远镜是正确的。我们计算是因为我们想知道和理解。这种欲望是很深的,而且无法得到满足。这是不可否认的。
亲爱的里德博士
我对你们在ACM通讯中提出的问题很感兴趣:为什么我们……对计算机有着深厚而持久的热爱吗?我们为什么要计算?
你的回答与我最喜欢的一句话相呼应,这句话来自老贝尔实验室的理查德·汉明(Richard Hamming):计算的目的是洞察,而不是数字。
但是,从Greg Chaitin在IBM的工作中,我们可以更深入地理解我们对计算的需求,他称之为算法信息理论(AIT)。AIT最重要的见解是,信息是一个守恒量,就像能量和动量一样。因此,任何计算的输出都不能包含比输入更多的信息。这又在不同的层面上提出了你的问题:如果我们得到的信息不比开始时多,那我们为什么要计算呢?
这个问题的答案让我们深入到科学哲学中去。有了AIT,我们第一次可以使科学哲学量化。我们不是问我们知道什么,我们是怎么知道的,而是问:我们知道多少?我们能知道多少?我们需要知道多少?
与哲学上的大多数问题不同,这些问题有答案,量化的答案提供了对科学本身本质的洞察。
如果你对科学哲学的量化、信息理论方法感兴趣,你可以在我的网站上找到这些想法:
http://cires.colorado.edu/~doug/philosophy/
或者如果你愿意,我很乐意通过电子邮件讨论这些问题:
doug@cires.colorado.edu
我对你在这些问题上的想法和见解非常感兴趣。
致以最诚挚的问候,道格·罗伯逊
环境科学合作研究所
科罗拉多大学
博尔德有限公司
以下信件刊登在2012年6月的《中国计算机学会编辑来信》(//www.eqigeno.com/magazines/2012/6/149799)上。
——CACM管理员
丹尼尔·里德(Daniel Reed)的博客(2011年9月2日)和道格拉斯·罗伯逊(Douglas Robertson)的相关信件《洞察力,而不是数字》(2012年4月)推测了我们为什么会计算,并提出了两种高尚的动机:“知道和理解”和“洞察力”。Robertson还添加了关于算法信息论的有趣评论。然而,两位作者似乎都采取了纯粹的哲学或研究角度,忽略了大量现实世界中的企业例子,其中计算的主要动机是,许多企业将无法向他们的客户交付服务和产品,或及时管理、组织、存储或访问运行大型企业所需的不断增长的数据,尤其是“信息”是其产品的关键部分的企业。
里德所描述的“当想法在代码中成形,然后开始执行时的那种兴奋感”是最初吸引我进入计算机行业的原因,我一直认为这是这个职业的一种“福利”。然而,解决功利性的问题,提高企业处理数据和支持客户的能力,一直是我的收入来源。
在现实世界的企业计算中,信息保存的想法并不是计算的限制因素,因为我们不需要处理一个封闭的系统。每天每一秒都有新的数据从客户和企业流程中涌入,积累在大型数据库中。挑战在于确定哪些数据不再有用,以及如何以及何时丢弃它们。
乔尔·c·尤因
本顿维尔,基于“增大化现实”技术
以下信件刊登在2012年4月的《中华美术学会编辑函》(//www.eqigeno.com/magazines/2012/4/147353)上。
——CACM管理员
丹尼尔·里德(Daniel Reed)在他的博客(2011年9月2日)中问道:“为什么我们……以及“我们为什么要计算?”他的回答是,“我们计算是因为我们想知道和理解,”老贝尔实验室的理查德·汉明(Richard Hamming)附和道,“计算的目的是洞察,而不是数字。”
但是,我们对计算需求的更深入理解可以在IBM的格雷戈里·查廷(Gregory Chaitin)称之为算法信息论(AIT)的数学形式中找到。也许AIT最重要的见解是信息是一个守恒量,就像能量和动量一样。因此,任何计算的输出都不能包含比最初输入的更多的信息。这个概念把里德的问题更多地转向了:“如果我们得到的信息不比开始时多,那我们为什么要计算?”
AIT可以通过信息压缩的思想来帮助回答这个问题。在AIT中,位串的信息内容被定义为生成该位串的最短计算机程序的长度。由短的计算机程序产生的长位串被称为可压缩的。在AIT中,压缩后的信息才是守恒量。可压缩性引出了里德问题的另一个答案:“我们进行计算,因为信息通常以解压缩的形式最有用,而解压缩需要计算。”同样,没有人会阅读压缩后的.zip格式的小说,也不会使用(压缩后的)皮亚诺公理在杂货店里进行算术更改。
此外,AIT还为整个科学哲学提供了新的见解,为里德所说的我们“永不满足的求知和理解欲望”提供了新的见解。AIT第一次使科学哲学量化。而不是问一些经典的问题,比如“我们知道什么?我们是怎么知道的?”, AIT让我们提出量化问题,比如“我们知道多少?”“我们能知道多少呢?”和“我们需要知道多少?”
与哲学上的大多数问题不同,这些问题有具体的、定量的答案,可以洞察科学本身的本质。例如,库尔特·哥德尔著名的不完全性定理可以被视为信息守恒的直接结果。AIT提供了一个简单的三页纸的哥德尔定理证明,Chaitin称之为“几乎显而易见”。哥德尔定理在数量上的意义之一是数学上的“万有理论”不能用任何有限数量的信息来创造。因此,每个基于有限公理集(有限数量的压缩信息)的数学系统必然是不完整的。这种数学上的不完整性自然导致了另一个重要的定量问题:“能用有限数量的信息创造出物理学的万有理论吗?”这个问题也可以使用AIT开发的概念进行探索。
道格拉斯·s·罗伯逊
博尔德有限公司