由递归看人的选择
提到递归原理,因为这是计算机自顶向下的思维方式。它的好处是每一层循环使用的方法相同,因此原理简单,能够把复杂的大问题化解为简单的步骤。但是这里面有一个潜在的坑要特别小心,否则递归就无法结束,直到崩溃。
在之前的留言中,不少读者为了便于理解递归,举了“从前有座山,山里有个庙”那个大家都熟知的故事,以此说明递归每一次循环的一致性。这个故事本身确实和递归有相似性,因为一层套一层。
但是,由于这个故事中没有一个结束的条件,因此它其实陷入了一种有头无尾的死循环,这不符合递归的要求。
在计算机里面,递归永远要给出一个结束条件,比如我曾经讲过用递归的思维计算阶乘,即N!=1 x 2 x 3 x 4 ……x N,可以用N!=N x (N-1)!来递归计算,但是有一个条件就是0!=1,也就是说,最后遇到0,计算就结束了。
在生活中,“从前有座山,山里有个庙……”这个故事我们是把它当作一个玩笑来讲,并不当真,不过,我们很多人在做事情上,其实不断重复着这样看似递归,实则是死循环的傻事,但自己从来不觉得。比如说,在谈恋爱时,甚至在婚姻中,一方总是说,再给我一次机会,另一方无论上多少次当,还真就给了,这就是没有结束条件的递归,最后是个死循环。
我在《硅谷来信》中讲到庄子的智慧时说,人生必须明确一个概念,即“生也有涯”。我们的生命不是无限的,以有限的生命不经思考地去不断试错,已经算不上是好方法了。而没有结束条件的递归更糟糕,下一次的做法和结果和这一次循环完全一样,做这样的死循环,必然失败。一些女孩子和渣男混,觉得假以时日对方能上进,对方上不上进是一回事,拿自己的青春做赌注就是愚不可及了,因为青春比庄子说的“生也有涯”不知道短多少。
世界上最糊涂的一群人是溺爱自己孩子的中国父母,我见过不少为孩子还赌债的中国父母,这些父母做事全无逻辑,不可理喻,自己陷入一个不可能结束的递归死循环。可以讲,只要有替孩子还赌债的父母,就有永远改不了赌性的孩子。我见过一个家庭,可怜的母亲总是以为孩子会有最后一次,其结果是房子赔进去,老伴气死,自己生病而死,依然无法结束孩子赌博的死循环。
中国有句话叫做“抱薪救火,薪不尽,火不灭”,讲的就是这个道理。这个年轻人最后是如何走出死循环的呢?债主气不过把他送进大牢,半年后他出来无人肯借他钱让他赌,也没有人养活他,只好做一份收入不高的工作糊口。也就是说,薪尽了,火也就灭了。
当然,大部分家长不会做那种蠢事,大部分孩子也不会那么不上进。不过,绝大部分中国家长都在做一个几乎不会结束的死循环,就是自己不去努力实现自己的愿望,而是将它转嫁到孩子身上,然后孩子再转嫁到孙子身上。
去年北京出了一件大家热议的事情,一对清华和北大毕业的夫妻因为在北京买不起学区房,决定离开北京。大家热议的中心是,如果清华和北大的毕业生在北京都买不起学区房,说明最好的教育似乎没有帮助人富裕起来,还要学区房做什么?这似乎是一个悖论。其实,产生这个悖论的原因是这一对父母太看重孩子的学校了,或者说太看重孩子本身的成长,而忽视了他们应该做的事情。
在我们大部分人看来,进入了清华和北大这样的学校,使用了中国最好的教育资源,应该自己努力多做一些事情,对社会,对周围人,对自己都有益处,而不是仅仅成为有知识的家教,再培养出一个清华北大的后代。如果父母上了清华北大,唯一的目的或者主要的目的就是让孩子上清华北大,然后孩子的孩子再上清华北大,除此之外,别无追求,这样的人生就如同老和尚一遍遍地讲“从前有座山,山里有个庙,庙里有个老和尚在给小和尚讲故事”一样地枯燥无味。
今天,人到了四十岁的时候,阅历应该足够丰富,而且身体依然健壮,应该是自己多努力,在事业上向上走的时间,但是很多人一过四十,马上节奏就慢下来,孩子的事情,哪怕是最小的事情,也提升到了第一位。然后逢人便说,我这辈子就这样了,以后就指望孩子比我强了。很多父母也常常这样对孩子说,“孩子啊,你可得争气,当初你爸爸(妈妈)没有上好的学校(或者没有好的机会),没有能够做某某事情,你将来一定要怎样怎样”。如果孩子顺着他们的说法答应,他们会马上夸道,“好孩子,真懂事,真孝顺”。
中国很多孩子努力读书,为的是实现他们上一辈,或者前面好几辈的愿望。中国学生(包括在美国的亚裔)为什么感觉升学压力过大呢?承受了周围太多的希望是一个原因。相比之下,美国孩子因为是为自己活着,这方面压力小很多。在高压力之下,常常会动作变形,反而发挥不出应有的水平。很多孩子,即使上了名校,也是给父母交差,进入大学以后,自己就给自己放羊了。
我在清华发现有大约1/3的学生动力不足,永远活在高中取得的那个好的考试成绩里,究其原因,为父母,为老师读书的心态是个很重要的原因。在美国,我见到很多亚裔子女在名校里读书的目的也不明确,他们上那些大学,仅仅是因为自己的父母没有能进入常青藤大学,因此一门心思让孩子“爬藤”,真爬进去了,也就迷失了方向。很多亚裔子女从常青藤大学出来,不过是一个学位上体面一些的工薪族,和从其他大学毕业的人没什么两样。很多常青藤大学觉得亚裔子女虽然成绩好,但是进入大学后成材率和入学人数不成比例,这也是很多名牌大学不愿意过多招收亚裔学生的原因。
中国(和东亚其它一些国家)的很多家长还停留在“养儿防老”的思想境界,认为生了孩子就是要看孩子长大后会回报给他们,对于不缺钱的家长,则希望孩子光宗耀祖,自己脸上好有光。
很多亚裔家长另一个陷入死循环的误区是希望孩子孝顺。一些家长有意无意向孩子表露,“我现在对你这么好,你以后可要孝顺呀”。一旦孩子顺着他的话说,就会夸孩子“懂事,孝顺”,否则的话,就会骂孩子“没良心”。这里我并非要挑战“孝顺”这个东方传统的美德,但是很多家长要求孩子孝顺过分了。年轻的一代本该把主要的时间和精力花在自己的工作和生活上,但是很多人却不得不把时间花在退休的老人身上。就这样,第一代靠第二代孝顺,第二代靠第三代孝顺,如此往返,这也是一个死循环。
你可以想象,当一个40岁的人花三分之一的精力抓孩子学习,三分之一的精力孝敬老人,他还有什么时间做好自己的工作,过好自己的生活?他们指望自己的努力可以换取下一代的轻松,岂不知下一代依然陷入这个陷阱。
美国麻省理工学院的两位经济学者,花了15年时间,考察了贫困人群最集中的18个国家,对全世界近9亿贫困人口(日均收入低于1美元)进行研究,为什么有些人的生活总是困顿的?这些人的智商、体力甚至社会阅历都和其他人无异,也没有明显恶习,但是他们陷入“贫穷的思维陷阱”中。这个陷阱表现在这样两个方面:
1. 上了很多年学,却无法感知教育的用途。
过去贫困家庭的孩子没有机会上学,以至于大家认为他们穷困是没有给予平等的机会。今天世界上大部分国家都有义务教育,但是很多时候教育并没有起到什么效果,是因为来自贫困家庭的父母和孩子却无法体会教育的用途,这是他们和终身受教育者一个很大的区别。
家长逼孩子读书,只是模模糊糊地觉得不读书不好,但其实自己也不曾体会读书有什么用。结果,同样是12年基础教育读完,一些孩子把所学全交回给了老师,然后得到一个读书无用的结论。等他们人到中年,看到周围人因为学识混得比自己好,再去逼着自己的孩子读书,其实依然不懂得读书的目的。
另外一些人因为接受了教育,生活有了起色,开始好转,但他们往往会作出一些选择,即中止对自己的教育,把对教育的关注全部用在孩子上,导致他们在社会阶层上的提升停止,然后开始下滑,继续踏入“贫穷”的泥沼,最后深陷在之中。这些到中年,没有把心思花在自己的事业上的父母们,看似牺牲自己为家庭,牺牲自己为孩子,非常大公无私,但是因为自己没有把精力放在创造价值上,实际上自己的停滞导致大家一同受穷。而这一代人又重复了上一代的命运。
2. 无法获取幸福。
研究表明几代长期贫困的人的思维模式有着惊人的一致性,他们有时付出了很多的劳动,但是体会不出什么是幸福,他们看到的只有一些物质的东西。研究者在印度农村做过一个实验,他们提供了一堆有各种各样彩色图片的杂志,让家长从中剪出一些图片,然后拼贴在一起,以表现他们对生活的想法,以及教育能够给他们的孩子带来什么。结果,家长们完成的拼贴画大同小异:各种宫殿、漂亮的汽车和密密麻麻的黄金钻石。来自贫穷家庭的家长们,仅仅将教育看成一种让自己和孩子获取大量财富的手段,而不是更高层次的东西。
很多人不理解今天一些所谓的老年人为什么会贪图几毛钱的小利,成群结队地到天猫的无人超市坐着乘凉,会在空调公交车上一坐半天,直到摘完从早市买的蔬菜才回家,事实上他们并不缺在家里开空调的那些电钱。中国一些富豪并不缺钱,买香奈儿手袋和江诗丹顿手表时掏得起钱,但是在给小费时能逃掉就逃掉。他们其实和印度农村只看得见钻石黄金的人没有什么区别。也就是说,这一代又一代的人都没有搞清楚什么是幸福。
最后总结一下今天的内容:
1. 对于计算机来讲,递归是一个好的方法,因为它可以通过同一种算法不断地简单重复,解决大问题,但是,递归一定要有结束条件,否则就成了死循环。
2. 人由于天生习惯的原因,容易陷入递归死循环。
3. 被动学习和主动终身学习的人的区别不在于花了多少时间学习,而在于能否真正通过学习改变自己的生活状态,特别是自己达到上一辈高度时,是继续往前走,还是把希望寄托于下一代。
4. 理解幸福的意义,它不仅仅是黄金钻石