李廉
摘 要:本文讨论了计算思维两个特有的性质,即可解释证明和关联世界。这两个特质是计算思维区别于实证思维和逻辑思维的界石。依据科学思维的分类标准,本文从理论上阐述了这两种特质的内涵以及在计算思维中的位置。同时,还进一步探讨了这两种特质对于计算机科学和计算机工程的意义与作用,特别是在计算机工程中,这些特质成为重要的理论基础和背景,并且影响着工程技术的质量标准和开发规范。结合教学改革实践,本文提出了应该在教学内容中加强这方面理解的培养。
关键词:计算思维;特质性;可解释证明;关联世界;人才培养
自从周以真明确提出计算思维的概念后[1],国内经过陈国良、王飞跃、徐志伟等人的研究和宣传[2-4],促进了对于大学计算机教育的重新认识和重新定位,并且持续影响着计算机课程的改革与建设。对计算思维本身的研究也在不断地深化,形成了研究工作和教学实践之间良性的互动。本文试图就计算思维的核心概念做一些探讨,基本问题是——计算思维有没有属于自己的独特的思维方式和判断标准,而这些方式和标准在实证思维和逻辑思维框架中是不被认可的?
一种思维模式实际上就是一种看待世界和认识世界的方法与观点,也就是我们所说的世界观,其核心内容是对于思维结论正确性的判断标准。任何思维都是以产生某种结论为目标的,对于结论的判断标准,构成了思维模式的独有特质。比如说唯心主义和唯物主义对于世界本源的看法就是不同的,因此拥有各自的世界观。在科学思维中,以物理学为代表的实证思维与以数学为代表的逻辑思维,其看待世界的观点也是不同的,并且形成了各自的判断结论是否正确的不同的标准。那么比起实证思维和逻辑思维,稍晚以后发展起来的计算思维有没有自己的世界观呢?与实证思维和逻辑思维的世界观究竟有什么不同呢?这个问题的确需要认真加以研究。
本文以下分为五个部分:第一部分我们简要说明科学思维的分类标准;并且在第二部分回顾一下,作为实证思维的物理学和作为逻辑思维的数学,判断结论正确性的标准是什么,有什么本质上的不同;在第三部分,我们介绍计算思维的一些思维特点和理论基石,这些特点和基石奠定了计算思维的基础,并且形成了有别于实证思维和逻辑思维的不同之处,从而使得计算思维之所以能够成为第三种科学思维模式;在第四部分,我们介绍计算思维的一种特质,即可解释证明;它的另一种特质,即关联世界,将在第五部分讨论;最后我们做一些总结。
一、科学思维的分类与特点
科学思维指的是在科学活动中的思维。一般而言,我们通过思维的外在形式进行分类,这种外在形式主要是思维的表现形式,以及判定结论正确性的标准。科学思维都是以产生结论为目的,因此以什么方式产生结论和以什么标准接受结论构成了一种思维的特有标志,也是区别不同思维模式的主要依据。
比如说,在实证思维的模式中,人们通过观察和实验得出一些揭示客观世界的结论,这些结论最重要的部分是以定律的形式出现的,而其他的结论则是以逻辑推论或者实验验证的方式出现的。对于同一个客观世界,可以建立多种理论系统来进行解释,因此人们必须约定一种解释来展开对于客观世界规律的认识和描述。这就是我们现在所使用的基于伽利略、牛顿、爱因斯坦等科学家建立的物理科学系统。在这个系统中,我们从少数几个定律出发,建立起来解释整个客观世界的架构。其中最显著的特点是,任何结论,无论是通过什么方式得到的,只要在实验中未被观察或者验证,则该结论不会被认可。实证成为判定结论正确性的唯一标准,这就是实证思维的特质性。
而在逻辑思维中,产生结论和判定结论正确性则完全是另外一种方式。首先要有一个称为公理的命题(结论)的集合,然后有一个推理规则,从公理出发通过推理规则产生的结论(包括公理本身)都被认为是正确的。无论这个结论听起来多么荒谬。而对于有些结论,尽管可能在现实世界中被反复验证,但只要不能从这个系统中通过推理得到,都不会被认为是正确的结论。逻辑推理成为判定结论的唯一标准,这就是逻辑思维的特质性。
上述两种思维模式显然有着十分不同的特点,因此成为科学思维中的两类思维模式,它们的代表分别是物理学和数学。我们不排除可以通过其他方式建立科学体系,只是因为人类社会的历史发展,采用并且接受了目前这种关于物理学和数学的表达体系。因此大家必须共同遵循其中的原则,符合判定标准的结论必须认为是正确的,不符合判定标准的结论只能予以存疑。这是人类社会的基本的科学契约,只有大家遵守这一契约,科学才能健康有序地发展。
根据这样的原则,可以解释为什么没有化学思维和生物学思维,也没有经济学思维和管理学思维。不同的学科可以采取相同的思维方式,只要产生结论的方式和判定标准相同,其思维模式也就是相同的。在化学或者经济学中间,其思维的方式和标准与物理学和数学没有什么不同,或者只是它们的混合而已。区别仅在于思维的对象不同,而产生思维结论的方式和判定标准是一样的。思维模式的分类不是以思维对象来区别的。人文科学里面的某些学科,例如文学、艺术等,这些学科中含有艺术思维的特点,不完全是科学思维的范畴,在这些思维中产生的结论和判定标准有其他要求,不属于本文讨论的范围。
由此而论,作为计算思维,也应该有独特的产生结论方式和判定标准,这样才能成为一种新的思维模式。按照周以真的观点,计算思维最本质的特点是抽象和自动化,它的表现形式具有有限性、程序性、机械性、可行性这样一些特点。但是这样的表述仍然没有把计算思维和逻辑思维完全脱开,仅从抽象和自动化这样的概念,其阐述过于简单,难以展开为一个理论体系。实际上,抽象本身也是数学的一个特点,数学本身也承认可构造性、可实现性,循环迭代这样的对象生成方式。因此仅从这些方面来阐述计算思维的特点,虽然把握了本质,但是缺乏一定的理论基础和特征刻画,似乎还不足以将计算机科学从数学中脱离出来,因此我们需要探讨计算思维背后更为本质的内容和彻底区别于实证思维和逻辑思维的特征。也就是说,要探讨计算思维究竟提供了一种什么样的看待世界的方式与标准,探讨计算思维视野下的世界观。
参考文献[5]对这些问题有更详细的论述,可参阅。
二、实证思维和逻辑思维的模式与基石
确立一种思维模式的主要依据是它产生结论的方式和判断结论的标准。在这一节中,我们将继续深入讨论这一问题,为了更加清楚,我们选择物理学和数学这两个最具代表性的学科进行讨论。
物理学的科学体系是建立在以观察事实为根据的假设上面,这些假设是经过无数次的观察和实验得到的,一般称为定律或者原理,例如在经典力学中的牛顿三定律,热力学中的熵增原理,相对论中的光速不变定律,甚至包括量子力学中的测不准原理和泡利不相容原理。这些原理构成了物理学的基石。人们从这些原理出发,可以通过新的实验得出新的结论,也可以通过逻辑推导得出新的结论。以此不断地丰富着物理学的科学体系。如果通过新的观察和实验得出了结论,则进一步分析这一结论与已有结论的关系,是否独立于已有的结论。如果与已有结论不独立的话,则这一结论成为一个推论或者定理;如果独立于已有的结论,并且与已有结论不矛盾的话,则这一结论将会成为物理学新的原理或者定律;如果与已有结论矛盾的话,则物理学将发生重大变革,重新建立一种新的理论体系。在这个过程中,结论与常识是否矛盾不作为判断结论正确性的标准,唯一的标准就是与实验观察是否矛盾。这是物理学产生结论的方式以及判断结论的标准。如果一个结论是从逻辑推导出来的,那么不管这个结论能否解释以前的事实,以及是否多么优美,只要其预见的事实没有在实验中被观察到,都不会作为物理学的结论被接受。其中最典型的例子是弦理论,弦理论有一套十分完美的数学表达,又能够很圆满地解释目前为止观察到的所有物理现象,但是在弦理论预报的事实被观察或者实验证实以前,仍然只能作为一种数学结论,而不是物理结论。至今为止,弦理论可以获得菲尔茨奖,但还不能获得诺贝尔物理学奖。物理学的体系大厦就是通过这样的方式建立起来的,实证是其检验真理的唯一标准。
数学体系的建立遵循另外一种方式。在数学体系里面,首先有一些称为公理的结论,这些结论的正确性在体系内部是无需证明的。然后选择一种推理规则,由公理出发,经过推理得到的新的结论称为体系中的定理。这些结论的正确性只依赖于推理过程的正确性,与该结论是否与自然世界的现象符合没有关系。因此,可以有各种各样的数学体系,甚至有常识看来不可思议的数学体系。从逻辑思维的角度来说,这些数学体系都是符合逻辑思维标准的。当然为了保证数学体系“有用”,能够用于真实世界的解释和演绎,就不是每一种数学体系都被等同对待,而是对于在科学中“有用”的数学予以特别的关注。当今,这个数学体系基本上是建立在重言式公理上,应用三段式推理规则的体系,通过添加不同的附加公理形成不同的数学分支。三段式推理规则和重言式公理构成了数学的基石。
从上面的讨论可以看出,物理学与数学产生结论方式是不同的,判断结论也采取了不同的标准。其共同点是,它们都有一个作为结论产生起点的基石,有一种产生结论的程式,以及判断结论的标准。这些内容构成了实证思维和逻辑思维的特质。物理学的一些结论可以完全不符合数学结论的标准,数学的一些结论也可以完全不符合物理学的标准。因此这是两种不同的科学思维模式。
这里强调两点。首先,基本假设与学科领域有关,在一个学科领域里面的定律或者假设,有时可以在另一个领域中得到解释乃至推论,这一点不影响在本领域中的地位,任何领域内部的科学思维都需要有一个约定的起点,这个起点在本领域中被认为是不证自明的。比如在经典物理学中的关于时间和空间的性质就是该领域中的基本假设,但是在现代物理学中,可能是更加基本的假设的推论。其次,基本假设并不是绝对不能否定,但是如果基本假设被否定,将会导致整个领域体系的重新构建,因此都是重大的突破和革命,这样的事情在科学发展史中有过,但是很少出现。
做了这些讨论之后,现在我们讨论关于计算思维的模式和基石。
三、计算思维的模式与基石
根据上面的讨论,计算机科学体系也有它的基本假设,这些基本假设构成了计算机科学的基石。本文中我们提出计算机科学的三个重要基石,它们分别是:
(1)图灵机理论,即理论可计算性(theoretic computability);
(2)复杂性理论,即现实可计算性(feasible computability);
(3)交互式证明系统,即交互可计算性(interactive computability)。
图灵机理论奠定了计算机科学的基础,这一点毫无疑问。并且从理论上建立了关于计算和可计算的概念。复杂性理论提出了现实可计算问题,特别是NP问题,使得计算机科学与数学开始分道扬镳,计算机科学所特有的思维和方法逐步显现和建立。这些内容都是已经熟悉的了,下面我们专门介绍一下交互式证明系统,这也是一种计算模型。
一个交互式证明系统(Interactive Proving System,IPS)是一对图灵机,分别记作V和P,称为验证者(Verifier)和证明者(Prover),其中V是确定的,P是非确定的。问题x初始被放置在公共的输入带上,证明者P产生一个符号串y,称为证据(witness),而验证者V检查这个y是否为问题x的解,如果是解,则停机,宣布问题解决。这个过程称为P和V的一次交互。这个过程可以反复进行,即P和V可以反复通讯,V不断地向P提出询问,而P根据V的问题,不断地提供证据给V,而V通过检查证据来确定是否停机。如果x确实有解,则V最终必然停机。
如果规定V只有多项式时间的计算能力,这时所能解决的问题类称为多项式交互时间可解决的问题类,记作IP(Interactive polynomial-time)。在任何情况下,我们总假定Prover相对于Verifier而言有无穷的能力,这意味着,如果问题x有解,P总能为V提供适当的证据使得V停机。
IP可以看作是从NP问题发展而来的。一个NP问题,它的解具有多项式长度,而且解的验证可以在多项式时间完成,难点在于如何找到这个解,这个一般需要猜测。假设有一个上帝,即前面说的Prover,对于任何输入的NP问题x,如果x有解,那么Prover就可以产生这个解y,继而由Verifier验证y是否的确是一个解,这只需要多项式时间。因此NP问题只需要Prover和Verifier一次交互即可。反过来,只需要在多项式时间做一次交互就可以判断的问题类也一定是NP问题类。因此NP问题类是IP问题类的一个子类。
更一般的情形是要求如果问题x有解,则V以大于零的概率停机,宣布问题有解。这种系统称为交互式概率证明系统(Interactive Probabilistic Proving System,IPPS),这个系统可解的问题类记作IPP(Interactive Probabilistic Polynomial-time)。显然IPPIP,但是现在还不知道是否IPP=IP,特别地,甚至还不知道一个NP完全问题如果有解,是否能够以大于零的概率给出判断。在应用的背景下,经常使用概率交互式证明系统的概念,因为这种系统更容易作为工程问题的模型。
下面我们从另外一个更加形式的角度来定义NP和IP。
令是一个字母表,L*是一个语言, 是定义在*上的二值函数,并且是确定的多项式时间可计算函数,|x|表示符号串x的长度, 表示x长度的某个多项式。语言L属于NP,如果
这里面的y就称为 的证据。量词 和 各出现了一次,称为一次交互。
多次交互(有限次)的语言类IP定义为:
其中,F是定义*上的2n元的确定的多项式时间可计算函数,n称为交互次数。
还可以继续推广为多项式次交互的语言类IP。即交互次数是输入长度的多项式。对于IPP,只需要在上面的定义作一点改动。
其中Pro(E)表示事件E的概率。
关于IPP更加详细的内容可以参看参考文献[6]、[7]、[8]。
IP(或者IPP)提供了一种新的解决问题和判断结论的方法。通过Prover和Verifier的反复交互,使得Verifier得以正确判定问题的解。Verifier的判定算法是多项式的,而Prover以“神谕”的方式提供判定问题的证据。从计算机科学的角度来看,这种证明问题的方式是NP问题理论的发展,给出了完全新颖的一种思维形式。在下一节中,我们将说明这种思维模式是计算思维特有的,而数学所不包含的。
直观地说,交互式证明系统是一种问答式证明,当问题x1放置在公共输入带上时,如果x1L,Prover将提供证据y1试图使Verifier相信这个事实,而Verifier则根据算法来验证y1是否能够证明x1L,如果可以,则Verifier接受x1,否则将向Prover提出询问x2,而Prover继续提供新的证据x2,以此反复,直到Verifier接受x1。Verifier是确定的多项式时间图灵机,它的能力是有限的,但是它的结论是可靠的。Prover具有无限的猜测能力,但是它给出的证据需要Verifier来验证,这是二者的区别。
实际上,我们对于Verifier限定为确定的多项式时间,这完全是从现实可行的角度。理论上,Verifier可以具有任意的时间度量t,相应的语言类也称之为交互式t时间复杂度类的语言。本文中我们约定的是多项式时间复杂度,即IP(或者IPP)这个语言类。
如果我们只是要求交互过程能够给出解,则这时解决的问题类就是IP。如果更进一步,要求给出解的概率大于零,这时解决的问题类就是IPP。IPP的要求比起IP要严格,也就是说,在交互证明过程中,如果解存在,不仅要求能够给出解,还要求以一定的概率给出解,这个在工程上是重要的,因为工程问题要求的往往不仅是能够解决问题,而是要求必须在一定程度上保证解决问题。因此IPP是解决工程问题的很好的模型,而IP是理论上的常用的模型。在实际模型中,一般要求系统以大于3/4概率给出正确判断。在发起一次问题解决中,我们应该有大于3/4 的把握得到正确答案。换句话说,在不知道问题解的前提下,如果我们得到一个答案,则这个答案正确的概率应该大于3/4。这种问题求解的方式决定了计算思维特有的模式,交互式证明也成为计算思维体系中的基石之一。
四、计算思维的特质性——可解释证明
交互式证明系统是一种新的判断结论的方式,这是通过Verifier和Prover的信息交互实现证明过程的。P和V双方在交互过程逐步达到对于证明的认可。由于V是以确定的方式进行验证,因此结论的判定是可靠的。P是以一种“神谕”的方式提供证据,虽然能力是无限的,但是没有V的验证,证明过程不能结束。这种证明方式很像在课堂里,学生和老师的互动,学生相当于V,老师相当于P,学生不断向老师发问,而老师总是可以正确地回答学生的提问,最终使学生相信结论。因此这种方式在文献[8]中称为“可解释证明”,这个名称很形象地说明了交互式证明的特点。可解释证明是不同于数学的一种新的证明方式,我们称之为计算可证明。
数学证明是一次性证明,即对于一个数学问题,它的证明可以一次性地写下来,而以后任何人只要阅读这个证明就可以相信这个结论。为了将这个问题限制在一个合理的范围,我们一般将数学可证明问题类与NP问题类等同起来。一个NP问题,如果能够找到解,则证明这个解的长度不会太长,因此可以书写下来,所以NP问题类是可书写证明类。从这个观点,可书写证明的问题类是NP,可解释证明问题类是IP,因此,可书写证明问题类(即数学可证明)是否等于可解释证明问题类(即计算可证明)就等价于IP=?NP。这是一个目前还不知道答案的问题。如果IP≠NP(正如人们所猜测的),那么数学可证明就不能涵盖计算可证明。如果IP=P,则计算科学将会塌缩为数学。
一次交互的证明是数学证明,必须多次交互才能得到的证明不符合数学的标准。因此IP已经超出了数学可证明的范围。一个NP问题如果未被证明,找到证明只是时间问题,而一旦找到证明,就可以写下来从而一劳永逸。但是一个IP问题却会在不同的场合经历不同的证明过程,这些过程可能没有重复性和一致性,只是一种“就事论事”的证明方式。一个问题的可解释证明性本身不能被数学证明,除非IP=NP。自然也不可能事先将所有的问题及答案都写下来,以备后人的提问。因为对于一个多项式时间的交互式证明系统而言,各种可能的交互过程在规模上是指数时间的,因此全部写下来是不可能的。交互式证明只能根据V的提问和P的回答而展开,无法事先规定好的。这是可解释证明本身不能被数学证明的原因。
交互式系统强调问题的解决是在交互过程中实现的,这个思想在工程中得到很好的体现。无论是在软件开发、系统设计以及问题求解中,我们都不能期望数学意义上的一次性解决所有问题,或者一次性证明软件或者系统的正确性。在绝大多数情况下,这种数学意义上的证明是不存在的。因此在实际工程中,我们要求所开发的软件,或者设计的系统对于控制对象或者运行环境有很好的响应性,即当控制对象和运行环境发生变化时,控制系统或者运行系统能够及时予以响应,以保证系统能够正确运行。在这个过程中,控制对象或者运行环境看作V,而系统本身看作P,无论V出现什么问题,P都能正确予以响应,从而使得V保持在正确的状态运行。因此一个系统控制或者运行的过程就是一个与对象和环境交互的过程。甚至在软件工程中,对于用户的需求和软件的设计之间也是不断交互的过程。交互式系统更适合作为描述这类工程问题的理论基础,而不是数学。在工程背景下,看重的是系统对于环境变化的响应性和适应性,这种问题用传统的数学观点来思维基本上行不通,因此交互式证明的理论和应用可以很好地解决这一类问题。在这个意义上,我们所说的一个软件的正确性,一个系统的正确性都应该是在交互式证明意义上的正确性。
由于可解释证明本身不能数学证明,因此在工程中采取了一些专门的方法来说明(不是证明!)软件或者系统在可解释证明意义上的正确性。其中一种办法是测试,测试是一种交互,采取事先设计好的测试程序,对于可能发生的问题进行检查,以判断软件或者系统应对变化的能力。测试不是穷举方法,因此不可能覆盖所有可能的问题,只是希望测试的内容有一定的代表性,尽可能反映可能出现的问题。这就有各种测试理论和实践方法。在实际应用中,建立测试平台(benchmark)是常用的方式,通过测试平台,不同的产品之间有一个客观的比较依据,除了测试产品本身的性能评价,也提供了相同类型不同产品之间的性能比较。
工程上另一种处理方式是建立规范和标准。凡是符合规范和标准的产品都被认为是合格的,这也是对于产品在可解释意义下具有正确性的一种说明。现在网络的软件开发和系统设计大量采用规范和标准,通过规范和标准,产品的性能有一定的保证,从工程意义上讲,这样的产品是可以信任和使用的。当然如何制定好的规范,以确保依据规范开发的产品具有可靠性和稳定性,这是规范理论中需要研究的内容,其中交互式证明系统理论具有重要的意义。
交互以及交互式证明是我们在计算机课程中应该重点培养的意识,这种训练以前是不够的。由于受到数学的深刻影响,在计算机的很多课程里,也经常习惯于用数学的观点和标准来考虑求解问题和设计系统,这些方法在很多工程问题上效果不佳。究其原因,还是因为计算机科学或者计算机工程与数学是两种不同的思维方式,用数学的思维方式来解决工程问题会使我们的思路过于狭窄和绝对,难以培养出真正的计算机科学和工程应用人才。另一个极端是,由于工程问题难以用数学的方法来评价,因此在很多工程问题的设计和开发中,干脆处于完全没有理论指导的状况,采取了就事论事或者随心所欲的方式,使得软件或者产品的质量没有严格的保证。这两种情况现在都存在,后者似乎更普遍一些,因此将交互式证明系统理论引入工程设计和开发,是一个合适的选择。这是计算思维带给我们的一种完全不同于逻辑思维的启示,也是我们推进以计算思维为导向的计算机课程改革所应重点关注的问题之一。
五、计算思维的特质性——关联世界
计算思维另一个特质性是关联关系。这是从计算思维角度看世界的一种方式。物理学看世界的观点是因果关系,比如说,一个物体改变了运动形式,那么一定是受到某个力的作用。而数学看世界的方式是逻辑关系,比如说,如果从等腰三角形的顶点向底边做一个垂线,则该垂线一定平分底边。这是物理学和数学看待世界的不同方式,也就是物理学和数学的世界观。
与物理学和数学不同,计算机科学看待世界的方式是关联,关联是现象之间的一种联系。对于计算机科学来说,不关心现象之间的内部因果关系,也不关心现象之间的逻辑关系,只关心现象之间的空间关系和时间关系。计算机处理的是符号,而符号是客观对象的抽象,所有的现象都被作为数据成为计算机处理的内容,因此在计算机科学看来,现象是世界万物的表现形式,具体的内容就是数据。特别是当前已经进入大数据时代,关于数据与数据,也就是现象与现象之间关系的研究日益成为计算机科学的重要内容。这些研究也推进了计算思维在内涵上的丰富,即形成了从关联关系来看待世界的一种新的世界观[9,10]。
关联研究现象出现的关系主要有两种:一种是空间关系,研究现象之间的位置关系;另一种是时间关系,研究现象之间的次序关系。为了从大量的现象或者数据中找出其中的位置关联或者时间关联,目前已经发展出一些技术来挖掘这些关联。其中关于空间关联,这里的空间既包含通常所说的几何空间,也包含问题所定义的抽象空间,主要是对于数据的分类,在定义的空间里面,把相近的数据进行划分,或者说找出数据之间的聚类关系。技术上被大量采用的是熟悉的支持向量机(SVM)以及神经网络(NN)。这两种技术都是通过学习和训练,给出划分数据相互空间关系的模型。关于时间关联,当前比较常见的是贝叶斯网络以及通过贝叶斯公式演化出来的各种动态模型。通过对于模型的修正,得到接近于实际情况的数据之间的次序(时间)关联关系[11,12]。
关联关系是统计意义上的,一个事件A与另一个事件B关联,是在统计意义上说的。因此当A发生时,未必一定发生B,而是在一定程度上会发生B,这是关联关系与因果关系和逻辑关系最大的区别。在人类行为分析的研究中,更多的是现象的关联关系,定性的或者定量的建立并且分析这些关联关系,在社会科学和人文科学方面占据了重要的内容。
从小学到中学,我们的所有思维训练基本上都是因果的或者逻辑的,也就是说,物理课和数学课对于我们的影响太深,并由此养成了非此即彼的思维习惯。但是,计算思维却训练我们另外一种思维方式,这种思维方式关注事物之间的关系,并由此产生定性的甚至是定量的分析,这种关系具有一定的不确定性和变化性,这种思维拓宽了看世界的角度和方法。因此在大学里要逐步学会从关联的角度来看世界。这对于使用计算机解决问题是十分基础的。现象之间最重要的是其中的关联程度,如果弄清楚了这些关联,也就能够提出解决问题的思路和方法。至于这些现象内部的因果关系或者逻辑关系,从计算思维角度来说都不是重要的。
现在大数据分析和网络科学方面引进了大量关于关联的理论和分析工具。比如网络中的无尺度理论、小世界理论以及在对于人类行为分析的幂律现象,都是关联分析中得到的重要规律[13]。从事物的关联来思考问题,而不是从因果或者逻辑角度思考问题,是计算思维的特有性质,作为计算机基础课程,训练这种思维自然是一个重要的内容。
六、总结
在本文中,我们讨论了计算思维的两个特质,即可解释证明和关联世界。这是计算思维区别于实证思维和逻辑思维的界石,也是不同于前两种思维的新的世界观和价值观。以此衍伸出来一些工程的方法和模式都无不与此有关,奠定了计算思维在计算机科学和工程中的重要地位。因此从教学的角度,这种思维的养成以及两种特质的掌握需要深刻探讨。这也是学生从高中学习到大学学习需要经历的重大转变。大学计算机课程在计算思维的培养方面,要逐步使得学生能够在交互过程中解决问题,通过观察建立事物之间关联规律,养成这样一些思考问题的观念和习惯,对于提高学生科学思维的综合素质无疑是十分重要的。
在实际的科学活动中,各种思维是混合运用的,基本不会单纯使用一种思维模式来认识问题和解决问题。因此本文所提出的计算思维这些特质,是作为一种研究单独抽取出来,目的是清楚地勾画出计算思维的特有方式和标准,把这些都搞清楚了,有利于提高在解决实际问题时综合应用各种思维的能力。这是我们要强调的一点。
随着网络和数据科学的进一步发展,更多的计算思维特征还会被进一步挖掘和表现,发挥越来越重要的作用。当然,涉及这两种计算思维特质的具体形式,由于其基本内容过于专门,即使计算机专业的学生也不一定学习这些内容,因此在大学计算机基础课程中也不可能专门讲授这些内容,但是对于教师,应该了解这方面的材料,并把其中的基本特点教给学生,以培养学生在这些方面的理解和意识,我们在教学改革中应该认真地加以重视。
参考文献:
[1] Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.
[2] 陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011(1).
[3] 王飞跃. 计算思维与计算文化[N]. 科学时报,2007-10-12.
[4] Xu ZW, Tu DD. Three new concepts of future computer science[J]. Journal of Computer Science and Technology, 2011, 26(4): 616-624.
[5] R. Penrose. The Emperors new mind, concerning computers, mind, and the law of physics[M]. Oxford, New York, Melbourne: Oxford University Press;中译本:徐明贤,吴忠超译. 长沙:湖南科学技术出版社,1999.
[6] L.Babai, S. Moran. Arthur-Merlin games: A randomized proof system, and a hierarchy of complexity classes[J]. Journal of computer and system scineces, 1988, 36, 254-276.
[7] R. Canetti. More on BPP and the polynomial-time hierarchy[J]. Information processing letters, 1996, 57, 237-241.
[8] S. Goldwasser, S. Micali, C. Rackoff. The knowledge complexity of interactive proof-system[J]. SIAM Journal on Computing, 1989, 18(1), 186-208.
[9] Lindsay, R. & Gorayska, B. Relevance. Goals and Cognitive Technology[J]. International Journal of Cognitive Technology, 2002, 1(2): 187-232.
[10] Hjorland, Birger. The foundation of the concept of relevance[J]. Journal of the American Society for Information Science and Technology, 2010, 61(2): 217-237.
[11] T. Mitchell. Machine Learning[M]. 中译本: 曾华军,张银奎译. 北京:机械工业出版社,2003.
[12] 邓乃扬,田英杰. 数据挖掘中的新方法:支持向量机[M]. 北京:科学出版社,2004.
[13] A. L. Barabasi. Bursts, the hidden pattern behind everything we do[J]. Publisher Penguin, 2010.
[责任编辑:余大品]