首页 > 编程知识 正文

计算机三大思维,计算机

时间:2023-05-06 21:04:38 阅读:166084 作者:3551

正文转载自觉: https://砖局域网. zhi Hu.com/p/31799179

我觉得很擅长,所以自己收藏了。 另外,我想在这里和大家分享。 另外,也方便将来的学习。 如果看到的朋友觉得很棒的话,请打开原文链接给原作者点赞。

容易被误解的计算思维

2006年,卡内基梅隆大学有趣的笑容教授首次系统地定义了计算思维。 这一年,她在美国计算机权威期刊《Communications of the ACM》上发表了名为《Computational Thinking》的论文,开启了计算思维大乘化的新历史。

迄今为止,“计算思维”在非计算机领域的应用多集中在计算化学、计算生物学、计算决策学等科研学术圈。 像我这样的普通大众真正开始理解“计算思维”的价值是在《Computational Thinking》年之后。 今天,计算思维成为世界公认的普遍思维方式,与理论思维、实验思维一样,由任何人在解决任何问题时都可以运用。

计算思维对每个人都很重要,但非常容易被误解。 有人想要文生义,认为计算思维是关于数学的学问; 有人以为单方面理解,学习编程就能明白计算思维; 必须说,有人不肯登高,连学Word、Exel、PPT都培养了计算思维。

计算思维就这样被误解了,小编为了它的正名,决心带大家好好认识计算思维。

什么是计算思维,什么都不是

什么是计算思维呢?

《Computational Thinking》/风趣的微笑教授用“硬科学”的术语描述了计算思维:计算思维是运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为也就是说,计算思维http://www.Sina.com /而不是具体的学科知识,必须运用计算机科学的基本理念,用途广泛

要更快更好地理解计算思维,首先要从是一种解决问题的思考方式

1计算机思维是研究计算的。

2是概念化,不是编程。

3是基础技能,不是死记硬背技能。

4是人的思维方式,不是计算机的思维方式。

五是数学思维、工程思维的互补与结合。

6是想法,不是人造的。

理解了上面的六个词,就可以大幅度减少对计算思维的误解。

风趣的微笑教授对计算思维的几个清晰论断。,连学计算机的人也有同样的看法,其实不然。把编程当作计算思维是对计算思维的常见误解之一在编程过程中经常运用计算思维,但计算思维绝不是编程。 http://www.Sina.com/http://www.Sina.com /的重点是利用信息工具和信息,例如使用Excel、记录器、传感器、QQ等,从互联网上找到自己想要的信息计算思维研究计算,研究在一个问题中哪些可以计算,如何进行计算。

计算思维不是孤立的学问,也不是学科知识。计算思维是一种概念化的思考方式,而编程则是一种行为之所以说与数学思维相关,是因为用计算思维解决问题时,需要将问题抽象为可计算的数学问题。 例如比较罗马帝国的崛起和蒙古人的扩张,需要选择合适的数学模型来定量计算国力。 采用计算思维设计大型复杂系统时,需要考虑把信息素养当作计算思维也是对计算思维的常见误解之一等问题,这些在工程思维中非常重要。

计算思维是每个人在日常生活中都能使用的思维方式。 是的,谁都可以运用,几乎可以在任何地方使用。 无论您要解决什么问题,出行路线规划、理财投资选择、科研分析和天气预报预测都可以通过运用计算思维来简化复杂性。

信息素养注重的是培养人们对信息进行有效利用的方式方法

理解计算思维的前提是理解计算。 计算思维本质上是研究计算的,所以在解决问题的过程中,研究哪个是可以计算的,如何计算。

通常,我们理解的计算是“1 1=2”这样的算术运算,但运算有集合运算、逻辑运算、条件运算等各种各样的种类。 集合的运算方式如下:“u(a ) b )=) UA () (UB )”。 这没有具体的数值运算,用表示集合的字母进行运算。 另外,逻辑运算“10=0”时,该运算有数值“0”和1,但意思完全不同。 这里的“1”表示“真”——即命题为真,“0”表示“假”——即命题为假。 通过用数字“0”和“1”替换命题的真伪

以上三种运算中,“1和2”、“a,b”、“1和0”是计算对象,用特定的符号表示一定的含义。 (可能是数、集合、命题的真伪等。 )”、“u、、u”、“”是运算符,即

运算规则(可能是加减乘除、可能是求并/补集、可能是判断并且/或者的复合命题)。如果把计算对象用特定的符号串表示,计算的实质就是将已知的特定的符号串,按照预定的规则,一步一步地改变符号串,经过有限步骤,最终得到一个满足预定条件的符号串的过程。

当我们跳出算术运算的局限,理解了计算的本质后,**就会发现原来好多看似不可计算的东西都能变得可计算,**也就很容易理解计算思维的普适性了。因为经过一定的抽象,我们对很多问题的理解都能用特定的数学语言来描述,接下来,当我们用特定的数学语言去描述解决过程的时候,就是在用计算化的方式来求解了。

计算思维里的人机分工

当我们把一个问题的求解操作变的可计算化后,我们是要靠人力去进行运算吗?NO!运用计算思维就是为了把人从大量的机械的运算中解脱出来,让计算机去做这些事。


在用计算思维解决问题时,**人负责把实际问题转化为可计算问题,并设计算法让计算机去执行,计算机负责具体的运算任务,**这就是计算思维里的人机分工。

人机分工能大幅提高问题处理的效率,减少出错率,特别是在处理情况复杂,运算量大的问题时。比如出行路线规划,在没有导航软件的时候,我们想要规划从A点到B点的最近的路线,可能要花费不少功夫,往往是我们根据经验进行判断,并不精确,很难有足够的时间和精力去寻找最优解。


当我们用电子地图来表示实际地理情况,用坐标点来表示实际位置时,最短路线的问题就转化为比较地图上A点到B点的各种线段组合的长度问题。从输入起点和目的地到导航软件给出导航路线不到半秒的时间里,后台服务器已经进行了高达千万甚至上亿次的运算,这种效率高出人类N个数量级。

计算思维里的2A

Abstraction (抽象)和Automation(自动化)是计算思维的两大核心特征。

想要理解抽象和自动化之于计算思维的重要性,我们先来看下运用计算思维进行问题求解的关键路径:

<1>把实际问题抽象为数学问题,并建模
将人对问题的理解用数学语言描述出来
<2>进行映射,把数学模型中的变量等用特定的符号代替
用符号一一对应数学模型中的变量和规则等
<3>通过编程把解决问题的逻辑分析过程写成算法
把解题思路变成计算机指令,也就是算法
<4>执行算法,进行求解
计算机根据算法,一步步完成相应指令,求出结果

建立数学模型的过程就是理解问题的过程,并且要把你对问题的理解用数学语言描述出来。这很关键,数学模型的好坏意味着你对问题的理解程度够不够深,而且数学模型还说明了在这个问题中,哪些东西可以计算以及如何进行计算,这可以说是计算思维里最最核心的东西了。这个关键过程需要的核心能力就是抽象能力以及一定的数学基础。

数学建模只是可计算化的第一步,为了让计算机帮我们去求解,我们还需要虚拟的符号来代替的数学模型里的每个变量和运算规则,这个过程就是映射啦!

完成映射,我们就能把解题思路(注意,是解题思路,不是数学模型)用程序语言完整地告诉计算机啦,这个过程就是具体的编程写算法的过程啦!这一步需要较强的编程能力,但编程能力的核心之一也是抽象思维能力。对于编程能力不够强的人来说,映射还有编程的过程可以交给擅长编程的人来做。


关键路径的前3步都是人来完成的,最后一步执行算法进行运算是机器自动完成的,体现了计算思维的自动化的特点。

在整个过程中,抽象是方法,是手段,贯穿整个过程的每个环节。自动化是最终目标,让机器去做计算的工作,把人脑解放出来,中间目标是实现问题的可计算化,体现在成果上就是数学模型、映射、还有算法。

**本文转载自知乎:https://zhuanlan.zhihu.com/p/31799179

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。