计算,本质上是用一系列的运算,也就是映射,建立从未知量到已知量的映射关系,建立从输入到输出的关系

计算,本质上是用一系列的运算,也就是映射,建立从未知量到已知量的映射关系,建立从输入到输出的关系。它是一门极为严谨的科学:计算结果正确与否可以得到检验——充分的可证伪性;它是一项实际的工程,需要考虑到诸如复杂性,鲁棒性等等限制因素——现实的约束;它也是一门优雅的艺术,同样是从A到B的映射,却有着的许许多多的实现方式,有复杂的,有简洁的。有优美的,也有丑陋的,问题的输入输出已经得到界定——然而实现的过程却充满着创造性。计算思维是一种建筑活动:只不过建筑材料不是木石砖瓦,而是各种基本运算。用这些材料,我们可以发挥无尽的创造力,去搭建想要的房屋。

https://www.cnblogs.com/Vonng/p/4245130.html

++++++++++++++++++++++++++++++++++++++++

计算思维

  1. Abstract

  本文扯了一扯计算思维的相关内容。应XX要求,还特补充了点关于与本科生教育有关的内容。

  1. 引言

  任何一门学科都有其核心思想。数学中,公理化的数理思维居于核心;工程学里,近似化的工程思维乃是黄金准则;法学上,权利与义务的思维则贯穿始终;经济学内,有着理性人的概念作为基本假设。一门学科的学习过程,相比知识的积累,更为重要的便是这种思维的培养。一门学科的思维,蕴含着整个学科理论体系的世界观与方法论,是整个学科研究经验的高度凝练与概括,真正可以称之为精华的东西。

  那么对于计算机科学,我们又可以说什么?本文旨在阐述计算科学的思维,即计算思维。它的来源,意义,以及培养本科生计算思维的方法。

 

  1. 计算思维的来源

  一个非常无聊的现状是:几乎在每一篇谈及计算思维的文章中,开篇都会不厌其烦地重复周以真教授所给出的定义。本文希望以一种不同的方式来阐述这个概念:从一个概念的来源出发。解释这个问题:什么是计算思维。

  计算机科学,本质上是应用数学,它是数学与工程学的混血儿。一方面,它具有数学的抽象,严谨,与精确;另一方面,它又广泛应用了工程学中的近似方法。计算机科学,继承了这两者许多的特质。而其核心思想,亦是两者之精华。我们可以说

  计算思维=数理思维 ∩ 工程思维。

  计算思维是数理思维的一个子集,它是对数理思维加以实际限制所得到的一个子集。 

 

  那么,我们便可以着手了解计算思维了。首先,我们研究它与数理思维的联系。

数理思维属于认识论,实证论和方法论的综合思维形式。其最大的认识特征便是:概念化,抽象化,模式化。一个具有数理思维的人,往往具有如下的特征:在讨论问题时,习惯于强调定义,界定概念,明确问题的条件;在观察问题时,习惯于把握其中的(函数)关系,在微观认识的基础上构建综合多因素的宏观考量;在认识问题时,习惯将已有的严格数学概念广义化,并应用于现实中问题的认识过程中。将数学思想应用到实际,让数学概念,数学模型与现实世界中的事物建立同构,以数学的方法论去认识和处理客观事物。这就是数理思维。

  我们容易发现,如果将上面一段文字中的“数理”二字换为“计算”,读来亦无任何不妥。这足以体现计算思维与数理思维的一脉相承性。事实上,所谓计算思维的概念,与其说是它是随着计算机技术发展而被提出,倒不如说它是随着应用数学的繁荣而出现。

  培养计算思维的先决条件是培养数理思维。数理思维的核心就是公理化。而公理化可以理解为形式化+公理。数学所研究的内容,当所有定义明确给出之后,就已经被决定了。它从公理出发,按照指定的规则进行演绎,从而构建出整个数学体系。计算思维与数理思维的区别在于:它更加强调形式化的部分。它不关心演绎起点是否直观,是否正确,它所关心的是输入与输出,已知量与未知量之间是否有着正确的联系。

  因为任何学科的知识都可以用命题的形式来表述。那么我们不妨用形式化的手段来阐述数理思维与计算思维之间的区别。

  我们知道假言推理规则:A Λ A →B => B

数理思维需要解决的问题:,不仅包括蕴含式A -> B的真值,还要确定命题A是否正确。而计算思维研究的问题:,则进行了简化,它仅仅需要确定A得到B这一过程是否正确。

 

 

  其次,我们来研究计算思维与工程思维之间的联系。

  工程是数学与科学的某种应用:以最少的资源,解决最多的问题。至于工程思维,虽说没有一个公认的定义,但这丝毫不妨碍我们对它的认识。工程思维的核心,便在于近似化。通过对实际的理论,加上客观环境的限制。提出可行的方案并评估可行性,择优而用。

我们依然可以以“计算”二字替代“工程”而无恙。譬如计算机科学中,我们对算法的限制指标便是:时间复杂度与空间复杂度。

 

  计算思维来源于数理思维与工程思维,然而它的内涵却并不仅仅是这样。计算,本质上是用一系列的运算,也就是映射,建立从未知量到已知量的映射关系,建立从输入到输出的关系。它是一门极为严谨的科学:计算结果正确与否可以得到检验——充分的可证伪性;它是一项实际的工程,需要考虑到诸如复杂性,鲁棒性等等限制因素——现实的约束;它也是一门优雅的艺术,同样是从AB的映射,却有着的许许多多的实现方式,有复杂的,有简洁的。有优美的,也有丑陋的,问题的输入输出已经得到界定——然而实现的过程却充满着创造性。计算思维是一种建筑活动:只不过建筑材料不是木石砖瓦,而是各种基本运算。用这些材料,我们可以发挥无尽的创造力,去搭建想要的房屋。

 

 

  我们还可以更加深入的对计算思维的内涵进行研究。如果我们注意到另外一个重要的概念:算法。周以真教授在《Computational Thinking》一文中所提出的所有计算思维的内涵,都是算法中的概念。事实上,任何可以归入计算思维范畴的内容,在算法中都可以找到对应的事物。换而言之,在计算思维与算法的运用之间可以建立一种同构。更进一步讲,计算思维就是使用算法的方法论。需要注意的一点区别在于计算思维并不直接等同于算法,思维属于“道”,而算法属于“器”,如何运用“器”的方法才是“道”。还有一点需要注意:“计算思维”这一概念暗示着这一过程的执行主体是人而非机器。

 

综上所述,我们可以以另外两种不同的方式为计算思维下一个定义。

第一种定义是种差+属概念:计算思维是工程化的数理思维。

第二种定义是:计算思维即运用算法的思维。

 

  1. 计算思维的意义

  不论是大到思索宇宙的奥秘,还是小到下一步路该如何控制肌肉。我们无时无刻都在进行思考,无论是有意识的还是无意识的。这种思考是一种计算,因为它确然符合计算的定义:根据已知量算出未知量。然而,我们日常生活中头脑所进行的计算与发生在计算机内部的计算却有着一些不同:这种区别在于,人类中的大多数,在绝大多数时间,都倾向于用归纳的方式进行计算,换而言之,一种神经网络的方法。谁也不知到在一百亿个神经元以及其十万倍数量的链接之间到底存在着怎样的黑魔法;计算机则不然,它严格遵循演绎的方法,根据严格的规则行事。如果正好运用一把计算思维来做一个类比:计算机所用的恰好是RISC指令集,而人脑采用的,则是无比复杂的CISC指令集。

对于人脑与计算机的区别,一种更好的评价方式是:是否适合(Fit)环境。对于复杂多变的物质世界,人脑通过极大的冗余设计获得了计算机望尘莫及的灵活度与适应性;然而对于稳定的环境与确定的条件,计算机的表现则有着压倒性的优势。在简单重复的工作的表现上,计算机总是比人脑更加高效,更值得信赖。恰好是计算机的这一特性,将科学家与工程师从奴隶般的机械计算中解放出来,使得他们将宝贵的脑力资源更多地用在创造性的工作之上,从而直接引发了第三次工业革命。

计算思维是一套概念模型,是从计算机科学中提取出的一套方法论。当我们运用一个思维模型时,要经历这样三个阶段:建模,解模,解释。与之相对应的则是抽象思维、演绎思维、发散思维。通过抽象,形式化,将我们所需要研究的问题进行归纳,用一种范式表达出来,建立模型;然后通过严密的演绎推理,解出这个模型;最后,使用发散思维,将蕴含于这个模型中的意义用自然语言表述出来。过去的科学研究,往往在解模的这一环节陷入瓶颈:计算量。计算机的出现解决了这一问题,从而使得科学技术的研究有了突飞猛进的发展。

 

  不仅仅如此,计算思维曾经是数学家,计算机科学家,软件工程师等人的专利。然而随着计算机的普及,其应用领域的爆炸性发展,计算能力瓶颈的不断突破。计算作为一种智力活动的门槛被打破,计算思维不再应当是这些人的专属,它会逐渐普及开来,先是成为所有理工科大学生的必备技能,进一步拓展为所有大学生的基础素质,最终一步步拓延为全人类的集体直观。计算思维藉由信息化浪潮不可抵挡的势头,已经越来越受到人们的关注。

原文地址:https://www.cnblogs.com/feng9exe/p/11937847.html