算法之美-读书笔记

来自楠悦读

作者布莱恩·克里斯汀,《华尔街日报》畅销书《最有人性的人》作者,该书入选《纽约时报》编辑推荐书目,被《纽约客》杂志评为年度好书。汤姆·格里菲思,加州大学伯克利分校心理学和认知科学教授,计算认知科学实验室主任。

我们所有人的生活都受到有限空间和有限时间的限制,因此常常面临一系列难以抉择的问题。在一天或者一生的时光里,哪些事是我们应该做的,哪些是应该放弃的?我们对杂乱无序的容忍底线是什么?新的活动与熟悉并喜爱的活动之间如何平衡,才能取得令人愉快的结果?这些看似是人类特有的难题,其实不然,因为计算机也面临同样的问题,计算机科学家几十年来也一直在努力解决这些问题,而他们找到的解决方案可以给我们很多启发。


如何掌握最佳决策时机

首先,怎么抓住最佳决策时机?在所有最优停止问题中,最大的难点不在于选择哪一种可选方案,而是确定自己需要考虑多少种可选方案。这些问题往往会引发不同的后果,不仅陷入爱河的人和需要租房的人必须慎重考虑,司机、房主等也常常面临同样的抉择。

这类问题之所以难以抉择,一是未来很难预测,你只知道现在和以前遇到过的人和事物,未来什么样,你并不知道;二是已经做出的决定不能反悔,一旦拒绝,就等于永远错过。在做出具体的选择之前,我们首先要找到决策的最佳时机。

零信息博弈

比如,买房,在同时面对几套房子时,应该买哪套?应该在什么时间做。那么,是现在就买呢?还是考虑5年以后再买呢?

这就叫做零信息博弈,也就是在信息极度稀缺的情况下,分析潜在可能,寻找做出最佳判断的时机。根据计算机的运算,只要是零信息博弈,最佳的决策时机,都是同一个时间点,那就是你决策总时限的37%。

比如,跳槽,你给自己限定,一共要面试10家名气差不多的公司。根据37%原则,你在前3家公司的面试中,不管待遇多高,都要果断拒绝。从第4家公司开始,一旦发现一家比前3家都合适的公司,一定要努力争取。

在37%这个时间点上,你有最大的概率选到最好的结果。那么37%是怎么算出来的呢?首先我们假设,你面前有一堆宝箱,每个宝箱里都装着数额保密、高低不等的奖金,你可以从中挑一个带走。

好消息是,你拥有无限次机会,而且可以先开启宝箱,看到里面的钱数之后再决定要不要拿走。但限制是,你一次只能开启一个宝箱,一旦决定不要,就不能反悔。未来的宝箱是未知的,过去的宝箱不能反悔。

那么,应该在打开第几个宝箱的时候做决策,才最有可能获得最高的奖金?假如宝箱的总数量是两个,不管你选哪个,中大奖的几率都是50%。那假如是三个,那么当你开启第一个宝箱,里面是2万块。你可以拒绝,然后再开启后两个,但后两个的奖金可能还不如第一个多。

开启第一个宝箱时,不管里面有多少钱,它都是你截止到目前能得到的最高金额,是100%的目前最佳。而随着陆续开启宝箱,这个目前最佳的概率会被后面的宝箱平摊。开启第二个时,每个是目前最佳的概率都是一半,开启三个,每个是目前最佳的概率都是三分之一。开启的宝箱越多,目前最佳的概率就越低。按照这个逻辑,我们应该毫不犹豫地选择第一个宝箱。但是,这种做法对吗?

最佳决策时刻

还有一个方法,因为在开启第一个宝箱时,我们没有任何方法能断定,这就是最大的宝箱。同样,在开启第三个宝箱时,我们也没有任何选择,因为已经拒绝了前两个宝箱。但是,在开启第二个宝箱时,我们既掌握了一些信息,又有一定的选择权。也知道它跟第一个宝箱比谁多谁少。而第二个宝箱,就是我们做出最优选择的时候。在一共有三个宝箱的情况下,开启第二个宝箱是游戏总进程的33%。

现在假设有10个宝箱,按照同样的逻辑计算,最佳的决策时机是第四个,也就是总进程的40%。当这个数字继续放大的时候,这个数字开始趋于稳定,当有100个宝箱时,最佳决策的时机,是第37个宝箱。即便这个数字在继续增加,这个最佳决策时机基本不会再变,哪怕总共有1000万个箱子,计算机算出的最佳决策时机,仍然是37%,也就是第370万个。在这个节点上,我们有最大的概率,选到最高的奖金。

作者说,最佳的决策时刻,其实就是决策时的前半部分稍微靠中间的位置就行了。这个最佳决策时刻,在计算机领域里被称为最优停止。也就是我们俗话说的见好就收。

如何合理规划时间

37%原则并不是在所有情况下都适用,它有两个局限。

第一,37%原则所解决的问题,都是事先已经限定了明确的时间结点的,比如买房,必须在2个月内做决定;跳槽,已经给自己规定好了要面试10家公司。但在实际决策中,结点往往很难在一开始就决定好。我们总会期待未来会有更好的机会,未来的不确定性,往往让人在决策的时候更加举棋不定。

第二,人生毕竟不是数学题。在婚姻大事里,很多一见钟情的故事都被传为佳话,在事业选择中,梦想和热爱往往超过了利弊权衡。37%原则是一个选项,有效,但绝不唯一。所以,我们应该知道如何管理时间?同时面对很多任务,应该怎么安排优先级?

作者说,当一个时间段内,同时有几项任务时,我们应该从耗时最短的任务做起。比如你同时有两件事要做,一件很简单,一天就能干完,另一件很难,需要五天,你就应该先做那件一天就能交差的工作。

最优缓存策略

那么一天干完和五天干完有什么不同呢?我们看看作者的解释。根据作者的观察,人脑和计算机的存储方式,都依赖于缓存。缓存,指的就是一个高速的存储读取空间。而最优缓存清理策略从本质上讲,就是在缓存已满时,将未来最长时间内不会再次使用的数据从缓存中清理出去。

比如,电脑硬盘是一座巨大的图书馆,存储能力很强,但是每回你想去图书馆找书,都要从海量的书籍里查找,很不方便。所以你把那些常用的书借回家,放到你的书桌上。你的书桌,就相当于电脑缓存,它虽然存储能力有限,但读取速度很快。

在电脑里,缓存是分级的,根据使用频率不同,分为很多级。同样,人脑也有类似的缓存机制。大脑会根据信息最近的调用频率不同,在大脑里形成排列。最近调用越频繁的信息,就储存在越接近记忆表层的位置,越容易提取。我们能够迅速提取的记忆,其实只是记忆总量的一部分。 换句话说,硬盘的空间很充沛,但缓存资源很珍贵。我们当前能够运行多么复杂的想法,取决于大脑的缓存区还有多少剩余空间,原理就跟电脑调用程序一样,及时清理缓存非常重要。所以,我们从耗时最短的任务做起,目的就是为了及时清理大脑的缓存。

假设,我们同时面临 A 和 B 两个任务。A 任务要耗时5天,B 任务耗时1天。假如先做 A 再做 B,那么你在执行 A 的这5天里,心里多少也会惦记着 B,它也在不知不觉占用你大脑的后台缓存。也就是说,B 实际占用大脑的时间不是1天,而是6天。这样A和B加在一起,就相当于5天加6天,一共占用了你的大脑11天。假如反过来,第一天就完成 B,后5天再完成 A,那么就相当于 B 占用了大脑1天,A占用了大脑6天,加起来一共7天。

所以,总量固定的任务,前后顺序不同,对资源的占用时长也不同。这就是计算机的思考逻辑,它会始终确保自己处在潜能最优状态,随时有能力运行更复杂的程序。我把这套策略称之为最优缓存策略,它可以永远让自己处在最佳待机状态。

任务密度

这种优先级排序有一个前提,就是每件任务的重要程度是一样的。考虑到真实情况下,任务有轻重之分,我们在应用最优缓存策略时,还需要加入一个参考因素,叫做任务密度。任务密度,就是一项任务的单位时间价值。

比如一件任务需要10个小时完成,可以创造10万元的经济价值,那么这项任务的密度就是10万元除以10个小时,也就每小时1万元。

也就是说,任务密度,就相当于工作的性价比。当同时面对很多耗时不同,重要程度不等的任务时,我们应该从性价比最高的任务做起。这样一来,我们不仅可以及时清理大脑缓存,释放更多的可用空间,还能确保当前正在做的事情,一定是最有价值的。

总的来说,当某件事有具体的总时限时,我们可以试试37%原则;而在同时面对多任务时,可以列出一张清单,从耗时最短或者任务密度最高的事情做起,这样可以更好的帮助我们完成任务,让我们永远处于最佳状态。

算法之美 导图
算法之美 导图