36氪专门为读书设立了【36氪领读】栏目,筛选一些值得读的书,并提供一些书摘。希望你手边有一本称心的书,让读书这场运动继续下去。
我们所有人的生活都受到有限空间和有限时间的限制,因此常常面临一系列难以抉择的问题。在一天或者一生的时光里,哪些事是我们应该做的,哪些是应该放弃的?我们对杂乱无序的容忍底线是什么?新的活动与熟悉并喜爱的活动之间如何平衡,才能取得令人愉快的结果?这些看似是人类特有的难题,其实不然,因为计算机也面临同样的问题,计算机科学家几十年来也一直在努力解决这些问题,而他们找到的解决方案可以给我们很多启发。
通过丰富的跨学科研究,作者指出,计算机算法也可以用来解答人类面临的这些问题。这本书告诉我们如何更有效地利用直觉、什么时候应该把选择权交给命运、无所适从的时候应该如何做出选择,以及如何有效地与他人保持联系。从找配偶到找停车位,从组织管理个人邮箱的收件箱到理解人类记忆的作用原理,这本书把计算机科学的智慧转化为人类生活的策略,引导我们做出明智的选择。
布莱恩·克里斯汀
《华尔街日报》畅销书《最有人性的人》作者,该书入选《纽约时报》编辑推荐书目,被《纽约客》杂志评为年度好书。他的多篇作品先后刊登在《纽约客》《大西洋》《连线》《华尔街日报》《卫报》《巴黎评论》及《认知科学》等杂志上,被翻译成11种语言。
汤姆·格里菲思
加州大学伯克利分校心理学和认知科学教授,计算认知科学实验室主任。格里菲思发表过150多篇科学论文,内容涉及认知心理学、文化演进等,受到美国国家科学基金会、斯隆基金会、美国心理学会和心理环境学会等颁发的各类奖项。
假设你想租房子,正在旧金山四处寻找房源。旧金山可能是整个美国最难找房子的城市了。由于技术产业的蓬勃发展,再加上城市区划法律严格限制建造新住房,旧金山的房租已经与纽约不相上下,甚至比纽约还高。房源清单列出来几分钟,房子就会被人们一抢而空。通常情况下,只有第一个把定金支票塞到房东手里的人,才能拿到房子的钥匙。
理论上讲,认真调查、仔细斟酌是理性消费者的一大特征,但是旧金山的残酷市场并没有为他们留有权衡考虑的机会。在购物中心或者网上购物时,人们可以反复权衡再做出决定,但是将要入住旧金山的租客没有这个特权,他们必须迅速做出决定:要么舍弃其他所有可能的选择,就选定当前正在看的这套房子,要么掉头就走,再也不要回头。
简单起见,我们姑且假设,你唯一关心的就是尽最大可能增加挑中最理想公寓的机会。你的目标是把“看过的好房子被人挑走”与“还有好房子没来得及看”这两种遗憾的发生概率降至最低。于是,你立刻发现自己陷入了两难境地:如果没有衡量的标准,如何判断一套公寓是否是最合适的呢?如果你不先看一些公寓(这些公寓将被你放弃),又如何确定衡量标准?你收集的信息越多,越能在最合适的机会出现时准确地认出它,但是你已经与最合适的机会失之交臂的可能性也越高。
那么,到底该怎么办?如果收集信息的行为会危及结果,那么怎样才能在掌握足够多信息的基础上做出明智决定呢?这个令人极其为难的情境近乎于一个悖论。在被问及此类问题时,大多数人凭直觉给出的回答可能大致如此:这需要在继续挑选与立刻下手之间达成某种平衡。也就是说,你必须先看足够多的房子,确定一个标准,然后接受符合这个标准的房子。事实上,平衡概念正是解决这类问题的关键。但是,大多数人根本无法确定这个平衡点在哪里。好消息是,这个平衡点已经被找出来了。
答案就是37%。
如果你希望选中最合适公寓的可能性达到最大,那么在看前37%的房子时不要做出任何决定(如果你准备花一个月的时间挑选房子,那么在前11 天不要做出决定)。这段时间你是在为制定标准做准备,因此看房子时把银行卡放在家里吧。但是,过了这个时间点之后,你就要做好随时签约的准备(包括准备好定金等),一旦你对某套房子的满意程度超过之前看过的所有房子,就立刻下手。在继续挑选与立刻下手之间做出的这种妥协,并不仅仅是一种直觉,而是已经得到证明的最优解。
我们知道这个答案,是因为找房子问题属于数学上被称作“最优停止”(optimal stopping)的一类问题。37% 法则明确了解决这些问题的一系列简单步骤(计算机科学称之为“算法”)。事实证明,找房子仅仅是最优停止问题在日常生活中的表现形式之一。在面临一连串选择时如何做出决定的难题,经常会改头换面,以不同的形式出现在我们的生活当中。在驶入停车位之前,需要绕整个停车场多少圈?在商业风险中何时套现脱身?在买房子或者停车时,何时是结束观望、做出决定的最佳时机?
在约会这个更加令人头疼的问题上,人们也经常要面对这样的难题。最优停止理论是一夫一妻婚姻制度催生的科学。每天,人们都要面临最优停止问题的困扰(当然,诗人更愿意追逐的话题肯定是求婚带来的烦恼,而不是停车时的两难境地),有时至会因此而痛苦不堪。不过,我们大可不必如此,因为这类问题至少可以通过数学方法来解决。借助并不繁复的算法,我们不仅可以解决找房子的问题,生活中遭遇的所有最优停止问题都可以被妥善处理。
从本质上讲,我们身边经常出现因为租房子、停车、求婚而感到苦恼的人,这些人其实就是在自寻烦恼。他们需要的不是治疗师,而是一种算法。治疗师告诉他们要在冲动与多虑之间找到一个正确的、舒服的平衡点。
算法告诉他们这个平衡点就是37%。
本书将探讨人类事务算法设计这个概念,以帮助人们更好地处理日常生活中遇到的难题。将计算机科学的研究方法应用于日常生活,可以在多个层面上产生深远的影响。首先,它可以提供切实有效的建议,帮助我们解决具体问题。例如,最优停止理论可以告诉我们何时应该小心观察,何时应该果断行动;探索– 利用平衡理论教会我们如何在尝试新事物与因循守旧之间找到平衡点;排序理论可以帮我们判断出是否需要以及如何整理办公室;缓存理论可以帮助我们合理地填充橱柜;日程安排理论则可以提供合理安排时间的高招。
其次,计算机科学还为我们理解这些领域的深层次运行规则提供了一套语汇。卡尔·萨根指出:“与其说科学是大量知识的汇总, 不如说它是一种思考方式。”即使生活中的某些情况非常复杂,我们无法进行严格的数值分析,找不到任何现成的答案,我们也可以考虑这些问题的简单化表现形式,从而得出某些直觉和概念,帮助我们理解其中的关键环节并取得进展。
从更广泛的意义上看,借助计算机科学,我们可以了解人类思想的本质和理性的意义,学会回答如何度过一生这个最古老的问题。把认知视为一种解决周围环境所造成的问题(从本质上看,都是一些计算问题)的手段,并认真地加以研究,就有可能彻底改变我们对人类理性的理解。认为研究计算机内部运行机制能够帮助我们学会思考与决策、判断某个事物是否可信、选择行为方式的观点,在很多人看来,不仅把问题过于简单化了,而且具有误导性。即使计算机科学告诉我们应该如何思考、应该采取哪些行动,我们愿意接受吗?读一读讲人工智能和机器人的科幻小说就会发现,那样的生活似乎都不是我们所向往的。
之所以如此,部分原因是我们把计算机看成了机械呆板的确定性系统——这些机器借助严谨的演绎逻辑,通过穷举所有可选方案,无论花费多少时间、问题难度如何,它都可以给出完全正确的答案。事实上,在阿兰·图灵当时的想象中,计算机就应该是这样。这位第一个设想出计算机的人通过类比的方式给出了计算的定义,而类比的原型就是认真钻研的人类数学家——他们通过长长的计算步骤,最终得出绝对正确的答案。
因此,当人们发现现代计算机处理难题的方式与他们对计算机的认识并不一致的时候,他们也许会大吃一惊。当然,简单的算术对现代计算机而言没有任何难度。目前,计算机科学面临的最难解决的问题其实是人机对话、修复破损文件、下围棋取胜,这些问题都具有规则不明确、所需信息不全,或者需要考虑无数种可能性才可以找出正确答案的特点。研究人员已经开发出各种算法,使计算机在解决难度极大的问题时不需要完全依赖穷举计算。要解决这些来自现实世界的任务,就必须正确处理好可能性问题,利用粗略估算,在时间与精确度之间做出某种妥协。
随着计算机处理现实任务的能力不断增强,计算机算法不仅对于人类自己的生活具有借鉴意义,同时还为人们理解人类认知提供了一个更好的比较标准。在过去的一二十年里,行为经济学对人类进行了非常具体的研究,结果发现,人类是不理性的,很容易犯错误,而问题的源头在很大程度上就是大脑这个古怪而独特的硬件。这种自我贬低的认识越来越普遍,却无法解释某些令人困惑的问题。例如,在完成包括想象、语言、因果推理在内的大量认知任务时,4 岁儿童的能力仍然超过成本高昂的超级计算机,这到底是什么原因?
从计算机科学为日常问题提供的解决方案可以看出,人类思维具有另外一种特点——人生充满了难以解决的问题。人经常犯错误,虽然这可以说明人类大脑容易出错,但是也表明这些问题具有难以解决的本质特点。通过算法来思考我们周围的世界,了解我们所面临问题的基本结构以及计算机给出的解决方案的特性,可以帮助我们真实地了解我们自己,更好地理解我们所犯的那些错误。
事实上,人类需要不断面对计算机科学所研究的一些高难度问题,在不确定性及时间有限、信息不全、情况瞬息万变等不利因素的干扰下做出决定。针对一些问题,即使最前沿的计算机科学也没能开发出永远不会犯错误的有效算法,有的情形似乎是任何算法都无法解决的。
不过,尽管有的现实问题异常复杂,人们还没有开发出完善的算法,但是一代代计算机科学家一直在与这些难题斗争,并且在这个过程中得出了深刻而独到的见解。这些来之不易的真知灼见与我们对理性的直觉认识并不一致,与数学家对周围世界的精确描述也迥然不同——数学家一心想要把这个世界变成整齐划一的线条。计算机科学告诉我们:不要总是考虑所有的可选方案;不必每次都追求最佳结果;偶尔犯点儿错误;放下包袱,轻装前进;有的事情可以暂时放一放;相信自己的本能,不要过多思考;放松自己;采用抛硬币的方式;要体谅,但是不能忘记;忠于自我。
用计算机科学的智慧指引自己的人生之路,这似乎是一条不错的建议。毕竟,与大多数建议不同的是,这条建议有据可依。
探索与利用:要最新的还是要最好的?
要最新的还是要最好的?
饥肠辘辘时,你会去熟悉而且喜爱的那家意大利餐馆,还是新开张的泰国餐厅?你会带你最亲密的好友一同前往,还是邀请你新结识的熟人以便加深了解?这些都太难选择了。或许你宁愿待在家里吧。那么你准备做一道比较拿手的菜肴,还是上网搜索找到灵感后做一道新菜?还是很难选择?没关系,订一份比萨怎么样呢?那么,在选比萨时,你准备“照旧”,还是要一些特别的口味呢?在你吃第一口之前,这些难题已经让你筋疲力尽了。放唱片、看电影或者看书,同样也不是一件轻松的事,你也会面临如何选择的问题。
每天,我们都要做出各种各样的决定,都要在某个非常具体的方面做出选择:是进行新的尝试,还是继续选择我们喜欢的那个?直觉告诉我们,生活就是在新鲜事物和传统事物之间、在最新的和最棒的之间、在勇于冒险和安于现状之间取得平衡。但是,就像在公寓寻租过程中所面临的观望还是行动的两难困境一样,这里也有一个问题没有得到解决:如何平衡?
罗伯特·波西格在他于1974年出版的经典著作《禅与摩托车维修艺术》中对“有什么新鲜事吗?”这句寒暄语进行了公开谴责。他说:“只要认真地研究这个问题的话,得到的答案肯定是一堆琐碎的跟风事物,等到了明天它们就会失去新鲜劲儿。”他认为另一个问题就要好得多:“最好的是什么?”
但是,现实生活没有那么简单。别忘了,你喜欢的每一首“最好的”歌、每一家“最好的”餐馆,在刚开始的时候,对你而言也不过是一个“新鲜”事物。这就说明或许还有一些最好的东西不为我们所知,因此,新鲜事物至少值得我们略加关注。
一些古老的格言承认这种矛盾关系,但是没有给出应对之策。“结交新友,不忘旧友;新友是银,旧友是金”“无论生活如何丰富多彩,仍然留有结交新朋友的空间”等老话说的确实是真理,但是它们没有告诉我们,这些“金”“银”应该以什么样的比例混合,才可以高质量地打造出幸福生活这块合金。
什么是探索与利用
英语为“explore”(探索)和“exploit”(利用)这两个词赋予了截然相反的含义,但是在计算机科学家眼中,它们有很多具体的中性含义。简单地说,探索的意思是收集信息,而利用则指利用所拥有的信息,以产生一个好的结果。
凭直觉就知道,探索在人生中是不可或缺的。但是,我们同样应该知道,如果缺少了利用,人生也必然无比惨淡。根据计算机科学的定义,很多时候,利用其实是我们心目中的那些美妙时光的一个特征。节假日的家庭聚会就是一种利用。书迷安静地坐在椅子上,一边喝着热腾腾的咖啡,一边阅读自己心仪的书;乐队在狂热的歌迷面前演唱自己的畅销金曲;经受住岁月考验的夫妇在“属于他们的乐曲”中翩翩起舞。所有这些,都是一种利用。
有时候,探索还有可能为我们埋下祸根。
例如,音乐的魅力之一就是新的音乐作品层出不穷。但是,如果你是一名音乐记者,那么不断推出的新作品就会让你觉得头疼。选择音乐记者这个行业,就意味着把探索进行到极致,无时无刻不在接触新鲜事物。乐迷可能认为从事这个行业就像生活在天堂一样,但是,如果你一直忙于探索新的事物,就永远没有办法享受你的鉴赏成果,所以这与天堂般的生活相去甚远。
音乐网站Pitchfork的前主编斯科特·普拉奇霍夫在这方面感慨颇深。他对批评家的生活是这样评价的:“在工作期间,你很难找到时间听自己想听的音乐。”由于长时间鉴赏那些质量不确定的新歌,因此他特别希望听一听自己喜欢的歌曲。为了抵制这种强烈愿望的诱惑,普拉奇霍夫会在他的iPod(苹果播放器)中存放新的音乐作品,通过这个物理障碍来保证自己不会忘记职责,即使他有的时候特别想听史密斯乐队的歌曲。音乐记者本着殉道者的精神,默默探索,为其他人的利用创造条件。
在计算机科学中,探索与利用的矛盾通过“多臂老虎机问题”的形式表现得淋漓尽致。这个奇怪的名称来源于赌场老虎机的俗称——“独臂匪徒”。假设你走进一家赌场,里面全部是各种各样的老虎机,但是每台机器吐钱的概率各不相同。问题是,你提前不知道这些概率到底是多少。在你开始游戏之前,你根本不知道哪台机器最喜欢吐钱,哪台机器只吞钱不吐钱。
你自然希望赢的钱越多越好。显然,你肯定会在不同机器上亲自测试一番(探索),然后专挑那些你认为最有可能吐钱的机器来玩游戏(利用)。
为了弄明白这个问题的微妙之处,我们假设房间里只有两台老虎机。你在一台机器上玩了15 次,其中有9 次老虎机吐出了一些钱,还有6 次没有任何反应。你在另一台机器上只玩了两次,其中一次老虎机吐出了钱,另一次则没有吐钱。哪一台机器更有可能让你赢钱?
把赢钱的次数与总次数相除,就可以计算出各台机器的“期望值”。利用这个方法比较时,第一台机器显然更胜一筹。9–6 这个游戏记录表明它的期望值是60%,而第二台机器的1–1 记录只能得出50%这个期望值。不过,仅仅这样考虑还是不够的。毕竟,只玩两次,次数还是太少了。因此,从某种意义上讲,我们仍然不知道第二台机器的实际表现如何。
选择餐厅或者唱片就等同于选择一台老虎机,去玩生活这个游戏。但是,了解探索与利用的取舍问题,不仅可以帮助我们挑选餐厅和歌曲,还可以帮助我们深入了解如何随着年龄的增长调整我们的人生目标,了解最合理的做法为什么并不总是选择最好的。事实证明,探索与利用的取舍问题在网页设计与临床试验(以及其他领域)中占有核心地位——正常情况下,这两个名词不会出现在同一个句子中。
人们往往将决策行为孤立开来,针对每一次决策活动寻找在结果中实现最高期望值的方法。但是,决策行为几乎都不是孤立的,期望值也不是最终目标。如果你考虑的不是下一个决定,而是在将来面对相同选择方案时你将做出的所有决定,探索与利用的取舍就会发挥重要作用。数学家彼得·惠特尔认为,从本质上看,老虎机问题正是通过这种方式“体现了所有人类行为中显而易见的矛盾”。
那么,你到底应该在那两台老虎机中选择哪一台呢?这是一个带有陷阱的问题,因为答案完全取决于一个我们至今还没有讨论的内容:你准备在赌场玩多长时间?
如何利用剩余时间?
在1989年上映的电影《死亡诗社》中,一个令人难忘的场景是彼得·威廉姆斯呼吁道:“抓住现在,孩子们,要抓住每一天,让你们的生活变得非凡起来。”
这条建议非常重要,同时也有点儿自相矛盾。抓住一天与抓住一辈子的时光是完全不同的两个概念。的确,有人说:“吃喝享乐吧,因为明天我们就会死去。”但是,我们或许应该反过来说:“让我们学一门新的语言或者乐器,或者与陌生人随便聊聊吧。生命如此漫长,谁知道多年之后哪一朵快乐之花会绽放。”当我们在喜爱的体验与新鲜的体验之间取得平衡时,最重要的莫过于为享受这些体验制订计划的那个中间环节。
数据科学家、博主克里斯·斯图吉奥解释说:“刚刚搬到一座城市时,我更有可能去尝试新的餐厅,但是当我准备从一座城市搬走时,这种可能性就会降低。”这位善于处理工作、生活中探索与利用这一取舍问题的老手说:“现在,我在大多数情况下都会去我熟悉、喜爱的餐厅,因为我知道我很快就会离开纽约了。
但是,几年前刚到印度的浦那市时,我几乎吃遍了这座城市,只要看起来毒不死人的东西,我都会去尝试一下。当我准备离开那座城市时,我又开始吃我过去就喜欢吃的东西,而不是到处尝试新的食物……即使我发现某个地方还不错,我也只会去一两次。何必再冒那个险呢?”
随着时间的推移,即使探索有所发现,我们可以认真品味这些新发现的机会也已经所剩无几,因此探索的价值随之降低。在你离开一座城市的前夜,你发现一家酒吧非常棒,但是你已经没有机会去第二次了。这一点可以让我们清醒下来,不至于一味地尝试新鲜事物。
与之相反,利用的价值随着时间的推移反而会不断上升。本质上,现在你心目中最迷人的酒吧至少不逊于上个月你心目中最迷人的酒吧。(如果后来你发现你喜欢上了另一家酒吧,那就说明这家酒吧可能更棒。)因此,当你有时间使用探索带来的知识时,就大胆探索。当你准备兑现探索的成果时,就尽情利用。利用好剩余时间就是正确的应对之策。
有趣的是,既然应对之策是利用好剩余时间,那么通过研究人们采用的策略,我们也可以推断出剩余时间的起始点与结束点。以好莱坞为例。1981 年,票房排行榜前10 名的电影中只有两部是续集;1991 年,前10 名中有三部续集;2001 年,这个数字上升到了5 部;2011 年,票房前10 名电影中有8 部都是续集。事实上,续集在2011年各大公司电影作品中所占的比例创造了一个新纪录。
但是,这个纪录在2012 年就被打破了,到2013 年又再次被打破。2012 年12 月,记者尼克·艾伦对来年的电影前景进行了展望。他的热情明显不是很高:
观众将第6次看到X战警,还将看到《速度与激情6》《虎胆龙威5》《惊声尖笑5》和《鬼影实录5》。此外,他们还会看到《钢铁侠3》和《宿醉3》,以及《布偶大电影》《蓝精灵》《特种部队》和《圣诞坏公公》的续集。
在电影公司看来,续集可以保证观众基础,是稳赚不赔的买卖,是可以享受的成果。但是,因为稳赚不赔就一拥而上,说明他们的目标非常不长远,这与斯图吉奥即将离开一座城市之前的行为非常相似。与全新的电影相比,续集更有可能成为当年的热门电影,但是未来深受观众喜爱的票房保证将从何而来呢?蜂拥而至的续集潮不仅令人感到遗憾(影评家肯定是这样想的),在一定程度上甚至令人伤感。电影业已经进入了一个安于现状的阶段,这似乎是一个信号,告诉我们电影业已经日薄西山了。
好莱坞的经济状况与这种预感似乎不谋而合。2007—2011年,各大电影公司的利润下降了40%;在过去10年里,有7年的票房收入走了下坡路。《经济学人》杂志指出:“在成本上升、收益下降的双重压力下,大型电影公司的应对之策是制作续集、前传或者邀请名演员担纲主演,因为他们相信这些电影肯定会火起来。”换句话说,在被淘汰出局之前,他们正争分夺秒,在他们发现的最容易吐钱的“老虎机”上进行赌博游戏。
赢留输变
事实证明,要用优化算法来处理多臂老虎机问题,难度非常大。彼得·惠特尔回忆说,“二战”期间,这个问题“令同盟国的分析人员身心俱疲……于是有人提议,把这个问题作为破坏智力的终极工具,交给德国人研究”。
战后,人们通过几年的研究,取得了若干进展。哥伦比亚大学的数学家赫伯特·罗宾斯提出了一个简单的策略,并指出,尽管这个策略尚不完善,但是可以给出一些效果不错的建议。
在具体考虑了只有两台老虎机的情况之后,罗宾斯提出了赢留输变算法:随便选择一台老虎机,只要它不断吐钱,就在这台机器上玩游戏。如果某次拉动拉把后,老虎机没有吐钱,就换另一台机器。1952 年,
罗宾斯提出的这个简单策略虽然远不完善,但是效果肯定比碰运气好。在罗宾斯之后,不少人进一步研究了“赢留输变”原则,并发表了一系列论文。根据直觉,如果你本来就倾向于某台老虎机,而且这台机器刚刚又让你赢了一些钱,那么你对这台机器的评估就会升值,肯定不介意在这台机器上再玩一次。事实证明,在很多情况下,赢就留下原则都是探索与利用平衡问题优化策略的一个组成部分。
但是,输就走人这个原则就值得商榷了。不吐钱就换机器是一种非常草率的行为。假设你去一家餐厅用餐。你去过一百次,每次都感到非常满意。如果有一次你感到失望,会不会从此以后就再也不去这家餐厅了呢?正确的做法是不要对瑕疵惩戒过重。
更重要的是,赢留输变不含任何剩余时间的概念,因此没有为优化行为留出时间。你去你喜爱的餐厅用餐,结果扫兴而归,那么这个算法就会建议你以后换一家餐厅,即使你明天就要离开这座城市了。
不过,罗宾斯开启了多臂老虎机问题研究的先河,在随后几年里,这个领域涌现出大量的文献资料,研究人员也取得了重大进展。美国兰德公司的数学家理查德·贝尔曼发现,当我们预先知道所有的可选方案以及赢钱机会时,就能求出这个问题的精确解。就如全信息秘书问题的解法一样,贝尔曼基本上也采用了逆向法。
首先,他假设自己知道之前所有决策会产生的结果,然后考虑应该在哪一台老虎机上最后一次拉下拉把。推算出结果之后,他再考虑倒数第二次的情况,然后是倒数第三次、倒数第四次,一直倒推到最开始。
贝尔曼的这个方法肯定可以得到确定无疑的答案,但是,如果可能的选择与赌博的轮次都非常多时,工作量就会非常大(甚至大到无法完成的程度)。此外,即使我们可以计算出未来的所有可能情况,我们也不一定确切地知道我们到底有多少赢钱机会(甚至不知道有多少种选择方案)。因此,多臂老虎机问题从本质上讲还没有得到解决。用惠特尔的话说:“它很快就变成了一个经典问题,同时也变成了永不妥协的代名词。”