中国网/中国发展门户网讯计算概念具有丰富的内涵,但由于概念体系不完善导致的名实之间的矛盾,在日常交流中计算概念内涵的丰富性往往不能被准确全面地反映。计算概念看似简单,实则不然。计算不只是指加减乘除;进一步说,计算也不只是指数值计算;更进一步说,计算也不仅仅是指数学。究竟什么是计算,计算概念具有哪些方面,这些方面之间具有怎样的关系,这些问题似乎比较基本,但答案并非显而易见。计算概念包括数学理论、机械装置、电气装置等方面,具有计算理论、计算技术、计算机器等不同内容,涉及中国古代数学的算法、西方数学的形式推理等。准确理解计算概念,需要涉及包括数学、物理学在内的整个科学体系的深层次的核心内容,需要正确把握科学与艺术、机械与巧思、几何与代数、人脑与电脑、人类智能与人工智能、工艺基础与上层建筑、证明与计算、功能与性能等一系列范畴对之间的关系。
计算概念因为计算技术本身具有深刻、普遍的影响力而在社会生活和科学研究中被高频使用,因此计算概念的准确性、完备性十分重要,但目前仍存在较多问题:算力和算法是经常被使用的概念,但实际上算力本身的定义不清晰——算力是指计算机系统峰值计算能力,还是某个应用的计算能力?假如是指计算机系统峰值计算能力,那么是指哪一指令类型的计算能力?算力是否受算法的影响?算术和算法的联系和区别是什么?相对经典计算来说,量子计算提升了计算的哪个方面?如何以统一的视角看待经典计算和量子计算?在计算概念中,如何体现作为计算机系统设计者的人的作用?诸如此类的问题很重要,但使用目前的计算概念很难清楚地回答,原因除了应用程序千变万化、计算机指令集中指令类型丰富多样、计算能力是关于多个因素的多元函数等客观因素,还包括计算概念体系尚不完善。长期以来,我们对西方主导的计算概念采取了“拿来主义”的做法,并没有及时对现有计算概念进行审视、梳理、重构和补遗。本文将吸收、借鉴和应用我国古代思想,基于中国传统思想文化对计算概念进行对应与分类,提出计算概念谱系。
自主计算技术的重要性
我国计算技术领域工作者长期致力于自主掌握最先进的计算技术。世界上第一台存储程序式通用电子计算机(EDVAC)于1946年在美国宾夕法尼亚大学由冯·诺伊曼等人研制。作为“四项紧急措施”之一,中国科学院计算技术研究所于1956年成立,并于1958年研制出中国第1台数字电子计算机。我国计算机在肇始阶段,由于工业基础薄弱,面临缺少技术资料、电子器件、人才储备的困境,而且整个软硬件体系和生态也都需要从零建构。尽管如此,我国计算机在总体设计、逻辑设计、工程设计和可靠性设计中仍然做到了较大的自主性。在体系建构之后,我国国产计算机研发过程中经历了体制变革、西方压制等内外部挑战,进入时有曲折的发展轨道。国产计算机从1960年运算速度150次每秒,到1973年达到了100万次每秒,再是2008年达到100万亿次每秒,现在已超过10亿亿次每秒。
计算概念谱系化的意义
中国古代数学和西方数学代表着计算技术的两个方向、两种风格。中国古代数学达到较高的水平,风格与西方不同。中国古代数学是以问题集的形式出现的,以《九章算术》为代表;其本质是给出算法,注重实用性、具体性。古希腊数学以第一性原理(FirstPrinciples)的形式呈现,以《几何原本》为代表;其本质是证明,注重一般性、抽象性。对比《九章算术》和《几何原本》,可发现前者具体、实用、直白,与实际生活结合紧密;后者抽象、系统、深刻,注重在前件与后件之间建立紧密的逻辑链条。实用通常是优点,因为能立竿见影解决实际问题。但由于过度追求实用而导致放弃研究一般性、抽象性、非功利性问题的时候,实用就演变为实用主义,优点变为缺点。因为这是一种基于趋利的“偷懒”和短视,是一种对自我认知解放机遇的放弃。
中国需要自主的计算概念体系。目前,正处于21世纪第3个10年的开端,世界面临百年未有之大变局,我们需要更加坚定不移地坚持文化自信。计算技术是文化的重要组成部分。随着改革进入深水区,与之前长期处于的“跟跑”状态不同,我国在计算领域的更多方向将处于“并跑”或“领跑”状态,有必要将“计算”这样的重要概念中国化,继而将中国的计算概念世界化,培育面向世界的具有中国特色的计算文化,以彰显中国传统文化精华的真理性和卓越性,从而更好地将重要概念沉淀到民族的文化基因中,更好地促进原始创新。
计算概念的谱系
中国古代数学为算法设计提供了示范。《九章算术》具有很高的实用性,其中给出了田地面积的计算方法“方田术”、粮食交易或兑换的计算方法“粟米术”、按比例分配的计算方法“衰分术”、由面积或体积求边长的计算方法“少广术”、土石工程中各种立体图形体积的计算方法“商功术”、摊派赋税徭役的计算方法“均输术”、盈亏问题的计算方法“盈不足术”、线性方程组的求解方法“方程术”、直角三角形三边互求的计算方法“勾股术”等实际问题的算法。虽然没有公理化、形式化,但其真理性、原创性毋庸置疑。例如,其第九章提到,“勾股术曰:勾股各自乘,并,而开方除之,即弦。又股自乘,以减弦自乘,其余开方除之,即勾。又勾自乘,以减弦自乘,其余开方除之,即股”。这是勾股定理的完整表述,符号化并翻译成现代汉语即为:设直角三角形三边分别是a、b、c,其中a、b为直角边(勾、股),c为斜边(弦),则c=√a2+b2,a=√a2—b2,b=√c2—a2。显然,这里考虑了一般情况,公式对所有的直角三角形均成立。在西方,毕达哥拉斯、欧几里得等仅求得了这个公式的几种特殊情况,直到公元3世纪,丢番图才取得相近结果。
我国古代曾经产生的深刻哲学思想和技术思想,可被用于审视当代的计算技术现状,推动完善计算概念体系。例如,祖冲之在公元5世纪将圆周率估算到小数点后7位,直到16世纪,阿拉伯数学家阿尔·卡西才打破这一纪录;西周数学家商高在公元前11世纪提出了勾股定理,早于希腊数学家毕达哥拉斯500多年。莱布尼茨创立了二进位制,他于1703年在法国《皇家科学院院刊》发表的《论只使用符号0和1的二进制算术兼论其用途及它赋予伏羲所使用的古老图形的意义》中,确认中国人在3000年前的《易经》六十四卦里就藏匿了二进位制的奥秘。这些史实说明中国古代曾在数学和自然科学领域有重要发现或创造,也提示中国传统文化中有许多值得挖掘的重要思想或方法,中华文明探源工程具有重要意义。
我国古代的哲学思想有助于我们深入理解计算概念的内涵、重新梳理建立计算概念的体系。社会的运行与治理的过程,本身类似于计算的过程,具有并发、秩序等属性,因此古代先贤的社会思想有可能被借鉴于计算技术领域。冯友兰在《中国哲学简史》中对中国古代哲学思想进行了系统的归纳梳理,其中在第14章有这样的总括性表述:“西周封建社会根据两条原则办事,一条是‘礼’,一条是‘刑’。礼是不成文法典,以褒贬来控制‘君子’即贵族的行为。刑则不然,它只适用于‘庶人’,即平民。所以《礼记》中说的:‘礼不下庶人,刑不上大夫。’”这里实现了二分类,其中“刑”是法家的研究对象,又可以一分为三;冯友兰进而指出,“韩非是法家最后的也是最大的理论家,在他之前,法家已经有三派,各有自己的思想路线。一派以慎到为首,慎到与孟子同时,他以‘势’为政治和治术的最重要的因素;一派以申不害为首,强调‘术’是最重要的因素;一派以商鞅为首,最重视‘法’。‘势’指权力、权威,‘法’指法律、法制,‘术’指办事、用人的方法和艺术,也就是政治手腕”。韩非认为,“这三者都是不可缺少的”。
与上述历史思想相对应(表1),计算概念可以细分为多个组分,分别是算势(computationalpotential)、算力(computationalpower)、算术(computationalarithmetic)、算法(computationalalgorithm)、算礼(computationalritual),它们构成了计算概念的谱系。通过这个谱系,能够深刻地、全面地理解和把握计算概念内涵本身所具有的各个方面及其相互关系。这5个组分中,算礼具有鲜明的中国文化特点,算势与算力做了区分,算法与算术做了区分;这些区分能够清晰地反映计算技术领域的痛点,有助于讨论解决这些痛点对应的挑战性问题。
算势
算势是某种理想状态或条件下最大的潜在计算能力,不同数量级的算势所能求解的问题复杂度也有数量级的差异。作为法家“势”派的代表,“慎子曰:飞龙乘云,腾蛇游雾,云罢雾霁,而龙蛇与蚓蚁同矣,则失其所乘也”。意思是,法家“势”派的代表人物慎到说:飞龙乘云飞行,腾蛇乘雾游动,然而一旦云开雾散,它们未免就跟蚯蚓、蚂蚁一样了,因为它们失去了腾空飞行的凭借。待求解问题与计算能力之间的关系,就像飞龙与云彩之间的关系一样。
算势是社会生产力的一个重要指标,足够的算势是应用程序或计算任务能够运行的基础。据《2020全球计算力指数评估报告》显示,计算力指数平均每提高1个百分点,数字经济和国内生产总值(GDP)将分别增长0.33%和0.18%。2016年,谷歌旗下DeepMind公司研发的人工智能机器人阿尔法围棋(AlphaGo)横空出世,击败了世界著名围棋棋手李世石,技惊四座。但不能忽视的是,训练AlphaGo花费了约3500万美元的计算资源。2018年,谷歌提出3亿参数的双向语言表征模型(BERT),将自然语言处理推向了一个前所未有的新高度,但仍然是以足够的计算能力作为基础。
每一个量级的算势对应一个可求解的问题域(以下简称“可解域”);随着算势增大,可解域也在增大(图1)。对于算势A和算势B,它们对应的可解域分别是QA和QB,若A
算势是因时因地而变的——每个时代有自己的算势,每个国家或地区有自己的算势。2022年我国提出并开始实施“东数西算”工程,该工程与“西气东输”“西电东送”“南水北调”等一样都是资源跨域调配战略工程。针对我国东、西部算势分布总体呈现出“东部不足、西部过剩”的不平衡局面,引导中西部利用能源优势建设计算基础设施——“数据向西,算力向东”,服务东部沿海等算力紧缺区域,以解决我国东西部算势分布不均衡、供需不平衡的问题。
算势的概念可以促进我们理解经典串行计算、经典并行计算、量子计算之间的联系和区别:经典并行计算(或超级计算)相对于串行计算,是为了增加算势;量子计算相对于经典计算,也是为了增加算势。夏培肃院士毕生后投身于研制高性能经典计算机的实践,她的丈夫杨立铭院士毕生从事理论物理的研究,先后培养了曾瑾言、钱伯初等量子力学教育家。他们无论是做工程实践,还是做理论研究,无论是做经典计算机,还是做量子计算机,从根本上说都是为了增加算势。需要指出,一方面,经典并行计算、量子计算能极大地提高算势;另一方面,1936年图灵研究判定性问题时所提出的图灵机模型是串行的。但经典并行计算、量子计算不会改变问题的不可求解性;也就是说,如果一个问题在串行图灵机上是不可求解的,那么通过经典并行计算、量子计算仍然不可解(图1)。
算力
各种类型的计算机都存在算势向算力转化不充分的问题(表2)。例如,在超级计算机上,普通用户的很多程序往往效率较低。2022年图灵奖得主杰克·唐加拉参与编制的线性系统软件包(LINPACK)成为评测超级计算机的工具,但该工具只代表较为理想的情况,因为其中包含良好的局部性、易开发的并行性特点的大量稠密矩阵计算。基准测试程序(HPCG)则代表了大量实际应用中常出现的不易扩展和开发局部性的稀疏计算和访存模式。测试基准Graph500代表了数据密集型应用的情况。戈登·贝尔(GordonBell)奖应用则代表了算法优化所能带来的效率提升。
算术
算术是关于数值的算法,是狭义的算法,也是最基本、最顾名思义的算法。算术强调四则运算、开方、乘方等计算的技巧。例如,冯·诺伊曼在1945年的EDVAC研制报告中就用了多个章节分别讨论了这些方面,以及中国乘法和印度乘法就使用了不同的技巧。以2位数和3位数乘法为例,中国乘法建立在逐位相乘的基础上(图2);印度乘法建立在求差值的基础上,将对角线上的数字之和作为结果的高位,将差值的乘积作为结果的低位(图3)。从中可以直观地感受到中国乘法和印度乘法使用了不同的技巧。
算法
算法是广义的计算方法,包括数值算法、非数值算法,强调计算的机械的规则。吴文俊等创立和发展了数学机械化。只有机械化,才能由计算机自动去执行。几何定理的证明分为2个步骤:①几何的代数化与坐标化。从几何的公理系统出发,引进数系统与坐标系统,使得任意几何定理的证明问题成为代数问题。②几何的机械化。将几何定理假设部分的代数关系式进行整理,然后按照确定步骤(编写为程序)验证定理终结部分的代数关系式是否可以从假设部分已整理成序的代数关系式推出。
尽管算法是由人脑设计,但人脑本身不善于执行机械的规则;同时,大量的问题往往通过机械的规则(即通过算法而不是巧思)更容易解决。人脑善于巧思,但不善于反复枯燥的操作,这可能与人脑本身所具有的多巴胺等物质比较稀缺,以及独特的奖励惩罚机制有关。以几何为例来说明,几何分为综合几何和解析几何。综合几何就是我国初中所教授的几何,其解题往往需要观察、“巧妙”地添加辅助线,也就是需要人脑的巧思。借助图形的直观形象,以一些基本名词(如点、直线、平面等)和关系(如衔接、顺序、相似等),满足一套公理或公设,经过一定的逻辑推理,导出一系列的定理的研究方法,被称为古典公理法或综合法,而用这种方法所研究的几何被称为综合几何。综合几何与17世纪笛卡尔创立的解析几何相对。吴文俊指出,综合几何尽管直观生动,但使用范围“颇为有限”,相反解析几何应用范围很广。
以上5个特征之中的能行性涉及一个内容深刻的重要学科方向——可计算性理论。可计算性理论是很多计算机从业者较为欠缺的。可计算性理论有很多结论是与没有经过这方面训练的人的直觉相反的,这样的结论实例有:①可计算的本质是递归;②算法的数量是可数的(而实数的数量是不可数的);③不存在一般过程能够在有限步内判定一个计算过程是否是算法。一个给定的问题是否存在对应的算法,是一个关于“是否可解”的问题。如果存在对应的算法,怎样找出或构造出这个算法,是一个关于“如何求解”的问题;这往往涉及人类对于问题所处领域的理解,也就是通常所说的“know-how”,即技术诀窍、专业知识、私家配方(“秘方”)。
计算机、算法都是人脑设计的,人工智能归根结底是人类智能的外化(externalization)和自动化(automation)。钱学森在1957年发表的《论技术科学》中阐述,“......技术科学工作中最主要的一点是对所研究问题的认识。只有对一个问题认识以后才能开始分析,才能开始计算。但是什么是对问题的认识呢?这里包含确定问题的要点在哪里,什么是问题中现象的主要因素,什么是次要因素;哪些因素虽然也存在,可是它们对问题本身不起多大作用,因而这些因素就可以略而不计。要能做到这一步,我们必须首先做一些准备工作,收集有关研究题目的资料,特别是实验数据和现场观察的数据,把这些资料印入脑中,记住它,为做下一阶段工作的准备,下一个阶段就是真正创造性的工作了。创造的过程是:运用自然科学的规律为摸索道路的指南针,在资料的森林里,找出一个道路来。这条道路代表我们对所研究的问题的认识,对现象机理的了解。也正如在密林中找道路一样,道路决难顺利地一找就找到,中间很可能要被不对头的踪迹所误,引入迷途,常常要走回头路......把问题认识清楚以后,下一步就是建立模型......有了模型了,再下一步就是分析和计算了……”。
上面描述的就是人脑构思或构造算法的过程。算法的构思或构造处于人类认识客观世界的最前沿,算法离不开人脑所进行的“创造性的工作”,实际上“希尔伯特计划”失败的原因就在于此,即判定性问题的答案是否定的;也就是说,不存在一般过程能够在有限步内判定一个计算过程是否是算法。
算礼
人脑与计算机之间存在着紧密联系,又存在着内在机制和语义沟通上的鸿沟。人脑具有与计算机不同的特点。相对计算机,人脑有直觉、大局观,但不善于快速精确计算和记忆。计算机又称电脑,是实现或执行人工智能算法的载体;同时,人工智能算法又可以用来设计计算机,于是就出现了用电脑设计电脑的现象。但就根源来说,计算机、人工智能算法都是人脑的设计结果,而设计过程本质上是计算。但是,对大多数研究和设计人员来说,计算机系统长期以来是一个“黑箱”,缺乏可分析的抽象,人脑很难精确、全面地分析。以深度学习为代表的很多人工智能算法存在一个长期以来为人诟病的弊端:人工智能算法是一个“黑箱”,可解释性、透明性、可分析性不强。人脑设计的产物反而不能被人脑理解,这成为一个亟待破解的悖论。
算礼的必要性毋庸置疑,算礼的可行性需要加强研究。算礼要解决的是:不依赖机器条件下,如何开展计算机这样的复杂系统的顶层设计。需要解决人脑思维所需要的元素的命名与抽象问题,要能反映计算机系统的实际状况,又要便于人脑记忆与推理。诸如模型、分治、分层、模块化、经验法则等思想或技术可以被运用此过程,以使能或加速人脑进行系统顶层设计和敏捷开发。
计算概念谱系组分的相互关系
计算概念谱系将计算概念的内涵细分,形成一个立体的相互联系的有机整体(图4)。算势、算力、算术、算法、算礼是同一事物(计算)的不同方面,它们有着不同的侧重点,又有着相同的目的或价值取向,即为了计算系统更快、更好地完成待求解的应用问题。图4是一个三角双锥,算术、算法、算礼3个因素构成一个三角形,本质上是计算的映射面,其上部和下部各有一个顶点,下部顶点是算势,上部顶点是算力,算势向算力的转化是计算的主线(映射线),计算的映射面的状况决定了算势向算力的转化率。
算礼是算法的前序,算法是算术的推广,算势是算力的基本限制。我们需要攻克高端光刻机技术,不断地改进工艺,扩大算势;同时,我们要通过跨层垂直优化等技术提高算势向算力的转化率,在算势不变或增加缓慢时,仍可获得较高的算力。
算势与算术、算法之间有着微妙的互补或替代关系。例如,当算势足够大的时候,算势的强大可以弥补算术的笨拙,所以此时算术或算法技巧的巧妙高明未必很重要,只起到锦上添花的作用;当算势不充分的时候,如由于芯片制造工艺被“卡脖子”或者由于东西部算势不均衡,算术或算法性能优越就非常必要,应起到雪中送炭的作用。
(作者:刘宇航、张菲,中国科学院计算技术研究所;《中国科学院院刊》供稿)