码农的世界我爱编程

抽象的意义

2018-05-28  本文已影响49人  zhizhuwang

学习的困境

学习的最终目的是为了解决问题。可是我们经常发现,学习了很多东西,却不能解决面对的问题。

我们先看两个具体的案例。

案例一

N阶的楼梯,可以每步走1阶,也可以每步走2阶。请问走完共有多少种不同的可能?

这个问题可以这样分析:

一共有N阶台阶,如果第一步选择走1阶,则余下N-1阶;如果第一步选择走2阶台阶,则余下N-2阶。按照递归的解题思路,N阶台阶的走法等于 N-1阶台阶的走法加上 N-2阶台阶的走法。

采用形式化的方法,将N阶楼梯的问题定义为F(n),那么N-1阶楼梯的问题定义为F(n-1),N-2阶楼梯的问题定义为F(n-2),那么问题的解决思路可以描述为:

F(n) = F(n-1) + F(n-2),

并且,F(1) = 1 ,F(0) = 1。

从这个形式上可以看出来,这个下楼梯问题在本质上跟斐波那契数列是同一个问题。

案例二

在喜马拉雅山一些村庄的民宿里,有一种考究的茶道表演。这种表演需要一位主人和两名客人,不能多也不能少。当地的客人抵达并在桌边坐下时,主人会为他们表演三项节目。

这些节目的顺序是按照喜马拉雅人认为的高贵程度从低到高排列的:烧火、扇风、沏茶。在表演过程中,任何一个在场的人都可以问别人:“尊敬的先生,我可以为你表演这项节目吗?”值得注意的是,一个人只能向另一个人询问比他正在表演的项目高贵程度低的项目;其次,正在表演的人不能向人询问比他已经表演过的更加高贵的项目。习俗规定,茶道表演结束时,所有表演都要从主人转交给客人中较年长的那位。

请问,该如何操作呢?

“茶道表演”问题其实和下图所示的汉诺塔问题系出同门。

汉诺塔是根据一个传说形成的数学问题:

有三根柱子A,B,C。A柱上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C柱:

  • 每次只能移动一个圆盘;
  • 大盘不能叠在小盘上面。


    Hanoi Tower

主人和两位客人就像三根柱子,表演项目就像要从左传到右的三个圆盘。

从上面两个案例可以发现,现实中很多问题都在我们已知的范围内。关键是如何才能把现实问题映射/对应到已有的知识点上

从表层知识到深层知识

大脑的思考过程

学习的最终目的,是需要形成抽象知识。当我们面对一个复杂的问题时,经过层层分析,抽丝剥茧,去除掉其中不重要的细节,最终将问题映射到我们既有的抽象知识上,从而找到问题的解决方案。也就是我们经常所说的“举一反三”。

这是一种能力,是需要经过不断练习、积累才能习得的能力,也是从新手迈向专家的必经阶段。学习的有效过程是,获取各种表层知识,经过消化、积累、抽象等阶段,形成自己大脑中的深层知识

经过抽象的知识,在大脑中占用的容量更小,从而为学习更多的东西腾出空间。

上一篇 下一篇

猜你喜欢

热点阅读