算法之美pdf下载

算法之美百度网盘pdf下载

作者:
简介:算法之美
出版社:中信出版社
出版时间:2018-05-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  将计算机科学的智慧转化为明智的生活决策。 当高冷的算法实用起来,连租房、停车、选择餐厅、时间管理等都用得上。 万维钢解读,《习惯的力量》作者查尔斯·都希格等鼎力推荐。
内容简介
我们所有人的生活都受到有限空间和有限时间的限制,因此常常面临一系列难以抉择的问题。在一天或者一生的时光里,哪些事是我们应该做的,哪些是应该放弃的?我们对杂乱无序的容忍底线是什么?新的活动与熟悉并喜爱的活动之间如何平衡,才能取得令人愉快的结果?这些看似是人类特有的难题,其实不然,因为计算机也面临同样的问题,计算机科学家几十年来也一直在努力解决这些问题,而他们找到的解决方案可以给我们很多启发。
通过丰富的跨学科研究,作者指出,计算机算法也可以用来解答人类面临的这些问题。这本书告诉我们如何更有效地利用直觉、什么时候应该把选择权交给命运、无所适从的时候应该如何做出选择,以及如何有效地与他人保持联系。从找配偶到找停车位,从组织管理个人邮箱的收件箱到理解人类记忆的作用原理,这本书把计算机科学的智慧转化为人类生活的策略,引导我们做出明智的选择。
作者简介
布莱恩·克里斯汀
《华尔街日报》畅销书《最有人性的人》作者,该书入选《纽约时报》编辑推荐书目,被《纽约客》杂志评为年度好书。他的多篇作品先后刊登在《纽约客》《大西洋》《连线》《华尔街日报》《卫报》《巴黎评论》及《认知科学》等杂志上,被翻译成11种语言。
汤姆·格里菲思
加州大学伯克利分校心理学和认知科学教授,计算认知科学实验室主任。格里菲思发表过150多篇科学论文,内容涉及认知心理学、文化演进等,受到美国国家科学基金会、斯隆基金会、美国心理学会和心理环境学会等颁发的各类奖项。
目录
版权信息
序言
01 最优停止理论 如何选择停止观望的时机?
秘书问题
37%从何而来?
情场上的出手时机
掌握候选对象的完整信息
卖房子的时机
最优停车位置
见好就收的时机
随时准备停止
02 探索与利用 要最新的还是要最好的?
什么是探索与利用
如何利用剩余时间?
赢留输变
基廷斯指数
遗憾与乐观
网上“土匪”
试验中的临床试验
不安分的世界
探索——孜孜不倦
走出探索和利用的两难困境
03 排序 建立秩序
排序狂潮
排序带来的苦恼
大O符号:衡量最坏情况的标准
平方时间:冒泡排序与插入排序
打破平方时间的魔咒:分治算法
超越比较法:比对数更好的算法
排序是搜索的准备工作
排序与体育
发牢骚的权利:噪声与健壮性
杀戮排序:啄食顺序与优势等级
以竞争取代争斗
04 缓存 忘了它吧
分级存储器体系
缓存清理与未卜先知
重整图书馆藏书
本地需求
家庭生活中的“高速缓存”
归档与堆存
遗忘曲线
经验暴政
05 时间调度理论 要事先行
安排时间是一门科学
处理时限
把事情做好
找出问题所在
优先级反转和优先约束
减速带
放弃所有:抢占和不确定性
抢占并不是随意的:关联转换
颠簸状态
中断合并
06 贝叶斯法则 预测未来
贝叶斯牧师的倒推理
拉普拉斯定理
贝叶斯法则与先验信念
哥白尼原则
贝叶斯与哥白尼
真实世界的先验……
他们的预测规则
小数据与思维
我们的预测体现出我们自己
机械复制时代的先验
07 过度拟合 不要想太多
反对复杂性案例
数据崇拜
过度拟合无处不在
检测过度拟合:交叉验证
如何应对过度拟合:惩罚复杂性
启发法
人类进化中的过度拟合
何时应该想得更少?
08 松弛 顺其自然
最优化的难度
定义的难度
放松吧
无数灰色地带:持续的松弛
只是一张超速罚单:拉格朗日松弛算法
学会松弛
09 随机性 何时应用随机?
抽样
随机算法
抽样的优势
三部分的权衡
山、谷和陷阱
局部最大值之外
模拟退火算法
随机性,进化和创造力
10 网络 我们如何联系?
分组交换
信息确认
指数退避算法:宽恕的算法
流量控制和拥塞避免
反馈语:语言学的流量控制
缓存膨胀:这就是延时,傻瓜
迟到不如永远不到
11 博弈论 别人的想法
递归
达到均衡
占优策略,无论好坏
公地悲剧
机制设计:改变游戏
机制设计的演变
信息瀑布:泡沫的悲剧理性
你自己的计算
结语 计算善意
媒体评论
  生活中很多看似复杂的问题都可以用算法解决,这本书给我们的启发是,与其浑浑噩噩地接受命运的安排,不如有点儿理性决策的精神,把决策变成一个数学问题,在这个充满不确定的时代,给咱们自己增加一点儿底气。
  ——万维钢 《精英日课》主讲人,《万万没想到》《智识分子》作者
  

  《算法之美》这本书生动有趣,读起来引人入胜。书中给出了大量实用的建议,告诉我们如何更有效地利用时间、空间和精力。这是对算法和人类大脑工作原理的一个有趣的探索。无论你是想优化待办事项清单,还是想收拾好你的衣柜,或者是理解人类的记忆,阅读这本书都会获益匪浅。
  ——查尔斯·杜希格 《习惯的力量》《高效的秘密》作者
  

  在这本生动有趣、让人难以释卷的作品中,克里斯汀和格里菲思告诉我们算法可以给我们很多启发。我们都知道算法的作用非常强大,但是《算法之美》巧妙地解释了算法的原理,以及如何利用计算机算法帮助我们在自己的生活中做出更明智的决策。
  ——艾莉森·高普妮克 《摇篮里的科学家》联合作者
  

  我一直在期待有一本书可以将人类心理学与计算模型融合到一起,而克里斯汀和格里菲思的成功远远超出了我的预期。这是一本很棒的书。看完这本书,任何人都能理解掌控世界的算法——更重要的是,它对我们的生活同样具有不同寻常的意义。
  ——戴维·伊格曼 《隐藏的自我:大脑的秘密生活》作者
  
前言
  假设你想租房子,正在旧金山四处寻找房源。旧金山可能是整个美国最难找房子的城市了。由于技术产业的蓬勃发展,再加上城市区划法律严格限制建造新住房,旧金山的房租已经与纽约不相上下,甚至比纽约还高。房源清单列出来几分钟,房子就会被人们一抢而空。通常情况下,只有第一个把定金支票塞到房东手里的人,才能拿到房子的钥匙。
  理论上讲,认真调查、仔细斟酌是理性消费者的一大特征,但是旧金山的残酷市场并没有为他们留有权衡考虑的机会。在购物中心或者网上购物时,人们可以反复权衡再做出决定,但是将要入住旧金山的租客没有这个特权,他们必须迅速做出决定:要么舍弃其他所有可能的选择,就选定当前正在看的这套房子,要么掉头就走,再也不要回头。
  简单起见,我们姑且假设,你唯一关心的就是尽最大可能增加挑中最理想公寓的机会。你的目标是把“看过的好房子被人挑走”与“还有好房子没来得及看”这两种遗憾的发生概率降至最低。于是,你立刻发现自己陷入了两难境地:如果没有衡量的标准,如何判断一套公寓是否是最合适的呢?如果你不先看一些公寓(这些公寓将被你放弃),又如何确定衡量标准?你收集的信息越多,越能在最合适的机会出现时准确地认出它,但是你已经与最合适的机会失之交臂的可能性也越高。
  那么,到底该怎么办?如果收集信息的行为会危及结果,那么怎样才能在掌握足够多信息的基础上做出明智决定呢?这个令人极其为难的情境近乎于一个悖论。在被问及此类问题时,大多数人凭直觉给出的回答可能大致如此:这需要在继续挑选与立刻下手之间达成某种平衡。也就是说,你必须先看足够多的房子,确定一个标准,然后接受符合这个标准的房子。事实上,平衡概念正是解决这类问题的关键。但是,大多数人根本无法确定这个平衡点在哪里。好消息是,这个平衡点已经被找出来了。
  答案就是37%。
  如果你希望选中最合适公寓的可能性达到最大,那么在看前37%的房子时不要做出任何决定(如果你准备花一个月的时间挑选房子,那么在前11 天不要做出决定)。这段时间你是在为制定标准做准备,因此看房子时把银行卡放在家里吧。但是,过了这个时间点之后,你就要做好随时签约的准备(包括准备好定金等),一旦你对某套房子的满意程度超过之前看过的所有房子,就立刻下手。在继续挑选与立刻下手之间做出的这种妥协,并不仅仅是一种直觉,而是已经得到证明的最优解。
  我们知道这个答案,是因为找房子问题属于数学上被称作“最优停止”(optimal stopping)的一类问题。37% 法则明确了解决这些问题的一系列简单步骤(计算机科学称之为“算法”)。事实证明,找房子仅仅是最优停止问题在日常生活中的表现形式之一。在面临一连串选择时如何做出决定的难题,经常会改头换面,以不同的形式出现在我们的生活当中。在驶入停车位之前,需要绕整个停车场多少圈?在商业风险中何时套现脱身?在买房子或者停车时,何时是结束观望、做出决定的最佳时机?
  在约会这个更加令人头疼的问题上,人们也经常要面对这样的难题。最优停止理论是一夫一妻婚姻制度催生的科学。每天,人们都要面临最优停止问题的困扰(当然,诗人更愿意追逐的话题肯定是求婚带来的烦恼,而不是停车时的两难境地),有时至会因此而痛苦不堪。不过,我们大可不必如此,因为这类问题至少可以通过数学方法来解决。借助并不繁复的算法,我们不仅可以解决找房子的问题,生活中遭遇的所有最优停止问题都可以被妥善处理。
  从本质上讲,我们身边经常出现因为租房子、停车、求婚而感到苦恼的人,这些人其实就是在自寻烦恼。他们需要的不是治疗师,而是一种算法。治疗师告诉他们要在冲动与多虑之间找到一个正确的、舒服的平衡点。
  算法告诉他们这个平衡点就是37%。
  


  本书将探讨人类事务算法设计这个概念,以帮助人们更好地处理日常生活中遇到的难题。将计算机科学的研究方法应用于日常生活,可以在多个层面上产生深远的影响。首先,它可以提供切实有效的建议,帮助我们解决具体问题。例如,最优停止理论可以告诉我们何时应该小心观察,何时应该果断行动;探索– 利用平衡理论教会我们如何在尝试新事物与因循守旧之间找到平衡点;排序理论可以帮我们判断出是否需要以及如何整理办公室;缓存理论可以帮助我们合理地填充橱柜;日程安排理论则可以提供合理安排时间的高招。
  其次,计算机科学还为我们理解这些领域的深层次运行规则提供了一套语汇。卡尔·萨根指出:“与其说科学是大量知识的汇总, 不如说它是一种思考方式。”即使生活中的某些情况非常复杂,我们无法进行严格的数值分析,找不到任何现成的答案,我们也可以考虑这些问题的简单化表现形式,从而得出某些直觉和概念,帮助我们理解其中的关键环节并取得进展。
  从更广泛的意义上看,借助计算机科学,我们可以了解人类思想的本质和理性的意义,学会回答如何度过一生这个最古老的问题。把认知视为一种解决周围环境所造成的问题(从本质上看,都是一些计算问题)的手段,并认真地加以研究,就有可能彻底改变我们对人类理性的理解。认为研究计算机内部运行机制能够帮助我们学会思考与决策、判断某个事物是否可信、选择行为方式的观点,在很多人看来,不仅把问题过于简单化了,而且具有误导性。即使计算机科学告诉我们应该如何思考、应该采取哪些行动,我们愿意接受吗?读一读讲人工智能和机器人的科幻小说就会发现,那样的生活似乎都不是我们所向往的。
  之所以如此,部分原因是我们把计算机看成了机械呆板的确定性系统——这些机器借助严谨的演绎逻辑,通过穷举所有可选方案,无论花费多少时间、问题难度如何,它都可以给出完全正确的答案。事实上,在阿兰·图灵当时的想象中,计算机就应该是这样。这位第一个设想出计算机的人通过类比的方式给出了计算的定义,而类比的原型就是认真钻研的人类数学家——他们通过长长的计算步骤,最终得出绝对正确的答案。
  因此,当人们发现现代计算机处理难题的方式与他们对计算机的认识并不一致的时候,他们也许会大吃一惊。当然,简单的算术对现代计算机而言没有任何难度。目前,计算机科学面临的最难解决的问题其实是人机对话、修复破损文件、下围棋取胜,这些问题都具有规则不明确、所需信息不全,或者需要考虑无数种可能性才可以找出正确答案的特点。研究人员已经开发出各种算法,使计算机在解决难度极大的问题时不需要完全依赖穷举计算。要解决这些来自现实世界的任务,就必须正确处理好可能性问题,利用粗略估算,在时间与精确度之间做出某种妥协。
  随着计算机处理现实任务的能力不断增强,计算机算法不仅对于人类自己的生活具有借鉴意义,同时还为人们理解人类认知提供了一个更好的比较标准。在过去的一二十年里,行为经济学对人类进行了非常具体的研究,结果发现,人类是不理性的,很容易犯错误,而问题的源头在很大程度上就是大脑这个古怪而独特的硬件。这种自我贬低的认识越来越普遍,却无法解释某些令人困惑的问题。例如,在完成包括想象、语言、因果推理在内的大量认知任务时,4 岁儿童的能力仍然超过成本高昂的超级计算机,这到底是什么原因?
  从计算机科学为日常问题提供的解决方案可以看出,人类思维具有另外一种特点——人生充满了难以解决的问题。人经常犯错误,虽然这可以说明人类大脑容易出错,但是也表明这些问题具有难以解决的本质特点。通过算法来思考我们周围的世界,了解我们所面临问题的基本结构以及计算机给出的解决方案的特性,可以帮助我们真实地了解我们自己,更好地理解我们所犯的那些错误。
  事实上,人类需要不断面对计算机科学所研究的一些高难度问题,在不确定性及时间有限、信息不全、情况瞬息万变等不利因素的干扰下做出决定。针对一些问题,即使最前沿的计算机科学也没能开发出永远不会犯错误的有效算法,有的情形似乎是任何算法都无法解决的。
  不过,尽管有的现实问题异常复杂,人们还没有开发出完善的算法,但是一代代计算机科学家一直在与这些难题斗争,并且在这个过程中得出了深刻而独到的见解。这些来之不易的真知灼见与我们对理性的直觉认识并不一致,与数学家对周围世界的精确描述也迥然不同——数学家一心想要把这个世界变成整齐划一的线条。计算机科学告诉我们:不要总是考虑所有的可选方案;不必每次都追求最佳结果;偶尔犯点儿错误;放下包袱,轻装前进;有的事情可以暂时放一放;相信自己的本能,不要过多思考;放松自己;采用抛硬币的方式;要体谅,但是不能忘记;忠于自我。
  用计算机科学的智慧指引自己的人生之路,这似乎是一条不错的建议。毕竟,与大多数建议不同的是,这条建议有据可依。
精彩书摘
  约翰尼斯·开普勒
  所有的基督徒都会在结婚请柬的最前面郑重宣布,他们走进婚姻的殿堂是遵从上帝的特别安排。但是,我要站在哲学的角度,详细地探讨这个问题……
  简·奥斯汀,《爱玛》
  如果你觉得马丁先生是最优秀的人选,如果你觉得与他相处最为融洽,那么你还犹豫什么呢?
  对于在中学时代就建立了恋爱关系的大一新生而言,感恩节就是一个严峻的考验:因为回家度过短短4天的假期之后,很多恋人就劳燕分飞了。大学辅导员把这个普遍现象称作“放弃火鸡”。
  大一新生布莱恩就面临着这个问题。他中学时的女友在另外一所大学,天各一方的两个人不仅需要解决空间距离造成的麻烦,还需要认真思考一个问题:他们两人之间的感情到底有多深?他们从来没有考虑过这个具有哲学深度的问题。由于没有类似的感情可以参考,他们无从回答这个问题。于是,焦虑不安的布莱恩找到辅导员,向她寻求帮助。辅导员知道这是新生经常遭遇的一个典型难题,所以她用一种极其冷淡的语气给出了自己的建议:“先收集一些数据吧。”
  显而易见,在连续性单配偶的生活方式中,人们不可避免地会遇到一个非常重要的问题:接触多少人之后,才可以确定自己的理想伴侣?如果在收集数据的过程中与自己的“真命天子”失之交臂,那该怎么办?这似乎成了感情问题上无解的“第22条军规”。
  我们知道,这个令大一新生忧心忡忡、牢骚满腹的“第22条军规”其实就是数学界的“最优停止问题”,它的答案其实很简单,就是37%。
  当然,前提条件是你愿意在爱情问题上做出各种假设。
  在所有最优停止问题中,最大的难点不在于选择哪一种可选方案,而是确定自己需要考虑多少种可选方案。这些问题往往会引发不同的后果,不仅陷入爱河的人和需要租房的人必须慎重考虑,司机、房主、入室行窃者等也常常面临同样的抉择。
  “37%法则” 源于所谓的“秘书问题”——最优停止问题中最著名的一类难题。秘书问题的情境与我们前面考虑过的租房难题十分相似。假设一堆人申请一个秘书岗位,而你是面试官,你的目标是从这堆申请人中遴选出最佳人选。你不知道如何给每一名申请人评分,但是可以轻松地判断哪一名申请人更加优秀。(用数学语言来表述,就是说你只能看到序数,即申请人相互比较的排名,但是无法看到基数,即在一般性评分标准下的得分。)你按照随机顺序,每次面试一名申请人。你随时可以决定将这份工作交给其中一人,而对方只能接受,于是面试工作就此结束。但是,一旦你否决其中一名申请人,就不能改变主意再回头选择他。
  普遍认为,秘书问题第一次出现在出版物中是在1960年2月,那一期的《科学美国人》杂志在马丁·伽德纳最喜欢的栏目——“趣味数学”专栏中刊登了几个难题,其中之一就是秘书问题,不过当时没有明确地提到“秘书”这个词。但是,这个问题到底从何而来,这是一个非常神秘的谜。除了一些推测以外,初期的调查没有任何确凿的结论。随后,我们风尘仆仆地赶到斯坦福大学,查阅伽德纳的文书档案。伽德纳在20世纪中期留下来的那一盒盒书信,出乎意料地把我们的调查变成了侦探工作。阅读书信有点儿像偷听别人打电话,你只能听到通话一方所说的话,因此需要推断另一方到底说了什么。从这些回信看,大约50年前,伽德纳本人似乎正在调查秘书问题的来源。但是,看完这些书信,我们更是一头雾水了。
精彩插图