这是一本很好的科普书,而且已经是第三版了,吴老师用简单的语言叙述了很多高深的应用,但又不至于枯燥无法读下去。
关于技术书,一定要找在山顶或者接近山顶的人,因为只有这种人是“成功”了的。有一些到达山腰的人没有看过山顶的风景的人写的技术书真是一言难进,说写的不好还是有可取之处的,但是新的读者无法知道哪里是可取的,遂花费了很多时间来读书。当然这并不代表大佬们写的书就没有缺点,只是他们的书中可取之处较多,单位时间内获取的有用之处更多,仅此而已。
我的写作大多是在飞机上完成的,写作累了便看看电视节目,一次碰巧找到《穿越虫洞》,一个把当今最前沿的物理学知识做得浅显易懂的节目。节目中有包括很多诺贝尔奖获奖者在内的一流物理学家和数学家介绍他们的工作,这些人有一个共同的本领,就是能用很简单的比喻将所在领域内最深奥的道理说清楚,让大众容易理解。我想这可能正是他们成为世界顶级科学家的原因,他们一方面对自己的领域非常精通,同时他们又能用大白话把道理讲得明明白白。世界上最好的学者总是有办法深人浅出地把大道理讲给外行听而不是故弄玄虚地把简单问题复杂化。因此,在写作《数学之美》时我一直以伽莫夫、霍金等科学家为榜样,力图将数学之美展现给所有普
通读者,而不只是有相关专业背景的读者。
世界上最好的学者总是有办法深人浅出地把大道理讲给外行听而不是故弄玄虚地把简单问题复杂化
布尔代数
布尔代数对于数学的意义等同于量子力学对于物理学的意义,它们将我们对世界的认识从连缕状态扩展到离散状态。在布尔代数的“世界”里,万物都是可以量子化的,从连线的变成一个个分离的,它们的运算“与或、非” 也就和传统的代数运算完全不同了。现代物理的研究成果表明.我们的世界实实在在是量子化的而不是连线的。我们的宇宙的基本粒子数目是有限的!,而且远比古高尔(googol,10 ^ 100)要小得多。
Google 公司的名称便是来源于此,表示它的索引量大
布尔代数非常简单,但是对数学和计算机发展的意义重大,它不仅把逻辑和数学合二为一,而且给了我们一个看待世界的全新视角,开创了今天数宇化的时代。在此,借用伟大的科学家牛顿的一句话来结束这一章,
“(人们)发觉真理在形式上从来是简单的,而不是复杂和含泥的。
(Truth is ever to be found in simplicity, and not in the multiplicity andconfusion of things.)
PageRank ----Google 的民主表决式网页排名技术
对于大部分用户的查询,今天的搜素引擎,都会返回成千上万条结果,那么应该如何排序,把用户最想看到的结果排在前面呢?这个问题很大程度上决定了搜素引擎的质量。我们在这一章和下一章将回答这个问题。
总的来讲,对于一个特定的查询,搜素结果的排名取决于两组信息:关于网页的质量信息(Quality),以及这个查询与每个网页的相关性信息(Relevance)。这一章介绍衡量网页质量的方法,下一章介绍度量搜索关
键词和网页相关性的方法。
在互联网上,如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高。这就是 PageRank 的核心思想。当然Google 的 PageRank 算法实际上要复杂得多。
比如说,对来自不同网页的链接区别对待,因为那些排名高的网页的链接更可靠,于是要给这些链接以较大的权重。这就好比在现实世界中股东大会里的表决,要考虑每个股东的表决权( Voting Power),拥有20%表决权的股东和拥有 1% 表央权的股东,对最后的表决结果的影响力明显不同。
PageRank算法考虑了这个因素,即网页排名高的网站贡献的链接权重大。
现在举一个例子,我们知道一个网页Y的排名应该来自于所有指向这个网页的其他网页X,x2,•,Xx的权重之和,Y的网页排名pagerank = 0.001 + 0.01 + 0.02 + 0.05 = 0.081.
信息指纹
所谓信息指纹,可以简单理解为将一段信息(文字、图片、音频、视频等)随机地映射到一个多维二进制空间中的一个点(一个二进制数字)。只要这个随机两数做得好,那么不同信息对应的这些点就不会重合,因此,这些二进制的数字就成了原来的信息所具有的独一无二的指纹。
集合相同的判定
在网页搜素中,有时需要判断两个查询用词是否完全相同(但是次序可能不同),比如“北京 中关村 星巴克”和“星巴克 北京中关村〞 用词完全相同。更普遍的讲法是判断两个集合是否相同(比如一个人是否用两个不同的 E-mail 账号对同一组人群发垃圾邮件)。解决这个问题有各种各样的方法,没有绝对正确的和错误的,但是有好
的方法和笨的方法。
最直接的笨办法是对这个集合中的元素一一做比较,这个方法计算的时间复杂度是0(2),其中N是集合的大小。
稍徽好一点的办法是将两个集合的元素分别排序,然后顺序比较,这样计算时间的复杂度是O(NIogN),比前面那种方法好了不少,但还是不够好。与这个方法相当的是将第一个集合放在一张哈希表中,然后把第二个集合的元素一一和哈希表中的元素作对比。这个方法的时间复杂度为0(M),达到了最佳’。但是额外使用了O(N)的空间,而且代码很复杂,不完美。
交换律告诉我们,结合内部元素顺序并不影响他们整体代表的信息
建立2个的位数组,使用相同的hash 函数分别将两个集合中的元素遍历计算映射到数组中,然后遍历数组,如果有一个位置不相同,他们就不相同,也可以以此判断相似度。
甚至可以不用额外的空间,在遍历时产生集合元素的“指纹”,然后对照指纹来判断是否相同。
视频盗版
视频的匹配有两个核心技术,关键帧的提取和特征的提取。MPEG 视频(在NTSC制的显示器上播放)虽然每秒有30帧图像,但是每一帧之间的差异不大。(否则我们看起来就不连贯了。)一般来说,每一秒或若千秒才有一帧是完整的图像,这些帧称为关键帧。其余帧存储的只是和关键帧相比的差异值。关键帧对于视频的重要性,就如同主题词对于新闻的重要性一样。因此,处理视频图像首先是找到关键帧,接下来就是要用一组信息指纹来表示这些关键帧了。有了这些信息指纹后,检测是否盗版就类似手比较两个集合元素是否相同了。
Google 收购 YouTube 后,由 Google研究院研究图像处理的科学家们开发出的反盗版系统,效果非常好。由于可以找出相同的视频的原创和拷贝,Google制定了一个很有意思的广告分成策略:虽然所有的视频都可以插人广告,但是广告的收益全部提供给原创的视频,即使广告是插人在拷贝的视频中。这样一来,所有拷贝和上传别人的视频的网站就不可能获得收人。没有了经济利益,也就少了很多盗版和拷贝。
数学模型的重要性
一个正确的数学模型应当在形式上是简单的。
一个正确的模型一开始可能还不如一个精雕细琢过的错误模型来的准确,但是,如果我们认定大方向是对的,就应该坚持下去。(日心说一开始并没有地心说准确。)
大量准确的数据对研发很重要。
正确的模型也可能受噪声千扰,而显得不准确:这时不应该用一种凑合的修正方法加以弥补,而是要找到噪声的根源,这也许能通往重大的发现。