APP下载

应该是、是、怎么做——计算思维的理性离析*

2016-12-18樊子牛

办公自动化 2016年2期
关键词:理性哲学学科

樊子牛 牟 琴 王 华

(四川外国语大学 重庆 400031)1(重庆师范大学 重庆 400030)2(川外南方翻译学院 重庆 400715)3



应该是、是、怎么做——计算思维的理性离析*

樊子牛1牟琴2王华3

(四川外国语大学重庆400031)1
(重庆师范大学重庆400030)2
(川外南方翻译学院重庆400715)3

摘要理性主导着人类认识发展史。在理性的维度中,计算思维的根本问题“什么能被有效地自动进行”,经历了哲学、科学和实践三个层面的思维运动的问答。在问答过程中,显现了计算思维的抽象思维方式、数学思维方式和工程思维方式的特点,形成了计算学科的哲学基础、科学理论和实践构造的知识体系,离析出计算思维的三层含义。

关键词计算思维理性思维方式

Ought,Being,Doing:The Rational Segregation of Computational Thinking

Fan Ziniu1Mu Qin2Wang Hua3
(Sichuan International Studies University Chongqing 400031)1
(Chongqing Normal University Chongqing 400030)2
(International Business School,Chongqing Nanfang Translators College of SISU Chongqing 400715)3

Abstract The rational dominates the history of human development. In the rational dimension,the essential question of computational thinking is what can be proceeded effectively and automatically,through the questions and answers of thinking movements from the three levels including philosophy,science and practice. In the process of the questions and answers,the paper has showed characteristics in the abstract thinking way,the mathematical thinking way and the engineering thinking way of computational thinking,formed the philosophical foundation,the scientific theory and the knowledge system of practice construction,and segregated three implications of computational thinking.

Keywords Computational thinking Rational Thinking way

一、引言

自2006年美国卡内基·梅隆大学的周以真教授显式地提出了计算思维,国内外众多学者从不同层次、不同角度出发,对计算思维进行了有益的探索与研究。在这些探索与研究中,主要是从计算学科本身的理论归纳和实践演绎这两个方面,探寻了计算思维的内涵与外延。但对于计算思维的思想源流---哲学基础,以及在工程实践中计算思维面对的困境,却几乎没有涉及,因而存在一些研究内容的缺失。计算思维并非突然一下就成长起来,它经历一个历史与逻辑的发展过程。对于这个过程,笔者尝试从理性的维度,在哲学、科学和实践三个层面,以解答学科的根本问题为线索,探寻计算思维的思维运动轨迹,以期补充、丰富对计算思维的理性认识。

二、理性的维度

理性,一般说来,就是人类通过观念活动把握和处理生活环境,指导自己的实践行为的一种能力[1]。理性发端自古希腊哲学,发展于近代西方哲学与自然科学之契合,成熟于现代实践哲学和复杂性科学之统一。对于世间万物,人只有通过理性才能掌握对象的本质与规律。理性可分为理论理性与实践理性,理论理性是认知的理性,包含抽象理性与科学理性,对应着哲学与科学,是要解决“应该是什么”和“是什么”的问题;实践理性是行动的理性,也即“行动的推理”(黑格尔)[2],对应着实践,是要解决“怎么做”的问题。

理性在不同层次、范围中的运用,就产生了不同的思维方式。思维方式是人们思维活动中用以理解、把握和评价客观对象的基本依据和模式【3]。抽象理性产生了抽象性、思辨性的思维方式,如抽象思维方式;科学理性产生了精确性、必然性的思维方式,如数学思维方式;实践理性产生了筹划性、构造性的思维方式,如工程思维方式。

不同的思维方式在思维活动中,又会产生不同的知识体系。抽象思维方式产生了哲学的知识体系;数学思维方式萌发了近代科学的知识体系;工程思维方式构造了实践活动的知识体系。

哲学基础、科学理论和实践构造,是一门学科知识体系的有机组成部分,不同部分的知识之间既相互区别,又相互依存。如果把计算学科比喻成一颗大树,那么哲学基础就是树根,科学理论就是树干,实践构造就是枝叶。

三、计算思维与学科的根本问题

计算思维关注的根本问题,也是学科的根本问题,即:“什么能被有效地自动进行”。这是问题的抽象表述,其中“什么”是指客观对象;“自动进行”是指客观对象的活动;“有效”是指活动的效率;这里还隐含着活动所需的载体,是精神载体、或是物质载体,亦或精神与物质统一的载体。

计算思维的定义是:计算思维是运用计算机科学的思想与方法去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动[4]。这是从思维角度对根本问题的具体回答,“涵盖计算机科学之广度的一系列思维活动”是根本问题中的“什么”;“求解问题、设计系统和理解人类的行为”是“自动进行”的活动;“运用计算机科学的思想与方法”是解决根本问题的方法与手段;活动所需的载体隐含地指向计算机系统。

从抽象问题的提出,到计算思维定义的具体回答,经历了“应该是什么”、“是什么”和“怎么做”三个过程。这三个过程是计算学科的发展过程,也是计算思维的形成过程。

四、“应该是什么”——根本问题的哲学问答

哲学即爱智慧,以“整个世界”为对象,提供关于“整个世界”运动与发展的最普遍的本质和规律。哲学在寻求“普遍规律”的思维活动中,是以哲学思维方式为认识的依据和模式。哲学思维方式,也称为思辨思维方式、抽象思维方式,本文中使用抽象思维方式这个词条。

抽象思维方式的主要特点是无限性、反思性、抽象性、辩证性、终极性。无限性是指,哲学思维的对象是“整个世界”,是无限的,而具体科学的思维对象是局部的,有限的;反思性是指,哲学思维是对认识的认识,即把科学理论与规律作为认识的对象,进行再认识;抽象性是指,哲学的抽象是高度的抽象,比具体科学的思维更为抽象,是一种“纯粹的思想”;辩证性是指,哲学命题是一种理论上的假说,不可实证,它遵循辩证逻辑的公式:A是A又是非A[5];终极性是指,哲学思维总是试图给出终极的说明或规定,总是把自己的结论看成是不可易移的终极真理[5]。

以抽象的思维方式,对于计算学科的根本问题,“什么能被有效地自动进行”,可以抽象地表述为:整个世界可以在思想中进行逻辑的运动吗?这个问题可以分解为以下几个问题。如何对整个世界进行认识?世界的本质是什么?什么决定着认识过程?认识过程可以自动化吗?古希腊的哲学命题,对这些问题做出了启蒙式的回答。

如何对整个世界进行认识?柏拉图的“理念论”提出现象世界背后的理论世界是真实的,即普遍的概念、形式是本质,这是身心二元论的理论雏形;后经17世纪的法国哲学家笛卡尔提出“我思故我在”,进一步发展了身心二元论的哲学思想。身心二元论思想提倡精神可以和物质相分离,我们通过精神把握概念,也就认识了事物的本质。

世界的本质是什么?毕达哥拉斯学派以最初的抽象方式提出了“数”是万物的本源,万物都包含着数量关系。“数”不仅可以用来解释具体事物,而且可以用来解释抽象事物,数构成了一切变化不定之物共同的确定不变的东西[6]。

什么决定着认识过程?亚里士多德对思维活动的形式进行了研究,分析了概念、判断、推理等逻辑形式,提出了同一律、矛盾律和排中律三条逻辑公理,发展了古典形式逻辑系统。亚里士多德建立了首个纯形式推理体系,为形式化的发展提供了重要的思想源泉[7]。

认识过程可以自动化吗?亚里士多德在柏拉图“理念论”的基础之上,提出了“四因说”,并归结为质料与形式的区分,形式决定质料,这就是亚里士多德的“目的论”。“目的论”蕴含着“自动化”的思想,任晓明教授认为,亚里士多德的目的性概念可细分为“构造的目的性”和“程序目的性”,是构成计算机科学哲学的核心理念之一。

同时,亚里士多德在《形而上学》一书中指出,同种元素体自身内的各个部分没有相互作用,但互相接触的不同元素体之间却有相互作用,论述了事物的相互作用和变化的关系,是系统论的思想源流。

在抽象思维方式的统筹下,古希腊的哲学命题,万物皆数、身心二元论、古典形式逻辑、目的论、相互作用论等,对学科的根本问题做出了各自的回答:精神可以对现象世界进行认识,获得本质与规律;“数”是通过精神获取的,是万物的本源;形式逻辑系统决定着认识过程,是可以形式化的;形式化后的认识过程,是可以自动进行的。这些回答的综合表述是,经由理念而获得的“数”,代表着万物的本质与规律,在形式逻辑系统中是自动进行的。在解答的过程中,从万物中去归纳“数”,体现了哲学思维方式的无限性;用“数”去解释万物,体现了抽象性;问题的前提“假说”与结论“假说”,体现了辩证性;结论“假说”至今仍然对计算学科的理论建构产生着影响,体现了终极性。

古希腊的哲学命题,以及这些命题对学科根本问题的问答,构成了计算学科在哲学层面的知识体系,形成了学科的哲学基础。学科的哲学基础为计算学科的理论做了思想的奠基,也孕育了计算思维的抽象思维方式。

从哲学的层面,计算思维可表述为:计算思维是用数(符号)对世界进行表征(抽象)和理解(自动化)的思维活动。这种“应该是什么”的哲学表达,为科学理论的进路指出了方向。

五、“是什么”——根本问题的科学问答

科学是反映自然、社会、思维等的客观规律的分科的知识体系[8]。科学发源于近代西方,产生了数学、物理、天文学等自然科学,数学是其中的典型代表。德国数学家高斯说过:数学是科学的皇后。数学的演绎方法,从确定的前提到严谨的逻辑推理,再到不可置疑的结论,其精确性、确定性、标准化让数学成为了人类认识自然界的一种重要工具。王汝发教授认为,数学为科学提供了定量分析和计算方法;数学是科学的逻辑工具;数学是现代科技进步的重要基础;科学是数学的解释与模型[9]。近代西方科学的形成与发展,主要是凭借数学思想、方法,在数学思维方式的推动下进行的。

数学思维方式的主要特点是抽象性、逻辑性、形式化、问题性。抽象性是指,对具体对象的抽象,如空间、数量、问题,形成数学概念和数学模型;逻辑性是指,在数学思维的过程中,遵循形式逻辑的公式,如A等于A,数学中的公理、算法、甚至是数学理论体系的展开过程,都充分表现出数学的逻辑性;形式化是指,用数学的符号系统对客观对象的形式(而不是内容)进行研究,使之精确化、机械化;问题性是指,数学思维是面向问题的思维方式,就是对问题进行数学抽象,建立数学模型,再对模型进行验证与改进,问题性是对数学思维方式特点的总体性概括。

“什么能被有效地自动进行”,这个学科根本问题在哲学中获得了抽象回答之后,就需要科学理论做出具体的回答。马希文教授指出用计算机解决问题的三个基本前提,一是必须把问题形式化;二是形式化后的问题必须是可计算的;三是这种问题必须有一个合理的复杂度[10]。这就引发出了三个提问:问题可以形式化吗?形式化后的问题有算法吗?这个算法是能计算的吗?自然科学中的相关学科对这些问题做了回答。

问题可以形式化吗?逻辑学是研究思维的形式、规律和方法和科学。逻辑学对计算学科影响最大的就是形式化方法,形式化方法用特定的符号系统,来表示概念、命题和推理。形式化代表了一种极度精确的思维,排除了模糊性与歧义性,具有精确性、严格性、显明性、能行性和普遍性的特点[11]。哥德尔的不完全性定理,为形式化方法划定了自己的边界。逻辑学中的形式化方法为问题的形式化提供了方法论支撑。

形式化后的问题有算法吗?如果我们对一个形式化后的问题找到了一个算法,就称这个问题是可计算的。在计算科学中,当一个问题的描述及其求解方法或求解过程可以用构造性数学来描述,而且该问题所涉及的认论域为有穷,或虽为无穷但存在有穷表示时,那么,这个问题就一定能用计算机来求解[12]。数学的众多学派中,对计算学科影响最大的是构造性数学。构造性数学用数学方式对现实世界进行抽象,建立模型并研究其内在规律,构造性数学的基础归根到底是递归论[13]。构造性数学包括数理逻辑、抽象代数、图论和集合论等。数理逻辑是用数学的方法来研究形式逻辑问题,数理逻辑在计算科学中用来验证定理、推论和程序正确性等,数理逻辑与电子技术的结合产生了电子计算机。抽象代数是关于运算的学问,是关于计算规则的学说[14],抽象代数对可计算性和计算复杂性、形式语言与自动机、算法理论提供了理论基础。图论和集合论是表示离散对象及其相互关系的抽象数学结构,为数据结构和数据表示奠定了理论基础。构造性数学为形式化问题的可计算提供了数学的描述方法。

这个算法是能计算的吗?找到一个算法,具有了计算的可行性,但不一定就能计算,这就涉及到计算复杂性的问题。计算复杂性理论是理论计算机科学的分支学科,使用数学方法对计算中所需的各种资源的耗费作定量的分析,并研究各类问题之间在计算复杂程度上的相互关系和基本性质,是算法分析的理论基础[15]。计算复杂性理论提出了在多项式时间内可以求解的P类问题、在多项式时间内可以验证的NP类问题和P=NP?的关系问题,为算法的能计算提供了方法与思路。

对计算学科影响较大的还有系统科学。董荣胜教授认为系统科学中的模型方法(建模、验证、实现),直接影响着计算学科。计算机的组织结构设计方法、软件开发中的结构化方法和面向对象方法等,都借鉴了系统科学方法。系统思维方式注重对象的整体性、层次性、相关性和动态性,是计算思维的有机组成部分。

在数学思维方式的统筹下,逻辑学的形式化方法、数学中的构造性数学、计算科学的计算复杂性理论,从科学理论上分别回答了学科的根本问题:一些问题是可以形式化的;这类形式化后的问题中,是存在算法的;对于有算法的形式化问题,是可以计算的。在解答过程中,对问题本身的抽象体现了数学思维方式的抽象性;对问题的描述体现了形式化;构造性数学的运用体现了逻辑性;整个问题的解决过程体现了问题性。

计算科学在吸收其它学科(逻辑学、数学、系统科学)思想与方法的基础上,以数学思维方式为主导,完成了对根本问题的科学解答,形成了计算学科重要的科学知识体系---基础理论。数学思维深刻地影响着计算思维,使计算思维具有了数学思维方式的特点。

从科学的层面,计算思维可表述为:计算思维是与形式化问题及其解决方案相关的一个思维过程,其解决问题的表示形式应该能有效地被信息处理代理执行[16]。这种“是什么”的科学表达,为实践构造奠定了理论基础。

六、“怎么做”——根本问题的实践问答

实践是主体依据一定目的变革客体的感性活动[3]。计算思维是面向所有人、所有地方,建造的是能够与实际世界互动的系统[17]。这种建造系统的过程,是实践的活动,具体讲是一个造物的过程,属于工程的范畴。例如,我国“天河千万亿次巨型计算机”的建造,就是典型的工程案例。工程活动由于涉及到不同实体、不同理论及它们的相互关系,其思维方式不同于哲学和科学的理论思维方式,是一种实践性、筹划性的工程思维方式。徐长福教授指出,工程思维是将主客体之间的各种价值联系非推导地复合在一起并据此去设计工程完形的思维方式[18],即一条在实践中处理异质性的beings(复数的“是”)的道路[19]。

工程思维方式的主要特点是目的性、异质性、复杂性、筹划性、反馈性。目的性是指主体的价值意图,工程所有的活动都指向目的;异质性是指工程中的诸多因素的不同质,如各种客观实体(如场地、人员、材料、环境)的不同质,各学科理论的不同质(如天河计算机工程就涉及到管理学、经济学等);复杂性是指对工程中诸多异质因素呈现出来的相互关系;筹划性是指一条把不同种类的复杂因素在一个实践操作单元中“想周全”的路[19];反馈性是指,在工程实践中不能解决的问题,反馈给科学与哲学进行处理。

“什么能被有效地自动进行”,这个学科根本问题在科学理论中获得具体的回答之后,进入了实践领域,从“是什么”转变成了“怎么做”,问题由因果性变成了目的性。在工程实践中,是由实践向计算学科发出提问,即目的性向因果性发出提问:什么能被有效地自动进行。对此提问的回答方式不是“是什么”,而是“怎么做”,可分为二个维度。一是从工程筹划的维度出发,从学科自身向外探寻学科的外延广度(自然、社会、人文),哪些问题是可以用学科的理论来解答和构造;二是从工程反馈的维度出发,从学科外部向内追问学科的理论,还有哪些问题是能被有效地自动进行。

从工程筹划的维度出发。在工程实践中,计算学科的理论和相关领域学科的理论,包括其它一些异质性实体因素,在工程思维的统筹下,进行着逻辑和非逻辑的筹划与构造,建构起了各种与实际世界互动的系统(如天河千万亿次巨型计算机系统)。在建构系统的过程中,为了适应工程活动的异质性和复杂性,学科的内部出现了细化,学科外部出现了延伸。首先是学科内部的细化,ACM和IEEE-CS联合工作组在2001年总结并提出了计算机科学知识体系,并将计算学科分为计算机科学、软件工程、计算机工程、信息技术和信息系统等五个分支学科,分别对应着不同的实践领域。其次是学科外部的延伸,催生了许多交叉学科,如计算物理、计算化学、计算生物学、计算经济学、计算语言学、计算机艺术等;计算作为一种思维方式与手段,有力促进了相关学科的进步,取得了丰硕的研究成果,如高科技医疗器械CT、克鲁格的生物分子结构理论、吴文俊的“吴方法”等等。互动系统的构建、计算学科的细化、交叉学科的产生,都是工程思维在实践中把不同种类的复杂因素周全且合理地建构成诸多工程实例的结果。这是从工程筹划的维度出发,对学科根本问题的有力回答。

从工程反馈的维度出发。在工程实践中,当异质性实体、其它学科理论与计算学科的理论不具有同一性时,就引发了对学科理论的追问和反思。反思可以从科学与哲学二个层面来进行。首先从科学层面,是对理论本身的反思与改进;例如,20世纪60年代出现的“软件危机”,学科理论面对实践的发问,借鉴了工程的思想与方法,解决了“软件危机”,并催生了“软件工程”。其次从哲学层面,是指当学科理论本身也无法解决时,就要对理论的前提进行反思,这就进入了哲学层面;例如,以传统的哲学假设为基础(存在论和身心二元论)的人工智能领域在面对难以克服的困难时,一些计算机专家开始反思作为其工作基础的哲学假设,并开始以反传统的海德格尔哲学为基础来构建一种新式的计算机系统设计进路。其中最具代表性的是:威诺格拉德的存在主义设计、阿格勒的指示表征设计和多罗希的具身交互设计[20]。科学与哲学的反思,使计算学科内在地具有了蓬勃生命力。这是从工程反馈的维度出发,对学科根本问题的诚实应答:我们正在前进的路途中。

在工程思维的筹划下,计算学科在实践中产生了5个分支学科。各分支学科基于学科的基础理论,产生了各自的理论与方法,这些理论与方法汇聚成了计算学科在实践层面的知识体系。同时,工程思维也滋养着计算思维,使计算思维具有了工程思维方式的特点。

从工程思维方式的角度,计算思维可表述为:计算思维是运用计算机科学的思想与方法去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动[4]。这种“怎么样”的实践表达,为科学与哲学提供了反思的可能。

七、结束语

从理性的维度,计算思维在哲学、科学、实践三个层面,分别以抽象思维方式、数学思维方式、工程思维方式完成了学科根本问题的解答。在解答的过程中,这种的分层、递进式的思维运动,显现了计算思维的三种思维方式的特点,形成了学科三个层面的知识体系,离析出计算思维的三层含义,从而丰富了对计算思维的理性认识。

参考文献

[1]韩震.重建理性主义信念[M].中国出版集团.2009.

[2]夏甄陶.理性仁心德行[J].哲学研究.2001.

[3]高清海.找回失去的“哲学自我”[M].2004.

[4]董荣胜,古天龙.《计算思维与计算机方法论》[J].计算机科学.2009,16

[5]倪勇.哲学思维方式及其特点讨论综合[J].武汉大学学报.1994,19.

[6]邓晓芒.西方哲学史[M]. 2005.

[7]李建会,符征.计算主义[M]. 2012.

[8]中国社会科学院语言研究所词典编辑室编.现代汉语词典[M]. 2002.

[9]王汝发.从数学的百年走势看数学与科学技术之关系[J].2003.

[10]马希文.计算机与思维科学[M]. 1986.

[11]李建华,李红革.形式化及其历史发展[J].自然辩证法研究.2008.

[12]陈国良.计算思维导论[M]. 2012

[13]赫宁湘.构造性数学及其哲学意义[J].自然辩证法通讯.1997.

[14]赵致琢.计算科学导论[M].科学出版社.2006.

[15]Cuny J,Snyder L,Wing J M. Demystifying CT For Non-Computer Scientists[J]. Work in Progress.2010.

[16]Wing J M. Computational Thinking [J]. Communication of the ACM. 2006.

[17]徐长福.理论思维与工程思维[M].重庆出版社. 2013.

[18]徐长福.重新理解理论与实践的关系[J].教学与研究.2005.

[19]徐献军.海德格尔与计算机[J].浙江大学学报. 2013.

樊子牛(1972~),男,高级实验师,硕士,研究方向为计算机基础教学、教育技术;

牟琴(1985~),女,实验师,硕士,研究方向为计算思维、教育技术;

王华(1989~),女,讲师,在读博士,研究方向为教育管理学。

作者简介

*基金项目:本文受重庆市教育科学“十二五”规划课题的资助,立项号:2014-GX085。

中图分类号TP3-4

文献标识码A

文章编号160105-7184

猜你喜欢

理性哲学学科
“双减”的路向反思与理性审视
【学科新书导览】
土木工程学科简介
菱的哲学
人人都能成为死理性派
小包哲学
“超学科”来啦
改革牛和创新牛都必须在理性中前行
借问学科哪家强?尽言洄服有良方
理性的回归