罗振宇在2017年跨年演讲的最后说到过去一年对他最重要的一个概念是“人生算法”。何谓“人生算法”——人生算法不是一把解决所有问题,需要我们具备概率的思维模式,通过不断反馈取得越来越大的成就。
也就是说,没有绝对的好事、坏事,而是每件事发生的概率以及在这个概率下的收益。而算法就是帮助你判断这些事情发生的概率,然后找到那件收益最大的方向,进行实践和修改算法。
在听演讲的最初,我还是困惑的,生活中的算法到底是什么?怎么用?它和方法论有什么区别吗?
这几天,我在看李笑来老师《通往财富自由之路》的书以及在iPad上玩一个游戏swift playground,给了我一些启发。
李笑来老师在书的序言中,就阐释了一个重要的概念“心智”——“就是我们每个人脑子里的那个可以不断升级的操作系统”。“操作系统”是一个计算机用语,一套操作系统的组成就是“算法”。也可以这么理解,所谓的“人生算法”就是指代自己在用什么样的“人生操作系统”。计算机的操作系统要处理各种问题,完成各项任务,它可以装载上用于处理文字、图片、视频等软件。个人也是类似的,因为算法不同,接受外界数据快慢不同,因为装在“人生操作系统”里面的“软件”不同,处理出来的文字、语言等也不同。
“操作系统”是用于操作、处理问题的,它和解决事情的方法论很像,唯一不同的地方在于,组成系统的“算法”是会出错的方法论,它需要不断实践,找出bug,然后修改。在解决错误后,还有更重要的一步就是优化算法。
这个想法来自于游戏Swift,这是苹果公司用于编程教学的一个游戏,通过简单教学,带着任务编写简单的程序。这些任务包括收集宝石,打开开关等任务。任务难度从开始的让角色走几步,慢慢加大难度,需要用到逻辑运算符(是非的判断)和循环。在教学过程中逐渐引入了“算法”的概念,其实就是通过编程完成任务时的程序。任务难度加大时,一开始“算法”会出错,看到屏幕上的角色停在哪一步,再修正自己的程序。而随着掌握的技巧增加,会希望自己用到的程序步骤少一些,也能完成任务,这就是优化的过程,把重复的程序命令简化。
这样看来生活中很多事情就是按照“算法”思维在操作,这其实并不是什么新鲜的概念。但是我感觉有两点我们需要注意。
第一、我们有时候会忘记使用“算法”。
生活中最常见的“算法”其实是菜谱,我们想做一碟西红柿炒蛋,这是任务。食谱上有食材准备和每一个步骤,我们要做的就是执行。这样简单的思维其实我们在某些时刻会遗忘,比如学任何东西时总是希望最基本的原理开始,学英语先背单词,学编程先学理论,往往最后不是从入门到精通,而是从入门到放弃。正如Xdite老师在元学习课里说的那样,“我们学走路前,并没有先学肌肉骨骼组成,力学原理,而是直接开始走。”这就是“算法”的思维,先用起来,英语学习是用来看文章,用来沟通的,编程最重要的是写下程序,就像Swift上那样,在一开始就让我们写下代码完成任务,哪怕这个任务是那么简单。
所以我们并不是不会用“算法”,而是有时候缺乏“算法”思维,怕去用。
第二、我们的“算法”不优化——“操作系统”不升级。
刚才第一点好像在鼓励人们不求甚解,而第二点则是说在“算法”运行后再求甚解。在编程的时候,第一遍任务完成,我想这是不是最优解呢?要不要转换一种思维,减少程序长度。优化的程序简洁,运行又快。生活中又何尝不是如此?有些复杂的问题、决策,我们就要用到概率思维,第一次概率判断可能会错,但是没关系,不断去了解问题本质,就可以不断逼近“核心算法”,在日后又快又好的解决问题。
“算法”思维还有一个好处,就是市面上很多优秀的人已经给出了框架,比如我们读书,看得到专栏。这些都是“升级了的算法”。我在进行Swift编程时,有时候会用现成的程序,当然运行后无法完成任务。但是循着这个思路,修改几个数字,改变一些程序的顺序,结果就出来了。高人的“人生算法”也是如此,那是解决他们自己问题的“算法”。我们两个人的问题可能相似,用他的办法在大脑中先运行一遍,再修改达成自己的任务。
以上,“生活的算法”其实就是一种“操作系统”,需要有概率思维和运用的思维组成,并且可以借鉴高人的“算法”,不断升级。