书评:《算法之美:指导工作与生活的算法》
1 |
|
原文摘录
序言
卡尔·萨根指出:“与其说科学是大量知识的汇总,不如说它是一种思考方式。”即使生活中的某些情况非常复杂,我们无法进行严格的数值分析,找不到任何现成的答案,我们也可以考虑这些问题的简单化表现形式,从而得出某些直觉和概念,帮助我们理解其中的关键环节并取得进展。
01 最优停止理论 如何选择停止观望的时机?
如果采用随机选择的方式,在申请人总数为100时,我们得到理想结果的可能性是1%,在总人数为100万时,可能性就会降到0.0001%。但是,令人意想不到的是,秘书问题的计算结果不会发生变化。如果采用最优停止理论,在100人当中选中最优秀申请人的可能性是37%。而总人数是100万时,无论你相信与否,你得到理想结果的可能性仍然是37%。因此,申请人总数越多,最优算法理论就越有价值。
如果可以复活之前被放弃的人选,最优算法就会对我们所熟悉的摸清情况再行动准则做一个小的调整:推迟表态时间,制订备用计划。
在秘书问题中,除了可以相互比较之外,我们对这些申请者一无所知。对于优秀人员应该具有哪些特点,我们无法参考任何客观标准或者已有标准,而且在比较这些申请者时,我们只能知道孰优孰劣,但是无法了解彼此之间的确切差距。正因为如此,“观望”阶段是不可避免的。在前期阶段,我们冒着与优秀人选失之交臂的危险,不断调整我们的期望值与权衡标准。数学家把这种最优停止问题称作“无信息博弈”。
在根据某种客观标准(例如收入排名情况)评判合作伙伴时,可供使用的信息比较多。如果评判标准是模糊不清的情感反应(“爱情”),则可能需要我们根据经验以及比较结果不断做出调整,同时可供使用的信息也相对较少。
如果拒绝当前的报价,预计出现更有利报价的可能性是多少?该报价与当前报价之间的差,乘以该报价出现的可能性,乘积是否大于继续等待的成本呢?数学计算的结果清楚地表明,停止价格是等待成本的一个显函数。
前面说过,在开普勒寻觅爱情的过程中,可以“复活”之前被自己拒绝的机会是一个非常重要的条件。但是,在卖房子或者找工作时,即使我们可以重新考虑之前的报价或工作邀请,即使我们可以肯定那个报价或工作邀请仍然有效,我们也绝不应该重新考虑它。如果之前它没有达到阈值的要求,那么现在它也不会高于阈值。在拒绝那个报价或工作邀请之后,我们的付出已经成为已支付成本。因此,不要妥协,不要试图亡羊补牢。坚持住,不要回头!(读者注: 因为评价标准是客观的,阈值也是,这一点同爱情不一样。)
舒普指出,当停车位占用率从90%升至95%时,尽管仅多停了5%的车,但是大家寻找停车位的时间就会翻一番。
为了实现最优停止这个目标,在距离目的地一定路程之外,即使看到空车位也不要停车;一旦进入一定距离之内,就应该从观望阶段转变为行动阶段,看到空车位后立刻停车。这段距离的长短,取决于停车位可能被占用的百分比,即停车位占用率。
在窃贼问题中,窃贼可以实施一系列盗窃活动。他们的每次盗窃都会有收获,并且每次都有机会带着战利品顺利脱身。但是,一旦被抓住,他们就会失去之前的所有收获。
有的时序决策问题似乎没有最优停止准则,尽管从我们前面讨论的大量问题看,似乎不应该出现这种情况。“要么三倍,要么赔光”的博弈游戏就是一个简单的例子。假设你带着1美元去玩这个游戏。游戏规则对轮次没有限制,但是要求你每次都要押上所有的钱,你有50%的机会赢回三倍的钱,另外50%的机会全部赔光。那么你应该参与多少轮呢?尽管这个问题非常简单,但它没有合适的最优停止准则,因为每参加一轮游戏,你的平均收益都会略有增加。从1美元开始,你有一半机会赢回3美元,一半机会收回0美元,平均而言,第一轮结束之后,你装进口袋的现金期望值是1.5美元。那么,如果你在第一轮游戏中运气不错的话,第二轮游戏的两个可能结果就会将你刚刚赢回来的3美元变成9美元或者0美元,也就是说,第二轮的平均收益是4.5美元。数学计算结果表明,你应该一直玩下去。但是,果真如此的话,你最终必将输光所有的钱。可见,有的问题有解,反而会有损无益。
直觉告诉我们,合理的决策需要穷举所有选择,逐一权衡,然后从中找出效果最好的那个选择。但是实际上,在钟表嘀嘀嗒嗒的声音中,决策活动(或者更具一般性的思维活动)的其他方面都淡化了,进一步凸显出停止时机选择的重要性。
02 探索与利用 要最新的还是要最好的?
随着时间的推移,即使探索有所发现,我们可以认真品味这些新发现的机会也已经所剩无几,因此探索的价值随之降低。在你离开一座城市的前夜,你发现一家酒吧非常棒,但是你已经没有机会去第二次了。这一点可以让我们清醒下来,不至于一味地尝试新鲜事物。
有趣的是,既然应对之策是利用好剩余时间,那么通过研究人们采用的策略,我们也可以推断出剩余时间的起始点与结束点。
与全新的电影相比,续集更有可能成为当年的热门电影,但是未来深受观众喜爱的票房保证将从何而来呢?蜂拥而至的续集潮不仅令人感到遗憾(影评家肯定是这样想的),在一定程度上甚至令人伤感。电影业已经进入了一个安于现状的阶段,这似乎是一个信号,告诉我们电影业已经日薄西山了。
经济学家把这种重现在、轻将来的概念称作“贴现”。
如果你认为基廷斯指数太复杂,或者你所处的情况并没有表现出几何贴现的特征,那么你还有另一个选择——关注遗憾。
贝佐斯说:
我找到一个可以帮助我轻松做出重大决定的框架,并把它称作“遗憾最少化框架”(一个书呆子气十足的名称)。我把自己想象成80岁的模样,然后开始思考:“现在回望我的一生,我要把遗憾之事的数量降到最低。”我知道在我80岁时,我不会因这次尝试而后悔,我不会后悔参与到互联网这项我认为非常重要的事业中来。我知道,哪怕我失败了,我也不会遗憾,而我可能会因为没有尝试而感到遗憾,而且这种遗憾之情将永远萦绕在我的心头。想到这里,这个决定就变得非常容易了。
直观表现的统计数据通常在数据点上方或下方添加所谓的误差条线,以表明该测量值是不确定的;误差条线表示的是被测量数量真实值所在的合理范围,即“置信区间”。随着我们收集的数据越来越多,置信区间将不断缩小,这说明测量值越来越精准。(例如,有两台老虎机,你在一台老虎机上玩了两次,其中有一次赢钱了,在另一台老虎机上玩了10次,有5次赢钱了。这两台机器的期望值相同,但是前者的置信区间更宽。)上限置信区间算法告诉我们,多臂老虎机问题非常简单,可以直接选择置信区间上限最高的那个方案。
上限置信区间算法的成功,是对怀疑者的一个正式回应。根据这些算法给出的建议,我们应该满怀激情地结识新人,尝试新鲜事物,因为在没有相反证据的时候,我们都应该假定可以取得最好的结果。从长远看,乐观主义是防范遗憾的最有效措施。
亚马逊、谷歌等大型科技公司在2000年前后开始在他们的用户身上进行实时A/B测试,随后互联网在几年时间里就变成了全世界规模最大的对照实验。
几年来,A/B测试的程序也越来越完善。A/B测试最经典的做法是将流量均分给两个选择方案,测试一段时间之后,再将所有流量都分配给获胜一方。但是,这种做法将导致一半用户在测试的过程中只能接受较差的那个方案,因此它未必最有利于解决问题。
这个程序关注的焦点是明确回答哪种治疗方案效果更好,而不是为接受实验的每一名病人提供最有效的治疗。一部分病人在整个实验期间接受的治疗最终被证明效果较差,这与网站的A/B测试没有任何不同。
1969年,马文·泽伦(现在是哈佛大学的一名生物统计学家)建议采用“自适应性”试验。他提出的一个建议是随机化“胜者优先”算法——另外一个版本的赢留输变算法。根据这个算法,使用某个特定治疗方案的可能性随着每次成功治愈有所增加,反之则会减少。按照泽伦设计的程序,你首先在帽子里放两个小球,分别代表接受研究的两个治疗方案。从帽子中随机拿出一个小球,以确定第一名病人使用哪种治疗方案(随后将小球放回帽中)。如果所选的治疗方案成功地取得了疗效,就在帽子里再放一个代表这种治疗方案的小球。此时,帽子里一共有三个小球,其中有两个代表刚刚取得成功的治疗方案。如果所选的治疗方案失败了,就在帽子里再放一个代表另外一个治疗方案的小球,以增加将来选中该治疗方案的可能性。
一般而言,人们似乎倾向于过度探索——对新鲜事物的青睐程度超过效果最佳的事物。
既然世界是变化的,那么正确的选择可能就是继续探索。一家餐厅令你失望,于是你再也不愿意去那里用餐,但是过了几年之后,也许你应该再去一次,万一那里换了一名经理呢。
把童年看作是人生算法中短暂的探索阶段,可能会让学龄前儿童的父母感受到一些安慰。
随意按动按钮、对新玩具非常感兴趣、思维跳跃性强,这些都是孩子们的特点。如果他们的目标是探索,这些就正是他们应该做的事情。如果你是一个婴儿,那么你抓到家里所有东西都会往嘴里放的行为,与赌徒在赌场里小心翼翼地拉动老虎机拉把的行为并没有本质上的不同。
一般而言,我们对理性的直觉认识常常来源于利用,而不是探索。当我们谈论决策过程时,我们通常只关注某个决定的即时回报——如果你把每一个决定都当作人生的最后一个决定,那么只有利用才是有意义的。但在一生中,你会做出很多决定。实际上,在做很多决定时,理性的做法是强调探索的重要性,重视新的东西而不是最好的东西,重视令人为之兴奋的东西,而不是一味追求安全,重视随机选择,而不是深思熟虑的决定。在人生早期,更应该如此。
他们让人们从直系亲属、最近读过的一本书的作者和志趣相投的新交中选择一个人与自己共度30分钟。结果,年纪大的人往往选择家人,年轻人则希望与作者接触或者结交新朋友。但是,如果对实验做一个重要的修改,告诉年轻人他们即将搬到很远的地方,那么他们也会更愿意与家人待在一起。(读者注: 保守主义的另一个根因。)
社交偏好的这些差异与年龄本身无关,而是与人们对决策过程中剩余时间的认知有关。
我们通常认为年轻人喜欢推陈出新,而老年人的做事方式往往一成不变。事实上,两者的行为都与他们各自的剩余时间高度一致。把社交网络限制在精心挑选、对自己最重要的圈子里,是一种理性的反应,因为老年人尽情享受社交成果的时间已经越来越少了。
举个例子,上大学时,你置身于一个新的社交环境之中,周围的人你都不认识,这对于你来说通常是一段催人向上、意气风发的时光,而老年公寓虽然也是一个新的社交环境,周围的人你也都不认识,但是这很可能会让你非常苦闷。这种差异在一定程度上是因为我们在人生各个阶段探索与开发这个连续统一体中所处的位置不同。
03 排序 建立秩序
发明家赫尔曼·霍尔瑞斯从当时使用的打孔火车票那里找到灵感,发明了一种可以存储信息的打孔统计卡和一种机器,用来完成计数与排序工作。他把这套系统称作“霍尔瑞斯计算机”。1889年,霍尔瑞斯获得专利,美国政府在1890年的人口普查中采用了霍尔瑞斯计算机。在这之前,从来没有人看到过这样的机器。一位惊叹不已的旁观者说:“这个装置就像众神的磨坊一样准确无误,速度则完胜对方。”然而,另一个人认为这项发明的用途十分有限:“除了政府以外,没有人愿意使用它,因此发明者不可能发财。”霍尔瑞斯把这个预言制成剪报并保存了下来,但是事实证明,这个预言并不完全正确。1911年,霍尔瑞斯公司与另外几家公司合并,变成了计算-制表-记录公司。几年之后,公司改名为国际商用机器公司,即IBM。
1955年,詹姆斯·霍斯肯在第一篇公开发表的关于排序的科学论文中写道:“为了降低单位产出的成本,人们通常会增加他们的业务规模。”这是任何一名商科学生都很熟悉的规模经济。但是,在排序这个问题中,规模往往会招致灾难:如果扩大排序的规模,“排序的单位成本就会不降反升”。(读者注: 以及沟通成本。)
在排序的过程中,最大限度地减少痛苦的办法就是在排序时尽可能减少排序对象的数量。
如果你从来不在某些物品中搜索某个目标,那么为这些物品排序就纯粹是一种浪费。如果你从来不为某些物品排序,那么你在其中搜索的效率就会很低。
因此,摆在我们面前的问题已经变成如何提前预估未来的用途。
计算机科学表明,混乱的危害和秩序的危害是可以量化的,他们的成本都可以用时间这个“货币”来衡量。杂乱无序可能会被认为是一种拖延的行为——把责任推给未来的自己,而且还要连本带息偿还我们不愿意提前支付的债务。但是,详细情况还要更加微妙。有时,混乱不仅仅是轻松的选择,还是一个最优选择。
把比赛场次降到最少其实并不符合联盟的利益。在计算机科学中,不必要的比较总是多余的,浪费时间和精力。但在体育运动中,情况远非如此。毕竟,在很多方面,比赛本身就是意义所在。
冒泡排序的效率的确低下——每次只移动一个位置,但是它们对抗噪声的能力比较强,远胜于合并排序等速度更快的算法(在这种算法中,每一次比较都有可能将一个物品移动非常长的距离)。合并排序的效率非常高,因此健壮性不足。在合并排序早期发生错误,就会像在第一轮淘汰赛中意外失利一样,不仅会使有望夺冠的球队希望破灭,还会把球员们的排名永久性地降到半数球队之后。另一方面,排位赛与冒泡排序相似,意外失利只会让运动员的排名下降一个位置。
但是,在带噪比测器面前表现最好的并不是冒泡算法,获得这项殊荣的是一种叫作比较计数排序 的算法。在该算法中,每个排序对象都会与其他对象做比较,从而统计出比该排序对象小的对象一共有多少个。这个数字可以直接表示该排序对象的排名。因为比较计数排序让所有的排序对象都结对比较,因此与冒泡排序一样,它也是一个平方时间算法。正因为如此,它在传统的计算机科学应用程序中并不是一个深受欢迎的选择,但是它的容错能力非常强。
在所有已知的算法中,包括平方时间算法和其他更优秀的算法,比较计数排序是最健壮的排序算法。了解这个事实应该可以帮助体育迷们正确面对某些具体情况。如果球队没有进入季后赛,就不要怨天尤人了。采用合并排序的季后赛有运气的成分,但是采用比较计数排序的常规赛是无法碰运气的。
如果一个动物根据它对等级概念的了解,判断不值得实施某个对抗行为,就会发生转位这种现象。在很多动物群体中,资源、机会、食物、配偶、受欢迎的空间等都非常稀缺,因此群体必须决定如何分配这些资源和机会。预先建立好秩序是一种比较温和的机制,这样,当出现一个交配机会或者发现一片茂盛的草地时,群体成员不至于相互争斗。
创立啄食顺序,可以从根本上解决一个重要的计算问题。顺便说一句,农场为鸡去喙以免彼此争斗的做法可能是出于好意,但是效果往往适得其反,因为它剥夺了个体为秩序而战的权利,这会大大增加了整个鸡群执行排序程序的难度。结果,在许多情况下,鸡群内部的对抗不减反增。
关键是要知道优势等级归根结底是信息等级。弗莱克指出,对于这些分散的分类系统来说,计算的难度非常大。例如,在猕猴群体中,只有在每只猴子都对等级关系有一个非常详细(而且彼此差不多)的理解时,打斗的频次才会降至最低,否则暴力事件就会层出不穷。
有一项体育赛事仅利用一场比赛的时间,就将几万选手全部排好了次序。(反过来,一场有1万名运动员参加的循环赛,需要安排1000万场对决。)唯一需要注意的是,赛事所需的时间是由最慢的选手决定的。这项体育赛事就是马拉松比赛,它给了我们一个重要提示:竞争与争斗在本质上是不同的。
把“序数”(只能表示排名)变成“基数”(直接为某人的水平赋予一个度量)之后,自然不需要两两比较就可以为一群对象排好次序。
人类社会规模如此庞大,到底是哪些因素使其成为可能的?我们很容易就会把目光投向农业、金属和机械等技术。但是,通过量化指标来测量社会地位的文化实践可能发挥了同样重要的作用。
确定一个国家的地位本来至少需要线性对数的争斗与决议,但是在建立基准之后,通过一个参考点,就可以确定所有国家的地位。鉴于国与国之间的地位纷争常常诉诸武力,标准的建立不仅节省了时间,更挽救了生命。
在工业规模的经营活动中,有成千上万的个人共享同样的空间,因此必须通过实现从序数到基数的飞跃,才能有效地建立秩序。(读者注: 即标准。这也说明了“唯分数论”的出现原因:这是成本最低的给学生排序的方法。)
04 缓存 忘了它吧
但是,就像学者思想上的混乱被书桌表面的整洁性所掩盖一样,在计算机嵌套文件夹的遮掩下,数据分类方法高度工程化的混乱特点也因为计算机文件系统表面上的整洁性而变得模糊起来。
最近最少使用法的高效性得益于计算机科学家所谓的“时间局部性”:如果一个程序曾经调用过某个信息,那么在不久的将来它可能会再次调用这个信息。
但是我们其实不需要因为缓存的原因而采用不同材料制造存储器。在距离不远时,缓存是个有用的资源,但是性能不同,性能是稀缺资源。
亚马逊的这项专利实际上是最近非常流行的,将商品运送至一个地区的临时仓库,从而为自己的实体商品开辟一个专用的内容分发网络。有人下订单时,商品就已经在他附近的大街上了。预测个人购买行为是有挑战性的,但是当预测数千人的购买行为时,大数定律就会生效。
简而言之,自组织列表的数学计算会为我们提供一些激进的建议:你根本没有必要因为案头文件成堆而自责,因为这不是杂乱无序的标志,而是最精心设计和最有效的组织形式之一。在别人看来,这是一种没有组织的混乱局面,但是实际上,它是一个自组织混乱。把东西扔回成堆物品的顶部,是你在无法预测未来时可以采取的最有效的做法。
在安德森对人类记忆的新描述中,其核心思想是,需要解决的可能不是存储问题,而是如何组织的问题。他认为,大脑的记忆能力基本上是无限的,但我们在大脑中搜索的时间是有限的。
存储器越大,在其中搜索并提取信息就不可避免地需要越多时间。
令人惊讶的不是记忆衰退,而是大脑在海量数据不断积累的情况下,仍然能够保持清醒并且做出正常反应的事实。
不管你的组织计划有多好,如果需要在更多的东西中进行搜索,就将不可避免地需要更长的时间。这不是因为我们变得健忘,而是因为我们在回忆。
05 时间调度理论 要事先行
我们度过每一天的方式,自然就是度过一生的方式。
如果你要降低最大延迟时间,那么最佳策略就是你先从截止日期最近的任务开始,再以此类推逐渐执行。这一策略被直观地称为最早到期日原则 。
将完成时间总和最小化可以引申出一个非常简单的优化算法——最短加工时间 :总是先做能最快完成的任务。
当然,这没有办法改变你的工作总量,但最短加工时间法可以尽快减少未完成的任务数,从而抚慰你的心灵。它的完成时间总和这一标准可以用另一种方式来表达:它就像是把重点放在减少待办事项列表的长度。
动物为了最大限度地提高从食物中积累能量的速率,应该按照获得和食用该食物所需的时间和其热能比值高低来摄取食物——它们似乎也的确是这么做的。
减债战略是指忽略债务整体的数量和大小,只是把钱注入利息最高的那一笔债务。这就相当于按照单位时间重要性的顺序安排工作。这一策略能尽可能快地减轻债务的总负担。
有人说:“戴一只手表的人知道时间,而戴两只手表的人就不能确定时间了。”
计算机科学家称之为“PING攻击”或“拒绝服务”攻击:给系统无数琐碎的事情做,重要的东西就会迷失在混乱中。
超前主义,这是我们新提出的一个术语,是指完成任务时为了加速子目标的完成,甚至牺牲额外的体力。”推迟主要项目的工作,去完成各种琐碎的小任务也与此类似,这可以被视为“加速子目标的完成”。这是在换一种方式说,拖延症者也在努力行动,以尽快地减少他们头脑中悬而未决的任务数量。这并不是说他们在完成任务时使用了糟糕的策略,而是他们用一个伟大的策略选择了错误的指标。
重点不只是要把事情做好,更重要的是把权值更高的事情做好——在每一个时刻都做好最重要的工作,这听起来像是治愈拖延症的一个行之有效的方法。但事实证明,仅仅这样还不够。
突然,探路者号发现信息总线在一段不可接受的长时间里都没有被处理,并且没有一个细微的追索来源,它便进行了一次完全重启,使当天剩下的工作能被更好地完成。大约一天后,同样的事情再次发生。
喷气推进实验室团队经过仔细研究,终于成功重现并诊断该行为。其罪魁祸首是一种经典的危险调度行为,称为优先级反转。该行为是指低优先级任务做某些工作时拥有系统资源(这里我们可以说是访问数据库),但在做该任务时被定时器中断,该定时器使其暂停并触发系统调度器。调度器启动一个高优先级任务,但该任务不能运行,因为数据库已被占用。因此,调度器向下移动优先级列表,改为执行中等优先级工作,而不是高优先级任务(已被阻塞),或低优先级任务(已被锁定在中优先级任务之后)。在这种可怕的状况下,系统的最高优先级有时可以在任意长时间里被忽略。
当喷气推进实验室团队的工程师将探路者号的这一问题识别为优先级反转的情况后,他们立即编写了一个修正代码,并将新代码数传送到百万英里之外的探路者号上。他们穿越太阳系发射的解决方案是什么呢?那就是优先级继承。如果发现低优先级任务阻塞高优先级资源,那么所有低优先级任务应该立刻变成系统上的最高优先级任务,“继承”被阻塞的优先级。
歌德曾说:“最重要的事情永远不应该受到不重要事情的影响。”虽然这有一定的道理,但它也不都是真的。有时候,最重要的事要等不重要的事情完成之后才能进行,所以这里只有将这些不重要的事情看得跟被阻塞的重要任务一样重要。
当某个任务在另一个任务完成之前无法启动时,调度理论家称之为“优先约束”。
有趣的是,如果我们提前知道任务的开始时间和持续时间,想要优化所有其他的指标也都是难解的。所以,调度不确定性的影响揭示了一些违反直觉的东西:在有些情况下,透视是一种负担。即使拥有完全的预知,寻找完美的调度计划实际上也许也是不可能的。相比之下,驻足思考,工作来时反应灵敏,也许不能给你想象中完美的调度执行,但这是你可以做的最好的一件事,也最容易计算。
这种来回切换并不是“真正的工作”,也就是说它们都没有实际提高计算机所切换的程序的状态。这是无用功,每一次上下文切换都在浪费时间。
对于计算机来说,原因是一样的:每一个任务都基于我们有限的认知资源。如果记住一切我们需要记住的事情就已经占据我们全部的注意力了,或者优先考虑每个任务就已经消耗掉这些任务所需要完成的所有时间,或者我们的思绪在被转化为行动之前就常被打乱,那么这种感觉很令人恐慌。这就是颠簸,电脑对这一点很清楚。(读者注: 抖动。)
当有足够多的程序运行时,任务切片就会缩得极小,以至系统会将整个切片都花费在上下文切换上,而不是切换到下一个任务上。
如果你发现自己在进行很多上下文切换(因为你在处理一系列短任务),你也可以使用计算机科学的另一个做法:“中断联合”。例如,如果你有5张信用卡账单,不要在刚收到第一张账单时就立即支付它,一直等到第五张账单来时再做处理。
在学术界,上班时间就是一种中断联合。而在私营部门,中断联合提供一个最恶毒的办公室礼仪的救赎观:每周例会。
06 贝叶斯法则 预测未来
媒体不断告诉我们,我们生活在一个“大数据时代”,计算机可以筛选这数十亿的数据点并发现一些肉眼看不到的细节。但跟日常生活联系最密切的问题往往是另一种极端。我们的生活充满“小数据”,我们就像看到柏林墙的戈特一样,也就是通过一个单一的观察,做一个推论。
事实上,如果买 n 张彩票共 w 张中奖,那么中奖率就是中奖数加 1,除以所购买的数目加 2。
这种令人难以置信的简单的方法估计概率的简单方法被称为拉普拉斯定律,它很容易就能适用于任何你需要通过历史事件来评估概率的情况。
贝叶斯法则依赖于先验概率,这一点在历史上的某些时刻被认为是有争议的、有偏见的,甚至是不科学的。但在现实中,我们的头脑实际上很少会进入一个完全空白甚至停滞的状况。
他设想,他到达柏林墙的那一刻并不特别,因为这只是柏林墙整个历史中的一瞬。如果有任何一个时刻都有同样的可能性,那么平均来说,他的到来应该是在一个精确的中间点(因为他有50%概率是在此之前到来,或50%的概率是在此之后)。更普遍的是,除非我们确定我们在某个特定时间现象中出现的特定中间点。[1] 如果我们假设我们到达的中间点有精确的时间,那么对于它在未来还可以持续多久的最佳猜测就变得很明显:确切地说就是它已经存在的时间。戈特看到柏林墙时已经建成8年了,所以他最好的猜测是,它将再存在8年。(最终,这个数字是20年。)
这个简单的推理,被戈特称为哥白尼原则,它可以得出一个简单的算法,能为各类事件做出预测判断。在没有任何先入为主的预测时,我们不仅可以用它来获得对柏林墙终结时间的预测,同时也可以预测任何其他短期和长期现象。(读者注: 数据过小以至于根本无效,但思路很有趣。)
如果你遇到一个90岁的男子,哥白尼原则预测他会活到180岁。同时,每个6岁的男孩都会被预测将在12岁时早逝。
事实上,戈特并不是第一个提出类似哥白尼原则的人。20世纪20年代中期,贝叶斯统计学家哈罗德·杰佛利曾考虑仅仅通过一辆城市有轨电车的序号来确定一个城市有轨电车的数量,并得出了相同的答案:该数字的双倍。
在认识到哥白尼原则是无信息先验基础上的贝叶斯法则之后,就可以回答很多关于其有效性的问题。哥白尼原则在我们什么都不知道的情况下似乎是合理的、准确的,如在1969年看到的柏林墙,我们不确定什么时间范畴是合适的。同时,在我们对某一对象的确有所了解时,就会感觉这是完全错误的。预测一个90岁的人能活到180岁是不合理的,这恰恰是因为我们关于人类寿命已经了解了很多——在这种情况下,我们就可以预测得更好。我们给贝叶斯法则带来的先验信息越丰富,我们便能从中得到越有用的预测。
幂律分布可以描述在日常生活中一系列与城镇人口分布类似的现象:大多数都低于平均值,少数是超过的。
正态分布的东西似乎太长了,最后必然会很快结束。但幂律分布的东西存在的时间越长,你可以预测它继续下去的时间就越长。
这三个非常不同的最佳预测模式——相乘法则、平均法则和相加法则都是通过将贝叶斯法则应用到幂律、正态和厄兰分布上得出结果的。因为这些预测的出现,这三种分布也给我们提供了不同的指导,让我们知道对某些事件应该有多惊讶。
在幂律分布中,某个事物已经存在的时间越长,我们可以预测它继续存在的时间也就越长。因此,幂律事件让我们等待的时间越长,就会让我们更加惊奇,尤其在它发生前的一刻。一个国家、一个公司或一个机构,年复一年地变得更加强大,所以当它崩溃时总是令人震惊。
在正态分布中,如果事件提前发生就会令人惊讶,因为我们期望它们达到平均水平,但当它们推迟发生时不会如此。的确,到了这一点,它们似乎推迟发生了,所以我们等待的时间越长,我们就会越期待。在厄兰分布中,通过定义的事件无论何时发生都不会给我们带来更多或更少的意外。任何事情的状态都有可能结束,不管它已经持续了多久。毫无疑问,政治家总是会对他们下一次的选举进行准备。
在电影《赌棍》中,肯尼·罗杰斯提出了一个著名的建议,他说,你必须“知道什么时候走开,或知道什么时候继续”,但对于无记忆分布而言,没有一个绝对正确的退出时间。这可能就是为什么这些游戏会让人上瘾的部分原因。
小数据是大数据的变相。往往,我们能从少量的或一个单一的观察结果得出正确预测结果的原因是,我们在这方面的先验如此丰富。不管我们是否知道,我们似乎已经在头脑中储存下惊人准确的先验,例如关于电影的票房和时长、诗的长度,以及任职时间,更不用说人类的寿命。我们不需要特意收集这些先验,因为我们从这个世界中不停地吸收着它们。
事实上,就整体而言,人们的直觉似乎接近于贝叶斯法则的预测,也可以将各种先验分布逆向转换,即使这很难得到权威的真实数据。
然而这里有一个关键的警示。在我们没有良好先验的情况下,我们就无法很好地预测。
我们对未来的计划揭示了我们生活的世界以及我们自己经历过的方方面面。
换句话说,抵制诱惑的能力至少部分取决于预期而不是意志力。
如果你想成为一个具有准确直觉的贝叶斯主义者——如果你想自然地做出准确的预测,而不必考虑什么样的预测规则是适当的,你就需要保护你的先验。相反,这可能意味着要关闭消息来源渠道。
07 过度拟合 不要想太多
刻意地较少思考也是一种智慧。
的确,若模型中包含更多的因素,从定义上来说,会更拟合我们已经现有的数据。但更好地拟合现有数据并不一定意味着会得出更好的预测结果。
如果研究的对象发生变化,同一基本模式也会发生细微变化,那么单、双因素模式会或多或少地保持稳定状态,但九因素模型将从研究中的一个例子剧烈回旋到另一个。这就是统计学家所称的过度拟合。
机器学习的最深刻的真理之一就是,事实上,并非使用一个更复杂的模型就会更好,它需要考虑更多的因素。这个问题不仅仅是额外的因素可能会提供递减的回报,比一个简单的模型效果更好,还不足以证明增加的复杂性。相反,他们可能会使我们的预测效果急剧恶化。
从根本上说,过度拟合就是对数据的一种偶像崇拜,产生的原因是将重心放在我们能够测量的数据而不是真正重要的问题上。
当你去健身房减掉由于吃糖带来的多余的体重时,你也可能会对健身过度拟合。明显的身体健康的表征,例如低脂肪和高肌肉量,很容易测量,它们也可以降低心脏病和其他疾病的风险。但它们也是一种不完善的间接测定方法。对表征过度拟合——采用极端的饮食来降低身体脂肪以及服用类固醇来增强肌肉,也许会让你的身体状况看起来非常好,但只是看起来而已。
史蒂夫·乔布斯说:“激励结构是有效的,所以你对激励别人做的事必须非常小心,因为不同的激励结构产生的不同后果是你所不能预料的。”萨姆·阿尔特曼是创业孵化器Y联合机构的总裁,他也认同乔布斯的警告:“公司将按照首席执行官所做的任何估量决策发展。”
网站可能在短期内获得更多的钱,但塞满广告的文章,缓慢加载的多页幻灯片,以及耸人听闻的标题从长久来说会失去读者。
在某些情况下,模型和现实世界之间的区别就是生死问题。在军事领域和执法部门,例如重复的机械训练被认为是灌输火线技能的一个关键手段。我们的目标是演练某些运动和战术要点,使它们成为完全自动的技能。但当过度拟合在此出现时,一切就可能是灾难性的。比如,曾发生这样一个故事,警察发现自己在枪战中竟会花时间将弹壳收在口袋里——这是在射击场上培养起来的良好习惯。作为美国前陆军游骑兵和西点军校心理学教授戴夫·格罗斯曼曾写道:“在许多真实枪战中,当硝烟散去,军官们会震惊地发现自己的口袋里有许多空弹壳,但他们自己完全不记得是如何放到那里的。在一些场合,殉职的警察被发现手中还握着空弹壳,他们死在执行一个渗入他们身体里的行政程序的过程中。”同样,美国联邦调查局被迫改变其训练,因为他们发现有些特工在开完两枪之后会本能地将武器收入枪套中(这是训练的标准程序),无论他们是否击中目标,也无论威胁是否仍然存在。这样的错误在执法和军事领域被称为“训练的伤疤”,这反映了一个事实——人们可能会对自己的准备过程过度拟合。在一个特别戏剧性的案件中,一名军官本能地将枪从攻击者手中抢走,然后又本能地将枪交还给他——就像他在训练中一次又一次地与他的训练者所做的那样。
简单地说,交叉验证意味着不仅要评估模型是否适合给出的数据,还要看它是如何概括没有见过的数据。矛盾的是,这可能要使用更少的数据。
正如写文章和口语考试可以交叉验证标准化测试,偶尔不熟悉的“交叉培训”评估,便可以用来测试反应时间和射击精度是否能适应不熟悉的任务。如果不能,那么这便是一个强烈的信号,表示应该改变原有的训练方案。虽然没有什么能够确保实战万无一失,但这样的演习至少应事先警告“训练疤痕”很可能已经形成。
如果你不能简单地解释一个问题,那你就没有完全理解它。
如果我们引入复杂性惩罚,那么更复杂的模型需要做的不仅是做得更好,更重要的是解释数据以证明其更大复杂性的合理性。计算机科学家将这个原则——使用约束来惩罚模型的复杂性,称为正 则化 。
由于受到时间、记忆、精力和注意力的限制,活的生物体几乎可以自动地朝着简单化方向发展。例如,新陈代谢的负担对生物体的复杂性起到了刹车作用,对过度精细的机体运行引入了热量惩罚机制。一个人的大脑每日消耗的总热量是摄入量的1/5,这证明了进化的优势,我们的智力为我们提供了大脑贡献的、肯定不止消耗量那么多的燃料。另一方面,我们也可以推断,从进化论的角度来说,一个更复杂的大脑可能无法提供足够的报酬。我们的聪明程度符合我们的需要,而不是任意的更高程度。
然而语言又是另一种自然的套索:复杂性受到更长时间的说话和对听众注意力时限的惩罚。商业计划被压缩到电梯营销,生活忠告只有在足够简洁易懂的情况下才能成为谚语般的智慧之语。需要记住的东西都必须经过固有的记忆套索。
但至少我们应该认识到,我们并不一定要让进化去完全优化生物,以适应生态环境的每一点改变,这样做会使其对环境的变化极其敏感。
一种相似的洞察力可能帮助我们抵制人类社会快速转变的潮流。说到文化,传统对进化起着制约作用。一点点的保守主义,一种偏向历史的偏见,可以使我们对抗起起落落的时尚循环,进行缓冲。
这种设置(更多的时间就意味着更复杂)成为很多人类行为的特征。给自己更多时间去决定某件事并不一定意味着你就会做出更好的决定。但它的确会保证你最终会考虑更多的因素、更多的假设、更多的利弊,从而对风险过度拟合。(读者注: “优柔寡断”是进化而来的一种对风险的保护机制。这就是过拟合的好处,对风险过拟合就不容易忽视风险。)
在各种机器学习任务中,正则化的有效性表明,我们可以通过有意识地思考和少做一些事情来做出更好的决定。
如果你不清楚你的工作将如何被评估,以及由谁来评估,那么你就不值得花额外的时间来对你自己(或者其他人)的特质做出所谓完美的判断。不确定性越大,你所能衡量的东西和真正重要的东西之间的差距就越大,你就越应该注意过度拟合的风险,也就是说,你越喜欢简单,就应该越早停下来。
08 松弛 顺其自然
在计算机科学中最简单的放松形式之一就是约束松弛 。在这项技术中,研究人员消除了一些问题的约束,并着手解决他们希望得到解决的问题。然后,在他们取得一定的进展之后,他们试图再将约束添加进去。也就是说,在把问题带回现实之前,他们会让问题暂时更容易处理。
例如,你可以让销售人员多次访问同一个城市,让他自由地来回,从而松弛旅行推销员问题。在这些宽松的规则下找到最短路径会产生所谓的“最小生成树”。
持续松弛并不是一颗神奇的子弹:它仍然没有给我们提供有效的方法以得到真正的最佳答案,只能得出它们的近似值。
拉格朗日松弛算法背后的理念很简单。优化问题有两个部分:规则和计分。在拉格朗日松弛法中,我们采用一些问题的约束并将它们放入计分系统中。
有时,需要一些外交手腕,但拉格朗日松弛算法通过让一些不可能的事情被降级为惩罚,将匪夷所思的变成不可取的,使我们取得进步。
有很多方法可以对一个问题进行松弛,我们已经看到了三个最重要的问题。首先,约束松弛,简单地消除一些约束,在回到现实之前,先在更宽松的问题上取得进展。第二,持续松弛,将离散的或二进制的选择变成连续体:当决定是选冰红茶还是柠檬水时,先想象一个50:50的“阿诺德·帕尔默”混合,然后再向上或向下延展。第三,拉格朗日松弛,把不可能的变成仅仅是惩罚,要学会扭曲规则的艺术(或打破规则,并接受后果)。例如,摇滚乐队在决定将哪些歌曲放入一个有限的专辑中时,就要面对计算机科学家称之为的“背包问题”——将一组不同大小和重要性的项目装进一个有限的集合中的难题。
有时候稍微超过城市的宵禁,并付出相应的惩罚,好过把节目限制在适当的时间内。
每当我们遇到一个故障时(除非我们愿意花无数时间去追求完美),难题就会要求我们不许躲避,想象更简单的版本,并首先解决这些问题。
09 随机性 何时应用随机?
斯科特·菲茨杰拉德曾写道:“一流的智力,就是大脑中能够同时存在两种对立的想法,它们还能同时正常运转。”
在一个非常复杂的问题中,实际的抽样要好于对所有的可能链都进行检验。
他说“抽样会更好”的意思是,因为它最终会给你一个答案,而其他方法都无法做到。
几千年来,对质数的研究,如G.H.哈代所说,一直被认为是数学中“最明显无用的分支之一”。但在20世纪,它开始变得有用,它成为密码学和网络安全的关键。事实上,把质数相乘比把它们因数析出要容易得多。足够大的质数(例如一个千位数)的乘法可以在几分之一秒内完成,但析出因数就可能需要几百万年,这就产生了所谓的“单向函数”。在现代加密术中,例如,当只有发送方和接收方知道秘密质数相乘能得到巨大的合数时,便可以将这个数公开传播而不用担心了,因为对该产品的密码析出因数将耗费任何企图窃取者太长时间而不值得尝试。因此,几乎所有的安全通信网络,无论是商业、银行还是电子邮件,都是从寻找质数开始的。
米勒-拉宾素数测试,就现在所知的,给我们提供了一种用任意程度的确定性快速识别即使特别大的质数的方法。
几乎任何一项法律,无论多么开明或具有误导性,都会让一个人过得更好,而另一个人过得更糟,因此精心挑选的故事不会提供更广泛模式的任何观点。另一方面,总的统计数据则恰恰相反:它全面却薄弱。
时间和空间是计算机科学中最常见的权衡的根源,但是最近,关于随机算法的研究表明,还有另一种需要考虑的变量:确定性。
这种过滤器的用处并不仅限于搜索引擎:布隆过滤器已经附带了许多最近的网络浏览器,用来检查一些已知的恶意网站的网址,而且它们也是比特币等加密货币的重要组成部分。
物理系统研究的方法是把它们加热,然后再冷却,让系统自行编组。”这样一来,似乎就把所有最优化问题都当成是一件很自然的事情,就像是你想要组织的自由度是小的原子,或者是自旋,或者是你有的任何东西。
在IBM公司,柯克帕特里克和盖拉特使用模拟退火算法设计出比那些专家设计的更好的芯片布局。
随机地抖动,从框架中跳出来,专注于一个更大的范围,这提供了一种可以离开可能的局部较好的方法,然后回到追求可能的全球最优的方法。
从模拟退火算法可知:你应该提前实现随机性,在完全随机的状态下迅速冷却,随着时间的推移,使用越来越少的随机性,当接近冰点时,持续的时间最长。再让自己回火(照字面意思理解)。
10 网络 我们如何联系?
计算机科学家们知道这个概念是“拜占庭将军的问题”。想象一下有两个将军,站在一个山谷的两边,他们有共同的敌人,试图共同协调进攻。只有通过完美的同步,他们才能成功,因为单独攻击就意味着自取灭亡。更糟糕的是,两名将军之间如果要传送任何消息都必须通过敌人所在的阵地,这意味着任何信息都传送不出去。
在大多数情况下,沟通失误的后果很少会如此可怕,对确定性的需求也很少会如此绝对。在传输控制协议中,失败通常只会导致重新传送,而不是死亡,因此对一个会话来说,这已经足够了,可以从所谓的“三重握手”开始。
他提醒我们,拜占庭将军所面临的问题“不是设计的复杂性,而是不可能的结果”。温顿·瑟夫注意到,早期网络研究的发现都是基于你可以建立一个可靠的网络的假设。另一方面,“互联网基于这样一个假设,即没有任何网络是绝对可靠的,你必须进行端到端的重新传输来恢复错误”。
正如研究人员在早期网络中发现的那样,使用可靠的、鲁棒性强的协议(带着所有的确认字符,以及对丢失的数据包进行重新传输)来传输人类的声音是有些多余的。人类自己可以提供鲁棒性。正如瑟夫解释的那样,“在传输声音的情况下,如果你丢失了一个数据包,你只会说‘再说一次,我刚刚有些没听到’。”
注: 哈哈哈哈
从1971年开始,指数退避算法就成为阿罗哈网络成功运作的一个重要组成部分,20世纪80年代,它被应用于传输控制协议,并成为互联网的一个重要组成部分。几十年后的现在,它仍然是如此重要。
解决方案是:在邀请率上的指数退避。试着在一周内重新安排时间,然后是两周,然后是四周,然后是八周。“重发”率趋向于零,但你永远不需要完全放弃。
传输控制协议拥塞控制的核心是一个被称为“和式增加积式减少”的算法,简称AIMD。在AIMD启动之前,一个新的连接将会积极地提高传输速率:如果第一个包被成功地接收,它会再发送两个包,如果这两个包都通过了,那它就发送4个包,以此类推。但是一旦数据包的确认字符没有发回到发送方处,AIMD算法就开始接管这个问题了。在AIMD算法下,任何完全接收到的数据包会让飞行中的包数不是增加一倍,而是仅仅增加一个,而丢失的数据包会导致传输速率减少一半(由此得名和式增加积式减少算法)。
蚂蚁的解决方案也很相似:这是一个反馈周期,成功的觅食者会促使更多觅食者离开巢穴,而没觅食成功的返回者则会导致觅食行为的减少。
其他动物也会引起传输控制协议的流控制,凭借其特有的锯齿。松鼠和鸽子在追逐人类的食物残渣时,每次都会向前一步,偶尔也会跳回来,然后又稳步向前。可能是人类通信本身反映了传输的协议:每一条短信或电子邮件的回复都鼓励再发一条,而每一条未返回的消息都能阻止这种过程。
更广泛地说,和式增加积式减少算法为生活中的许多方面提出了一种想法,在生活中的这些方面,我们努力在不确定和波动的条件下分配有限的资源。
按照彼得原理的预测性推理,最终一个组织中的每一个职位都会被一个做得不好的人填补。在彼得原理被提出的50年之前,西班牙哲学家何塞·奥尔特加·伊·加塞特于1910年也发表了同样的观点。他写道:“每一个公务员都应该被降职到更低的级别,因为他们会一直被提升,直到他们能力不足时。”
一些组织试图通过解雇停滞不前的员工来弥补彼得原理。所谓的凯威制是由著名的凯威斯恩和摩尔法律事务所设计的,该制度几乎只聘用应届毕业生,把他们安排在最底层,然后在接下来的几年里要么提拔他们,要么解雇他们。
传输控制协议的锯齿形的教训是,在一个不可预测和不断变化的环境中,把事情放到失败的角度去考虑有时确实是最好的(或者唯一的)充分利用所有资源的方法。重要的是要确保对失败的反应是尖锐和有弹性的。在和式增加积式减少算法下,每个没有崩溃的连接都应该是不断加速的,然后降速一半,之后又立即开始加速。
通过研究网络的流量控制,我们可以清楚地发现,上游的确认字符数据包不仅能够认定和确认传输,还能影响整个相互作用的轮廓、速率和节奏。这为我们发出了一个提醒,也让我们了解到反馈对沟通的重要性。在传输控制协议中,正如我们所看到的,没有单向传输:缺少一致的反馈,发送方几乎会立即减速。
2014年,加州大学圣克鲁兹分校的杰克逊·托林斯和让·福克斯·乔斯向我们展示了那些不起眼的语气词,如“嗯”“是的”“呃”和“噢”,这些语气词促使我们说的话表现出独特、精确的角色,来规范信息从说话者到听者间的流动,包括详细的速度和水平。实际上,它们都与传输控制协议中的确认字符一样重要。
这正是吉姆·格蒂斯在他的家庭电缆调制解调器中观察到的现象。因为他上传了一个文件,电脑就向调制解调器发送可以处理的尽可能多的上游数据包。而调制解调器假装可以处理的量比实际能处理的量要多得多,在建立一个庞大的等待队列时,它没有拒绝任何一个数据包。因此,当格蒂斯试图在访问网页或查看电子邮件的同时下载某样东西时,他的确认字符数据包就会被卡在上传后,不得不在调制解调器上排队等待离开。因为他的确认字符会永远返回到网络和电子邮件服务器上,服务器会将它们自己的下游连接速度限制为类似爬行的速度。
对现代通信最普遍的批评是,我们“总是处于连接状态”。但问题并不是我们总是连接着的:我们并没有。问题是我们总是在缓冲中。这两者的区别是巨大的。
缓冲膨胀的感觉就像是需要在互联网上查看每一件东西,要阅读所有可能的书籍,或要看所有可能的节目。
让他感到震惊的是,那些宣称拥有“快速”互联网连接的公司只涉及高带宽,而不是低延时。
11 博弈论 别人的想法
学生们被教导要把文学情节设想为属于以下几个类别中的一个:人与自然、人与自己、人与人、人与社会。
世界排名第一的扑克玩家丹·史密斯说道,“但是扑克玩家称它为‘水平’。第一级水平是‘我知道’。第二级是‘你知道我知道’。第三级是,‘我知道你知道我知道’。
在扑克游戏中,递归是一种危险的游戏。当然,你不希望在你的对手后一步被抓住,但也有必要不要在他们前面走得太远。“有一条规则是,你真的只希望比对手高一个水平,”扑克职业选手凡妮莎·鲁索解释说:“如果你水平比对手高太多,你就会认为他们掌握了实际上没有掌握的信息,(而且)他们无法从你的行动中收集到你想要的信息。”有时,扑克专业人士会故意引诱对手进入一个错综复杂的递归,同时玩得过于教条。这被称为引诱他们进入“一场对抗自己的水平之战”。
这是一种双人比赛,一个玩家的收益就是另一个玩家的损失。数学家分析这些游戏的目的是寻找所谓的均衡:即,这是一套双方都能遵循的策略,因为他们的对手都不愿意改变自己的游戏。它被称为均衡,因为它是稳定的,没有任何一个玩家的进一步的想法可以让他们做出不同的选择。考虑到你的策略,我对我的策略很满意,考虑到我的策略,你对我的策略也很满意。
博弈论有一个开创性的结果,数学家约翰·纳什在1951年证明了每一个双人游戏至少有一种均衡。
当我们感觉自己掉进了递归的兔子洞时,我们总是有办法跳出对手的脑袋,寻找均衡,直接进入最佳策略,设想这是一场理性的游戏。
更通俗地说,纳什均衡可以帮助人们预测任何一套规则或激励制度的长期稳定结果。因此,它是预测和制定经济政策以及总体社会政策的宝贵工具。
作为一种模拟和预测市场行为的方式,纳什均衡在经济理论中保有一个神圣的地位,但这一地位可能不是应得的。正如帕帕迪米特里欧解释的那样,“如果一个均衡的概念不能被有效地计算,那它作为对理性主体行为的预测的可信度就会失去大半”。
纳什均衡的预测能力只有当参与者真正找到均衡时才体现其重要性。
调和率衡量合作(集中设计或协调的解决方案)和竞争(每个参与者都各自试图最大化利于自己的结果)之间的差距。
司机只是想走最快的路线,不管路线是什么,而路由器只是想在它们的包里随意地移动,但是在这两种情况下,这可能导致在关键路径上过度拥挤,使大家都堵塞。但这有多大的伤害啊?令人惊讶的是,蒂姆·拉夫加登和康奈尔大学的伊娃·塔多斯在2002年证明了“自私路由”方法的调和率仅仅是4/3。也就是说,完全公开只比组织严密的完美的协调差33%。
当涉及人类的交通时,低调和率会在两方面各有利弊。好的方面是,缺乏集中的协调只会使得你的通勤状况变糟33%。另一方面,如果你希望自动驾驶的汽车能为我们带来未来交通的理想状况,那么如果你了解到,现今的自私、不愿协调的司机其实已经相当接近最佳状态时,可能会令你十分沮丧。的确,自动驾驶汽车应该减少交通事故的数量,并且能够使汽车更紧密地往前行驶,实现这两方面都能加快交通速度。但从拥塞的角度来看,调和率只有4/3,而完美的协调意味着完全协调的通勤只能是现在的3/4。这有点儿像詹姆斯·卡贝尔的名言:“乐观主义者宣称,我们生活在有可能是最好的世界里,而悲观主义者则担心这是真的。”交通拥堵永远是一个问题,要由规划者和总需求来解决,而不是由个别司机、人类或计算机、自私或合作的决定来解决。(读者注: 惊人的观点。然而现实中不只有“自私的司机”,更多的是愚蠢的司机,因此自动驾驶带来的收益肯定远大于三成。)
低调和率意味着,无论好坏,系统本身就会像它被精心管理的那样良好。另一方面,高调和率意味着在谨慎地协调的情况下,事情有可能会最终变好,但如果没有某种形式的干预,我们就会陷入灾难。囚犯困境的游戏显然是属于后者。不幸的是,许多这个世界必须玩的最关键的游戏也都是这样的。
哈丁称之为“公地悲剧”,这已经成为经济学家、政治学家及环境运动对诸如污染和气候变化等大规模生态危机的主要视角之一。
不要憎恨玩家,应憎恨游戏。
心有它的理由,这是理性所不懂的。
自然界中充满了被劫持来为另一个物种的目标服务的个体的例子。例如,柳叶刀肝吸虫(学名:矛形双腔吸虫)是一种寄生虫,它能让蚂蚁爬到草叶的顶端,这样它们就会被羊吃掉,而羊是柳叶吸虫的首选宿主。同样,寄生的刚地弓形虫可以使老鼠永久地失去对猫的恐惧,结果也类似。
是的,人们寻找他们关心的客观特征。每个人都想要一个善良、聪明、有趣和健康的另一半,也许还要外表上有吸引力,有很好的赚钱能力,很多很多的特点,但那是第一关……在你花了足够的时间和他在一起之后,并不是那些标准才让你们想在一起的。事实是,就是那个人,这对你来说是有价值的,所以你并不需要这份合同,因为你需要的是一种让你不想分开的感觉,即使在客观的情况下,可能还会有一个更好的选项供你选择。
换句话说:爱情就像有组织的犯罪。它改变了婚姻游戏的结构,使均衡成为最适合每个人的结果。
因此,对爱情的理性论证是双重的:依恋的情感不仅可以让你不会在递归的思维中不停考虑你另一半的意图,而且通过改变回报,实际上能使你的伴侣得到更好的结果。更重要的是,在爱情中不自觉的跌倒会让你成为一个更有魅力的伴侣。你心碎的能力,在情绪里沉溺,都是让你成为一个可靠共犯的品质。
无论何时,你发现自己站在大多数人的一边,那就是时候停下来反思一下了。
在突然的市场崩盘之后,人们总是会把责任归咎于他人。这里,博弈论提供了一个发人深省的视角:即使没有人犯错,这样的灾难也会发生。
荷兰式或减价拍卖的相反就是所谓的“英式拍卖”或“升价拍卖”,这是最常见的拍卖。
但这一公共信息可能并没有看上去那么有意义。你实际上不了解其他投标者的信念,而只知道他们的行为。他们的行为完全有可能是基于你自己的行为,就像你的行为也受其他人的影响一样。很容易想象一群人一起走在悬崖上,因为“其他人”好像都表现得很正常,但实际上每个人都有疑虑,只是因为他们对团队中其他人的明显的信任而压制了这种疑虑。
经济学家苏希尔·比赫昌达尼、戴维·赫舒拉发和伊沃·韦尔奇的一篇极具影响力的论文证明,在正确的环境下,一群行为完全理性、完全正确的行为者,仍然可以成为有效的无限错误信息的牺牲品。这被称为“信息瀑布”。
以诺贝尔经济学奖得主威廉·维克瑞命名的维克瑞拍卖,就像最高价拍卖一样,是一种“密封投标”拍卖过程。也就是说,每个竞拍者都秘密地写下一个数字,出价最高的人会赢。然而,在维克瑞拍卖中,最终获胜者支付的并不是他们自己的出价,而是第二高的出价人的出价。也就是说,如果你出价25美元,我出价10美元,你以我的价格赢了这个项目:你只需要支付10美元。
对于博弈理论家来说,维克瑞拍卖有很多吸引人的地方。特别是对于一个算法博弈理论家来说,这其中有一种特性尤其突出:鼓励参与者诚实。
事实上,一种叫作“收入等价”的博弈论原理是这样的:随着时间的推移,最高价拍卖中的平均预期售价将会与维克瑞拍卖中的价格完全一致。因此,维克瑞均衡表示相同的竞拍者以同样的价格赢得一个拍品,而没有任何竞拍者的任何策略。
在一项名为“显示原则”的里程碑式的发现中,诺贝尔奖得主罗杰·迈尔森证明,任何需要有策略地掩盖真相的游戏,都可以转化为一种只需要简单诚实的游戏。
如果改变策略没有帮助,你可以尝试改变游戏。如果无法改变,你至少可以控制你选择玩的游戏。通往地狱的道路是由棘手的递归、糟糕的平衡和信息瀑布铺成的。寻找那些诚实充当占优策略的游戏。然后,就是做你自己。
结语 计算善意
同样,看似无害的语言比如“哦,我无所谓”或者“你今晚想做什么”实则含有黑暗的计算弱点,你应该三思。它表面上是善意的,却有两件令人震惊的事情。首先,它传递了认知责任:“这里有个问题,你要处理它。”其次,不要说出你的喜好,它会邀请其他人来模拟或想象它们。正如我们所看到的,对他人头脑的模拟是思维(或机器)所能面对的最大的计算挑战之一。
设计的主要目标之一应该是保护人们避免不必要的紧张、摩擦和精神劳动。(这不仅是一个抽象的问题,当商场的停车成为压力的来源时,购物者可能会花更少的钱,这样商场的回报就更少。)城市规划者和建筑师经常权衡不同的设计,考虑如何利用有限的空间、材料和金钱等资源。但是他们很少考虑他们的设计对使用者的计算资源增加负担的方式。认识到我们日常生活的算法基础(在这种情况下,是最优停止算法)不仅能让司机在特定的情况下做出最好的决定,而且还能鼓励规划者更仔细地考虑他们最开始迫使司机进入的问题。
在困难的情况下,最好的算法都是关于在最少的时间内做最合理的事情,这绝不是要仔细考虑每一个因素,并把每一次计算都算到最后。生活实在是太复杂了。
这些不是我们在不理性时做出的让步,它们是保持理性的手段。
书评:《算法之美:指导工作与生活的算法》