---------------------------概率与计算:算法与数据分析中的随机化和概率技术(原书第2版)---------------------------
第2版前言
本书的初版已经过了10年,随着大数据分析、机器学习和数据挖掘的重要性越来越突出,概率方法对于计算机科学来说也变得越来越核心.许多相关领域的应用成果,其算法和思路都是建立在对概率与统计的成熟理解基础之上的,要想正确地使用这些工具,对于这些数学概念的透彻理解是必不可少的.而第2版新增的主要内容就是着重于这些概念的介绍.
近年来,诸如万维网、社交网络、基因数据等使得我们能够产生、收集和存储大量的样本数据集,这对我们建立模型和分析这些数据的结构提出了新的挑战.熟练掌握一些标准的分布可以给建立和分析模型打下一个好的基础,新增的第9章包含了绝大多数常见的统计分布,同时也像之前一样,会强调这些分布在计算机科学中如何应用,比如确定分布的尾界等.然而,诸如万维网和社交网络等现代数据集有着一个奇妙的现象,在其中我们往往见不到正态分布,取而代之的是一种有着非常不同性质的、很少见的、特征明显的重尾分布.例如,在万维网中,一些页面经常会有大量的网页链接它们,其被链接的数量要高过平均水平一个数量级.第2版新增的第16章将包含对于建模和理解这种现代数据集来说非常重要的那些特殊分布.
机器学习是近年来计算机科学领域的重大成果之一,它提供了许多高效的工具来建模、理解和预测大数据.但是预测的准确性,特别是准确性和样本容量的关系这一点却常常被人忽略.第2版中新增的第14章将会对这些重要的内容进行详细的介绍.
在新版中,我们也对之前的部分内容进行了充实和更新.例如,我们介绍了重要的洛瓦兹局部引理的算法变化的一些新进展,也新增了一小节用来介绍布谷鸟散列这种享誉盛名且越来越实用的散列法.最后,除了这些新增内容,新版也包括了修正、勘误和许多新习题.
我们对几年来向我们发送了诸多勘误的读者表示由衷的感谢,可惜人数过于众多,我们在此不一一列出了,还望海涵.
第1版前言
为什么要研究随机性
计算机科学家为什么要研究和使用随机性呢?这是因为计算机出现了太多不可预见的状况!加入随机性似乎是一个缺点,它使得有效地使用计算机这种已经具有挑战性的工作变得更加复杂.
从20世纪开始,科学研究已经将随机性视为建模和分析中的基本组成部分.例如,在物理学上,牛顿定律使人们相信宇宙的位置是确定的:如果有一个足够大的计算工具和合适的初始条件,人们可以确定若干年后行星的位置.然而量子理论的发展却提出了不同的观点:宇宙仍旧按照自然法则运转,但是这些自然法则的核心是随机性的.“上帝不会同宇宙玩骰子”,这是爱因斯坦用来反驳现代量子力学的一句名言.然而,当代亚微粒子物理学的主要理论仍然是建立在随机现象和统计规律基础之上的,并且在从生物学的遗传与进化到自由市场经济的价格波动模型等几乎所有其他科学领域中,随机性都起着非常重要的作用.
计算机科学也不例外,从一些概率定理证明的高深理论到个人计算机以太网卡的实用性设计,随机性和概率方法在现代计算机科学中都扮演了关键角色.过去20年以来,概率论在计算中的应用得到了巨大的发展,越来越高级、越来越复杂的概率技术已经被应用于更加广泛和更富挑战性的计算机科学应用中.在本书中,我们主要研究随机性应用于计算机科学的基本方法:随机化算法和算法的概率分析.
随机化算法:随机化算法是执行过程中要求作随机选择的算法.实际上,随机化程序会使用由随机数发生器产生的数值,从若干执行分支中决定下一步执行哪个分支.例如,以太网卡协议用随机数决定何时试图访问共享的以太网通信介质.随机性在打破对称性、防止不同的以太网卡同时重复访问介质方面是非常有用的.随机化算法的其他常见应用还包括蒙特卡罗模拟和密码学中的初始检验.在这些以及其他重要应用中,随机化算法比最有名的确定性方法更有效,并且在大多数情况下更简单,更容易编写程序.
当然,这些优点也是需要付出一定代价的,问题的答案在一定的概率下是不正确的,或者只以某个概率保证有效.虽然设计一个有可能错误的算法似乎有点奇怪,但是如果错误发生的概率很小,那么提高运行速度和减少占用的内存是有价值的.
算法的概率分析:复杂性理论根据计算的复杂性对问题进行分类,尤其是区分简单问题和有难度的问题.例如,复杂性理论认为流动推销员问题是一个NP难题.如果城市数量以次指数增长,那么不可能存在可以解决流动推销员问题的任何一个实用的算法.对于经典的最坏情况复杂性理论,一个令人困惑的现象是,在分类上属于有难度的计算问题,实际上却很容易解决,概率分析对这种现象给出了理论上的解释.虽然对某些不合理的输入数据,问题难以解决,但对大多数输入(尤其是在日常的应用中),这些问题实际上却容易解决.更确切地说,如果我们认为输入是随机选择的结果,而随机选择是根据所有可能输入数据集上的某个概率分布作出的,就很有可能得到一个易于解答的问题实例,而这些实例不能求解的概率是相对较小的.算法的概率分析是研究当输入来自某一适当定义的概率空间时算法如何运行的一种方法.书中我们将会看到,即使是NP难题,也会有对于几乎所有输入都极其有效的算法.
. 关于本书
本书可以作为计算机科学和应用数学专业高年级本科生或低年级研究生一至两个学期的课程教材.在众多较好的大学中,随机化和概率技术已经从高年级研究生讨论班的主题变为高年级本科生和低年级研究生的正式课程.在这方面有大量相当高深的、研究性的著作,但仍然需要一本介绍性的教科书,我们希望本书能起到这方面的作用.
本书的内容是从近几年在布朗大学(CS 155)和哈佛大学(CS 223)讲授计算机科学中的概率方法这类课程发展而来的.这些课程和本书强调的是概率技术以及具体的范例,而非特定的应用领域.每章介绍一种方法或者技术,通过一些随机化算法分析或基于随机输入算法的概率分析例子来阐述.其中许多例子来自网络中的问题,反映了网络领域的主要趋势(和作者的兴趣).
本书第1版共有14章,可分成两部分,第一部分(第1~7章)是核心内容.本书只要求读者具备基本的概率论知识,相当于计算机科学专业的离散数学课程包含的内容.第1~3章复习初等概率论,并介绍一些有意义的应用,内容包括随机抽样、期望、马尔可夫不等式、方差和切比雪夫不等式.如果教学班有充分的概率论背景,那么这几章可以很快地讲过去,但是建议读者不要跳过这些章节,因为这里介绍了随机化算法和算法的概率分析概念,并且还有一些贯穿全书的例子.
第4~7章介绍高级课题,包括切尔诺夫界、球和箱子模型、概率方法和马尔可夫链.同前面几章相比,这几章介绍的内容更具有挑战性.难度特别大的章节书中标有星号(教师可以根据需要考虑是否跳过这部分内容).根据教学进度,前7章介绍的核心内容可以作为四分之一学年或半学年的课程.
本书第二部分(第8章、第10~13章、第15章、第17章)介绍另外一些高级内容,这些内容既可以作为基本课程的必要补充,也可以作为另一门更高级的课程.这些章节是各自独立的,教师可以选择最适合学生的内容来讲授.将连续概率和熵这两章纳入基本课程中可能是比较好的选择.对连续概率(第8章)的介绍主要集中在均匀分布和指数分布,其中还包括一些排队论的例子,对熵(第10章)的介绍包括如何度量随机性,以及在随机提取、压缩和编码中,熵是如何自然地产生的.
第11章和第12章分别介绍了蒙特卡罗方法和耦合,这两章是密切相关的,最好放在一起学习;第13章是关于鞅的知识,包含了如何处理相关随机变量的各种重要问题;而第15章则从不同的思路继续研究两两独立和消去随机性的进展;最后一章(第17章)讨论了均衡配置问题,介绍了作者的一些想法,该章与第5章的球和箱子问题密切相关.
本书各个章节的顺序,尤其是第一部分的顺序,是根据它们在算法中的相对重要性安排的,例如,我们先介绍切尔诺夫界,而其他一些基本的概率知识(如马尔可夫链)则放在后面,但是,教师在讲授时可以按照不同顺序进行.在更强调一般随机过程的课程中,可以在第1~3章后直接讲授马尔可夫链(第7章),随后讲授球、箱子和随机图(第5章,略去哈密顿圈的例子),接下来可以跳过第6章关于概率方法的内容,而讲授连续概率和泊松过程(第8章).本书其余大部分内容都会用到第4章中关于切尔诺夫界的知识.
书中的大部分练习都是理论性的,但我们也选取了一些编程练习——包括两个需要编程的探索性作业.我们发现偶尔的编程练习,对于加强本书的思想和增添课程的多样性很有帮助.
我们将本书的内容严格限制在数学分析的方法和技术之内,除去一些特殊情况,本书的所有定理都给出了完整的证明.显然,许多相当有用的概率方法并不在这种严格的限制之内.例如,在蒙特卡罗方法的重要领域中,大多数实际解具有启发性,从而证实了试验估计比严格数学分析更有效.我们认为,为了很好地应用和理解启发性方法的优缺点,扎实地掌握基础概率理论和本书给出的严格技术是十分必要的,我们希望读者在学完本书之后能够喜欢这种处理方式.
致谢
首先我们要感谢许多曾经研究本书选取的极好题材的概率论专家和计算机科学家.我们没有把大量原始论文作为参考文献放入书中,只是提供一些优秀的参考书目作为本书各章的背景材料和更进一步的讨论依据.
书中许多内容来自布朗大学CS 155课程和哈佛大学CS 223课程的学生和老师的建议和反馈,我们特别要感谢Aris Anagnostopoulos、Eden Hochbaum、Rob Hunter和Adam Kirsch,他们阅读了本书的初稿,并提出了修改意见.
我们尤其要感谢Dick Karp,2003年秋季,他在伯克利大学授课(CS 174)期间,使用了本教材的初稿,他的早期建议和修改意见对改进教材是非常有价值的.Peter Bartlett在2004年春季于伯克利大学授课(CS 174)期间,也提出了很多有用的建议和修改意见.
感谢在本书编写过程中认真读过部分初稿的同事,他们在内容及表达方面指出许多错误,提出重要的改进意见.他们是:Artur Czumaj、Alan Frieze、Claire Kenyon、Joe Marks、Salil Vadhan、Eric Vigoda.另外,感谢为出版社审稿的一些不知道姓名的评审者.
感谢Rajeev Motwani和Prabhakar Raghavan同意我们引用他们优秀的著作《Randomized Algorithms》中的某些练习.
最后感谢剑桥大学出版社的Lauren Cowles,她在本书的准备和组织过程中提供了很多编辑方面的帮助和意见.
本书的写作得到了美国国家科学基金会信息技术研究基金(授权号CCR-0121154)的部分资助.
---------------------------实分析(原书第4版)---------------------------
H. L. Royden的《实分析》前三版已帮助了几代学习数学分析的学生. 第4版保持了前一版的目标与总体结构——为现代分析人员提供他们需要知道的测度论、积分论以及泛函分析的知识.
本书分为三部分:第一部分讨论一元实变量函数的Lebesgue测度与Lebesgue积分;第二部分讨论抽象空间——拓扑空间、度量空间、Banach空间以及Hilbert空间;第三部分讨论一般测度空间上的积分,以及拓扑、代数或动力结构下丰富的一般理论.
第二部分和第三部分的内容原则上不依赖于第一部分. 然而,第一部分在学生熟悉的背景下提出了新概念,这为第二部分和第三部分建立更为抽象的概念奠定了基础. 此外,在第一部分创立的Banach空间——Lp空间,是最为重要的Banach空间类之一. 建立Lp空间的完备性以及它们的对偶空间的主要理由是在这些空间上的泛函与算子的研究中能够运用泛函分析的标准工具. 第二部分的目标是创建这些工具.
第4版的主要更新
●与前一版相比本版新增了50%的习题.
●证明了一些基本的结果,包括Egoroff定理和Urysohn引理.
●与若干其他概念一起正式给出了Borel-Cantelli引理、Chebychev不等式、快速Cauchy序列,以及测度与积分所共有的连续性质.
本书的每一部分都有一些值得留意的变动:
第一部分
●给出了一致可积性的概念和Vitali收敛定理,它们是关于Lebesgue积分计算的基本定理证明的最重要部分.
●Lp(E)(1≤p≤∞)空间中快速Cauchy序列的性质的精确分析现在是这些空间的完备性证明的基础.
●详细讨论了Lp(E)(1≤p≤∞)空间中的弱序列紧性,它被用于证明连续凸泛函的最小值点的存在性.
第二部分
●度量和拓扑空间的一般结构性质分为两个简短的章,在这两章中主要定理得到了证明.
●对于Banach空间的处理,除了讨论有界线性算子的基本结果之外,还详细讨论了由Banach空间和它的对偶空间之间的对偶性诱导的弱拓扑的紧性.
●新增一章讨论Hilbert空间上的算子,其中弱序列紧性是证明关于紧对称算子的特征向量上的Hilbert-Schmidt定理以及刻画由Riesz和Schuader给出的作用在Hilbert空间的指标为零的线性Fredholm算子的基础.
第三部分
●建立了一般的测度与积分理论,包括完备性和Lp(X, μ)(1≤p≤∞)空间的对偶空间的表示,探讨了这些空间的弱序列紧性,包括刻画L1(X, μ)空间中的弱序列紧性的Dunford-Pettis定理的证明.
●对于紧Hausdorff空间X,为刻画C(X)的对偶讨论了拓扑与测度之间的关系. 通过紧性论据,这导致了关于紧群上唯一不变测度的存在性的von Neumann定理的证明,以及关于紧Hausdorff空间上的映射是遍历的概率测度的存在性的证明.
测度与积分的一般理论诞生于20世纪初. 它现在是概率论、偏微分方程、泛函分析、调和分析以及动力系统等备受关注的若干数学领域不可或缺的要素. 事实上,它已成为一个统一的概念. 许多不同的题材能够一致地用该理论处理积分与泛函分析之间的关系,特别是积分与弱收敛性之间的伴随关系,在这里得到强化:这在如非线性偏微分方程的分析中是重要的(见L. C. Evans的书《Weak Convergence Methods for Nonlinear Partial Differential Equations》[AMS, 1990]).
参考文献中列出了一些书,这些书在正文中没有被具体引用,但应作为补充材料和不同观点供查询. 特别是,列出了两本关于数学分析的有趣历史的书.
课程建议:第一学期
在第1章,建立了第一部分需要的所有实直线的初等分析与拓扑的背景知识. 这个初始章可作为便利的参考内容. 核心内容包括第2~4章、6.1~6.5节、第7章以及8.1节. 此外,以下内容可根据需要选择: 8.2~8.4节对继续研究赋范线性空间的对偶性与紧性的学生是有意义的;而 5.3节包含经典分析的两个瑰宝——Lebesgue可积性的刻画与关于有界函数的Riemann可积性的刻画.
课程建议:第二学期
第二学期的课程应基于第三部分. 初始的核心材料包括17.1节、18.1~18.4节以及19.1~19.3节. 第17章的其余节可在开始或后面需要时讲解:17.3~17.5节在第20章之前讲授,17.2节在第21章之前讲授. 继而可讲授第20章. 这些都不依赖于第二部分. 几个备选题材需要涉及第二部分的内容.
●建议1:证明Baire范畴定理及其关于连续函数序列的逐点极限的偏连续性的推论(第10章的定理7),从Riesz-Fischer定理推出Nikodym度量空间是完备的(第18章的定理23),证明Vitali-Hahn-Saks定理并接着证明Dunford-Pettis定理.
●建议2:涵盖关于测度与拓扑的第21章(略去20.5节),假设拓扑空间是可度量化的,因此20.1节可被略去.
●建议3:证明无穷维赋范线性空间的闭单位球关于由范数诱导的拓扑是非紧的Riesz定理,以此作为得到关于弱拓扑的序列紧性的动机. 接着,若Lq(X, μ)是可分的,用Helley定理得到Lp(X, μ)(1课程建议:第三学期
针对已经上过前两学期课程的学生,我把附带一些补充材料的第二部分用于泛函分析课程.当然这些材料需要裁剪,以与第二学期所选取的材料很好地衔接. 关于Hilbert空间上的有界线性算子的第16章可在关于Banach空间上的有界线性算子的第13章之后讲授,因为关于弱序列紧性的结果从Hilbert空间的每个闭子空间的正交补的存在性可直接得到. 第二部分应与第三部分的备选题材穿插讲授,以提供抽象空间理论在积分上的应用. 例如,用第19章的材料可在一般的Lp(X, μ)空间考虑自反性与弱紧性. 上面关于第二学期课程的建议1可用于第三学期而非第二学期,以给出Baire范畴定理的真正震撼的应用. 第21章中C(X)的对偶的表示(其中X是紧Hausdorff空间),提供了Helly、Alaoglu与Krein-Milman的定理适用的另一族空间——带号Radon测度的空间. 通过涵盖关于不变测度的第22章,学生将会接触到一些应用:用Alaoglu定理与Krein-Milman定理证明紧群上的Haar测度的存在性,使得映射是遍历的测度的存在性(第22章的定理14),以及用Helly定理证明不变测度的存在性(Bogoliubov-Krilov定理).
欢迎读者通过pmf@math.umd.edu提供评论. 勘误与评注的清单将放在www.math.umd.edu/~pmf/RealAnalysis上.
致谢
很高兴地表达我对教师、同行和学生的感谢. 我诚挚感谢Diogo Arsénio,他读了完整手稿的倒数第二遍草稿,他的观察和建议改进了草稿. 在马里兰大学,我针对多个分析课程写了讲义. 这些讲义已融入当前版本. 我的分析课程的一些研究生彻底检查了该版本的部分手稿,他们的评论与建议非常有价值,他们是:Avner Halevy,J. J. Lee, Kevin McGoff,Himanshu Tiagi. 我特别感谢Brendan Berg,他创建了索引,校对了最后的手稿,友善地改进了我的tex技巧. 我从与许多朋友和同事的交谈中获益良多,他们是:Diogo Arsénio,Stu Antman,Michael Boyle, Michael Brin, Craig Evans,Manos Grillakis,Richard Hevener,Brian Hunt,Jacobo Pejsachowicz,Michael Renardy,Eric Slud, Robert Warner, JimYorke.
对于第4版的第三次印刷,我改正了前两次印刷的错误,这些错误是许多友善的读者,特别是我在马里兰大学的研究生指出来的. 我感谢Jose Renato Ramos Barbosa教授,他为我提供了几页勘误表. 特别的感谢给Richard Hevener,他严谨地找寻本书的错误,提供了许多关于表达的极好建议,并且仔细地排出了一个张贴在网站上的勘误清单. 我感谢Sam Punshon-Smith,他在解决几个令人烦恼和困难的手稿制作问题上提供了很好的帮助.
我诚挚感谢出版社与评审人员:J. Thomas Beale, 杜克大学;Richard Carmichael,维克森林大学;Michael Goldberg,约翰霍普金斯大学;Paul Joyce,爱达荷大学;Dmitry Kaliuzhnyi-Verbovetskyi,德莱克斯大学; Giovanni Leoni, 卡内基梅隆大学; Bruce Mericle,曼卡多州立大学; Stephen Robinson, 维克森林大学;Martin Schechter,加州大学欧文分校; James Stephen White,杰克逊维尔州立大学;ShanshuangYang, 埃默里大学.
Patrick M. Fitzpatrick
马里兰大学帕克分校
2014年4月