南华大学的公开课计算思维漫谈,从本质概念上阐述了计算和计算思维。记录下对自己有些启发的要点。
1、计算的发展过程
- 计算手段器械化
- 计算过程形式化
图灵概念:用机器来模拟人们用纸、笔进行数学运算的过程,抽象为两种简单动作:1)在纸上写上或擦除某个符号;2)从纸的一个位置移动到另一个位置 - 计算执行自动化
- 计算对象泛在化
2、计算是什么
- 计算是基于规则的符号串变换
(进一步扩展为)
- 计算是基于规则的物理状态变换:映射或符号变换就是从一种物理状态变换到另外一种物理状态的过程
- 计算是基于规则的信息变换
(更广义地理解)
- 计算作为一种通用的思维方式,可以通过这种广义的计算(涉及信息处理、执行算法、关注复杂度)来描述各类自然过程和社会过程。
3、计算思维是运用计算机科学的思想、方法和技术进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维的核心是算法思维,算法思维求解问题的基本步骤:
1)问题的抽象
2)问题的符号化表示
3)问题求解的算法
4)算法的实现
4、计算思维的特征
1)计算思维是系统化思维
系统思维把认知对象作为系统,从系统和要素、要素和要素、系统和环境的相互关系、相互作用中综合地考察认识对象。具有整体性、结构性、动态性、综合性。
2)计算思维是虚拟化思维:可视化思维
3)计算思维是网络化思维:大数据非线性化思维
5、计算思维是构造性的数字化抽象思维,计算思维之魂是算法。
1)抽象性
和抽象思维并列的思维概念:
- 动作思维是一种以实际行动作为支柱的思维
- 形象思维是一种以直观形象或表象为支柱的思维
- 抽象思维是运用概念进行判断、推理的思维活动,是人类特有的复杂而高级的形式
三大抽象思维:
实验、理论、计算已成为科学方法上相辅相成而又相对独立,可以互相补充完善而又彼此不可缺少的三个主要环节,三大科学思维:理论思维(数学思维)、实验思维(物理思维)、计算思维,是三种抽象思维,不同在于
- 物理思维是对于自然现象(人工现象)的物理抽象,是将问题单纯化,成为一个验证体系
- 数学思维是对于自然现象(人工现象)的数学抽象,是将问题逻辑化,成为一个推理系统
- 计算思维是对于自然现象(人工现象)的计算抽象,是将问题符号化,成为一个计算系统
数学抽象给了一个判断的规则,用该规则去推理,是否有结果;计算抽象给出一个算法去找,用它去找按步骤寻找结果,要么找到结果,要么找不到结果。
2)数字化:基于二进制的符号化
3)构造性
数学中常把能具体给出某一对象或能给出某一对象的计算方法(算法)者称之为可构造的,例如把能证实“存在一个满足性质”的证明称为“构造的”是指能从这个证明中具体地给出满足性质的一个,或者能从此证明中,得到一个机械的方法,使其经有限步骤后,即能确定满足该性质。反之,称之为非构造的,如反证法。
6、算法是解决某种问题的通用法则或方法,也就是一系列计算规则。计算机算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型问题的运算序列,特性:
- 有限性
- 确定性
- 可行性
- 输入
- 输出
7、计算(思维)的根本问题:能行性,包括两个方面
- 可计算性:递归函数,拉姆达演算,图灵机,波斯特系统,这4个模型是等价的
- 计算复杂性:计算机求解问题的难易程度,分为时间复杂度和空间复杂度,是问题规模n的函数。
8、线性思维和非线性思维
- 线性思维是把思维对象作为线性系统来识物想事的思维方式。
线性因果是关系:一因一果 - 非线性思维是把思维对象作为非线性系统来识物想事的思维方式。相关关系揭示“是什么” 而不是 “为什么”
非线性因果关系:
多因一果,从不同的初态出发归宿为一确定值
一因多果,从相同的初态出发可以得到完全不同的结果
蝴蝶效应(混沌现象),简单原因可以产生复杂后果