计算机思维

计算机思维
安知鱼计算机思维
计算机思维是全方位的,不太可能用一两句话概括。简单地讲,需要处理好这样七对关系
一、大和小
相对的大小比绝对的大小更重要。
二、快与慢
人的进化是很慢的,每个世纪只有百分之几,总体来讲经济和社会的发展也是比较慢的,每年最多几个百分点。因此,人本身并不适应非常快速的发展变化。但是计算机本身的发展是18个月翻一番,大约相当于10年增加了100倍,在智能时代,人的思维要适应这种快速变化
三、多维度与单一维度
从总体上讲,人脑是线性处理事务的,看问题常常是一外角度,也没有能力把多角度综合起来。但是,计算机有这个能力,因此占到了多维度的便宜。
四、网络和个体
人的思维是个体行为,作决定彼此不干扰。这有好的一面。但是也难以集中很多人的智慧,产生叠加的效果。事实上群体智慧的简单叠加甚至不如个人的智慧。但是人工智能是建立 在网络效应基础上的。它是通过很多彼此联系的计算机共同协作工作而产生的。
五、自顶向下和自底向上
自顶向下做事这一点是计算机的精髓,而人更适合自底向上。在一个组织内,自底向上的做事方式更容易 激发群体的积极性,但是容易造成资源的浪费。
六、全局和局部
人做事情 时,限于自己的认知,通常得到的是局部最佳,失去对全局的优化的可能性。由于计算机有处理大数的能力,以及是自顶向下的做事方式,更容易得到全局最佳。这一点在Alphago和人对弈时表现得淋漓尽致。
七、成本和表现
人很多时候喜欢强调对错,喜欢追求绝对 的公平喜欢要求最好 的结果。但是,从工程的角度讲,好和坏,只是在固定成本下相对的表现。计算机里面无论是软件设计还是硬件设计,都是在平衡性能和成本的关系。
此外,掌握计算机思维,还需要理解下面两个原则
一、等价性原则
很多时候,一个较难的问题A和相对容易的问题B是等价的。但是人类常常容易给佬问题就解决什么问题,给了A就解决A,尽管很难。而计算机则会试图解决等价,但是却更简单的问题。
二、模块化原则
我们在生活中,做一个桌子,或者一个椅子,会直接去做。而在计算机的世界里,永远是先制作几个非常简单,能够大量复制的乐高积木块,然后用很多这样简单的模块,塔出复杂的桌子和椅子。

