计算思维
1 什么是计算思维?
计算思维:一种推理思维(数学)和实践思维(物理)并列的科学思维方式。其通过人类行为思考理解,运用计算机科学的基础概念进行问题求解、系统设计,最后获得结果反馈于现实。它是一种基于人脑的思维方式,其实践手段不局限于计算机,可以采用其他方式进行实践。
计算思维体现:对一种事件的处理能力,用什么方法才能更好解决问题?怎么最节省资源而又获得最大效果。
计算思维特点:
(1)计算思维是一种概念化的抽象思维,非程序思维。
(2)计算思维是人的思维,并非机器思维。
(3)计算思维与数学和物理思维相互融合。
(4)计算思维面向所有人和领域。
(5)计算思维是人类的一种基本技能。
计算思维的要求:
抽象:
1、选择正确的抽象。
2、同时根据多个抽象层进行操作
3、定义抽象层之间的关系
自动化:
1、从计算机的视角进行思考
2、利用计算机符号和模型进行表示
算法:
1、选择用于自动化的语言
2、考虑抽象的细节
2 计算思维步骤:
1、现实世界的问题进行分析和抽象。
2、通过计算机的视角,利用符号、体系和规则将问题表达。
3、按照体系和规则设计算法,进行自动计算。
4、得到结果。
5、反馈现实世界。
3 人与计算机的思维对比
人:问题—> 人的思考(抽象化思考)—>结果
计算机:问题—>计算机的思考(计算机分析表达推理)—>结果
计算机思维=数学思维(模块化和结构化)+物理思维(工程应用)
4 计算思维实践
以计算机解决问题的视角来看待问题,需要根据计算机科学的理论基础来准确地回答问题。同时还要考虑工具的基本能力,例如考虑机器的指令系统、资源约束和操作环境等问题。
例如 蒙特卡罗法:
蒙特卡罗法(统计模拟或法统计试验法):以概率和统计的理论和方法为基础的一种计算方法,将求解的问题同一定的概率模型关联,使用计算实现统计模拟或抽样,以此获得问题的近似解。
1、推理思维(将现实问题抽象化):
计算圆周率 π \pi π,画出半径为1的圆。
圆的面积为
S
=
π
∗
r
2
S = \pi * r^2
S=π∗r2,
r
=
1
r = 1
r=1,所以
S
=
π
S = \pi
S=π
所以四分之一圆的面积 S 1 4 = π 4 S_{\frac{1}{4}} = \frac{\pi}{4} S41=4π
对四分之一正方形区域进行随机撒 N N N个点,统计落在四分之一圆中的点数 n n n, n N ≈ π 4 \frac{n}{N}\approx\frac{\pi}{4} Nn≈4π。
2、实践思维(实践求解结果,但可脱离电脑、互联网、人工智能等技术独立存在):
import random
def calpi():
N = 10000000#总点数
r = 1.0#单位圆形半径
n = 0#统计落在圆内的点数
for i in range(0,N):
x = random.random()#随机x
y = random.random()#随机y
if x*x + y*y <= 1:#判断是否在圆里
n += 1
print((n/N)*4)#打印圆周率
if __name__ == '__main__':
calpi()
5 计算机思维与创新:
1、面向对象:复杂问题–>分解成多个模块(模块化),模块之间传递信息
2、面向过程:复杂问题–>分解成多个小部件,第一步做什么,第二步做什么……(构成时间序列)
将问题分解后,在细节上进行优化(创新),当多个小的优化叠加后,测试效果——创新。
计算机常见创新:对某一数据类型做出好的解决方案(拿着案例做测试,拿着数据做测试)
数学创新:要求100%解决问题。
计算机特征思维方式:
1、问题分析阶段的抽象与分析
1)整体与局部。整体问题与其可以分为哪几个问题(整体与局部,局部中还有局部)
2)分类。
3)构造结构。
4)映射变形。
5)量化。
2、解决问题与方法论
1)规则与算法:递归算法、贪心、动态规划、拟态。
2)执行上思路:顺序、循环、替代。
科研中的创新思路:
1、分析问题:将研究的问题进行流程化,结构化的处理
2、流程上:增加中间层,减少冗余量,解决瓶颈点,发现依赖次序,促成并发。
3、结构上:通过点、线、面的思维方式寻找创新点。
点:1)改变参数(大小,范围,反向)。2)改变粒度。3)输入优化。 4)多选择优化。 5)改变模型。6)重复调用。
线:点和点之间关系 1)独立和关联的互换。独立两点之间的相互作用或相关联点分开为独立的。 2)融合化简与触发分裂。点与点之间是否有共性,以此减少计算,是否有对抗,在对抗中进行选择一个点 3)不同组合的优化与对比。
面:问题各部分整合中的创新 1)整体布局结构上的调整。2)整体流程上的修改。3)各结构的比重调整。倾向于优势、重点模块。 4)整体效果的调优。
点线面解构:
点:解决问题的最小粒度单元。
线:由功能点组成的点间关系。
面:实现解决整个问题的功能整体。
例子:
硕士论文:结构的改变
博士论文:参数改变