读天才与算法:人脑与AI的数学思维笔记04_算法

1.算法 1.1.当下,我们的生活完全依赖于算法 1.1.1.上网搜索内容 1.1.2.使用GPS导航 1.1.3.观看由奈飞公司(Netflix)推荐的电影 1.1.4.在线预约 1.2.算法正在引导我们进入数字时代,但很少有人意识到在计算机诞生之前,算法作为数学的核心已存在了数千年 1.2.1.自古希腊以来,算法的身影一直伴随着数学的诞生与发展 1.2.2.欧几里得除了证明素数有无穷多个外,还发现了一个方法,按照这个方法就能解决最大公约数等问题 1.2.2.1.在欧几里得的算法中,任何阶段都不存在歧义 1.2.3.类似于“如果……那么……”的条件判断句式,这是算法的典型特征,也是计算机程序中算法的妙趣所在 1.3.任何算法都应该具备的四个关键特征的核心 1.3.1.它应该由一组精确的陈述和明确的指令组成 1.3.2.无论输入的参数如何,这个过程都应该完成(不应该进入无限循环) 1.3.3.它应该给输入算法的任何参数以答案 1.3.4.在理想情况下,它的运行速度应该很快 1.3.4.1.算法的执行时间与问题的规模成正比,数字越大,耗时越长 1.4.“算法”这一名词 1.4.1.穆罕默德·阿尔·花拉子密(Muhammad Al-Khwarizmi)是巴格达智慧馆(great House of Wisdom)的首批负责人之一,他负责将古希腊数学原著翻译成阿拉伯文 1.4.2.“算法”是拉丁文对他名字的翻译 1.4.3.图片并不是一种严谨的数学方法,你需要的是代数的语言,即一个字母可以作为变量代表任何数字,而这正是花拉子密的发明 1.5.算法已成为我们这个时代通行的“货币”,因为它们是计算机系统的完美素材 1.5.1.算法利用我们解决问题的模式,反过来引导我们去找到解决问题的方案 1.5.2.计算机不需要思考,它只要不停地遵循算法、执行指令即可,就像变魔术一样,答案自己就会蹦出来 1.6.一个优秀的算法存在的价值:从足球到《权力的游戏》,它在多种不同的应用场景中都能发挥作用 1.7.我们的生活对算法的依赖越多,对算法的工作原理及运行过程的深入理解就变得越重要 1.7.1.否则,你很可能会被算法“坑”了 1.8.算法的问题在于,有时会产生一些让人意想不到的结果 1.8.1.人类能察觉到怪异,而算法只知执行,它才不管结果是否谬以千里、荒诞不经 1.8.2.算法可能导致意想不到的后果,是人们对先进技术存在恐惧的主要原因之一 1.9.算法是基于数学的,在某种程度上,它们就是数学运算 1.9.1.它们并没有真正创造性地拓展应用它们的领域,所以在数学界,没有人会觉得自己受到了特别的威胁 1.9.2.后来出现了一种新算法,这个算法可以在与数据交互时做出动态调整,运行一段时间后,它的程序员就可能弄不太明白他的算法为什么会做出这样或那样的选择了 1.9.2.1.这就是DeepMind团队所使用的新算法,这个算法使机器在围棋领域中战胜了人类,开创了机器学习的新纪元 2.荒岛算法 2.1.当代最非凡的算法莫过于每天帮助数百万人浏览互联网的搜索算法 2.2.1996年拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)把新算法命名为“网络爬虫”(Backrub),但最终还是决定叫“谷歌”(Google),其灵感来自1后面的100个零 2.2.1.他们的目标是找到一种对互联网上所有的页面进行排序的方法,以帮助大家在这个不断增长的海量数据库中进行检索,所以起这个代表巨大数字的名字似乎特别贴切,而且也很酷炫 2.3.搜索词出现频率最高的网站会被放在最顶部 2.4.如果一个网站有很多链接指向它,就暗示着其他网站认为这个网站值得访问 2.4.1.其原理是通过其他网站的评估去衡量某个网站的重要性,或者说该网站的访问价值 2.4.2.这种方式也有可能被黑客攻击,比如只需伪造出有1000个网站的链接指向这个花店就行了,这样也会使其被纳入搜索名录 2.4.2.1.为了防止这种情况出现,他们决定给那些获得广泛好评,深受信赖的网站赋予更高的权重 2.5.需要找到一种方法,通过观察网络的连通性来分配球 2.5.1.异常情况:如果存在未链接其他网站的孤立网站,它的球会无法重新分配 2.5.2.矩阵的特征向量是在数学和其他科学领域中非常有效的一种工具 2.5.2.1.是量子物理中用来计算粒子能级的秘密武器 2.5.2.2.可以用于研究旋转流体的稳定性(比如旋转的恒星或者病毒的繁殖率) 2.5.2.3.可以用于研究素数在所有数字中是怎样分布的问题 2.6.基础引擎是公开的,但算法内部的一些重要参数还是保密的,并且随着时间的推移不断发展变化、更新换代,这些在一定程度上使得算法难以被破解 2.6.1.定期在互联网上搜罗网站信息并更新网站链接的统计点击量,这个工具叫作“谷歌蜘蛛侠”(Google spiders) 2.7.谷歌算法最吸引人的地方在于它本身的健壮性和防止欺骗的策略 2.7.1.一个网站很难在自己的网站上做手脚来提高排名,它必须依靠其他网站来提升自己的排名 2.7.2.如果你关注一下谷歌搜索,就会发现排名很靠前的网站主要都是新闻媒体网站和大学官方网站,比如牛津大学、哈佛大学的官网 2.7.3.当牛津大学网络中的任何一个网站链接到外部网站时,该链接将提升其所链接的外部网站的排名,这意味着牛津大学认可与该网站共享其巨大的声望 2.8.谷歌的算法再强大,也不可避免地被那些了解数学原理的人用更加聪明的办法攻击并加以利用 2.8.1.另类的搜索结果的峰值会通过算法本身而不是人工干预进行降级,并被算法慢慢剔除 2.8.2.谷歌不喜欢扮演“上帝”,但从长远来看,它相信的是数学的力量 2.9.评估网络节点的方法也可以应用于其他“类网络”领域 2.9.1.与美国许多依靠数据分析发展起来的体育项目不同,足球需要经过一段时间的积累才能利用数学和数据统计挖掘比赛背后隐藏的规律 2.9.2.以最终胜者西班牙队的数据来说,经过算法统计分析,西班牙队中没有明显的核心球员,这反映了整个球队很好地贯彻了“全攻全守”“快速短传”的战术思想,这最终促成了西班牙队走上冠军领奖台 2.10.网络分析还应用于文学领域 2.10.1.一个不理解剧本内容的计算机算法也能分析出跟人相同的结论 2.10.2.事实证明,算法对于这个剧情网络更加微妙的分析揭示出了剧中真正的主角 3.稳定婚姻问题 3.1.史上第一个获得诺贝尔奖的算法 3.1.1.1962年,由两位数学家大卫·盖尔(David Gale)和劳埃德·沙普利(Lloyd Shapley)共同提出使用了一个匹配算法来解决“稳定婚姻问题” 3.1.2.这个算法不仅对人际关系问题的研究具有重要意义,对一些社会问题,包括医疗资源和学校招生名额分配等,也具有重大价值 3.2.稳定的婚姻关系意味着使所有的人获得较为满意的伴侣,不应该有任何一位成员因不满意算法分配的伴侣而选择在某个时刻离开,与其他人私奔 3.2.1.利用多轮分析找到最终的稳定配对 3.3.在盖尔和沙普利研究的基础模型上,我们建立了婚恋交友网站用于配对分析的现代算法 3.3.1.从某种程度上讲,这些算法选择的结果会比我们自己去相亲的结果更好 3.4.这个算法目前在世界各地广泛使用 3.4.1.在丹麦用于小朋友匹配幼儿园 3.4.2.在匈牙利用于学生择校 3.4.3.在纽约用于给犹太教堂分配拉比 3.4.3.1.拉比在犹太文化中,这是对有学识的人的尊称 3.4.4.在中国、德国和西班牙用于大学招生和学生择校 3.4.5.在英国被英国国家医疗服务体系(National Health Service)用于病人与器官捐赠配对,挽救了许多病人的生命 3.4.6.在美国用于给医学院的毕业生分配工作 4.书商之战 4.1.《制造苍蝇》这本书二手书的价格大致在40美元 4.2.一个商家profnath对这本书开价1 730 045.91美元,并且还不包邮 4.3.一个商家bordeebook在做打折活动,但是价格更高,打完折要2 198 177.95美元,居然也不包邮(需要额外支付3.99美元运费) 4.3.1.bordeebook的算法也挺有特点,检测竞争对手的价格变化情况,并将对手价格乘以1.270 59作为自己的售价 4.3.2.bordeebook实际上就没有这本书 4.3.3.其实就是倒买倒卖而已 4.4.《制造苍蝇》这本书的错误定价并没有给任何人带来重大影响,但算法的错误是可能导致重大后果的 4.4.1.如果将这样的算法用于股票期权定价将导致股市崩盘