第8章 簡(jiǎn)單之美:布爾代數(shù)和搜索引擎

以下內(nèi)容學(xué)習(xí)鹦聪、摘錄自《數(shù)學(xué)之美》

很多想通過(guò)作者了解google的獨(dú)門(mén)搜索技術(shù)若债,但對(duì)作者只講述簡(jiǎn)單的原理感到失望澡匪。其實(shí)熔任,技術(shù)分為“術(shù)”和“道”,具體做事方法是“術(shù)”唁情,做事的原理和原則是“道”疑苔。希望作者介紹“術(shù)”的人是像走捷徑,但是真正做好一件事情沒(méi)有捷徑甸鸟,離不開(kāi)一萬(wàn)小時(shí)的專(zhuān)業(yè)訓(xùn)練和努力惦费。

搜索引擎的原理其實(shí)非常簡(jiǎn)單兵迅,建立一個(gè)搜索引擎大致需要做這樣幾件事:自動(dòng)下載盡可能多的網(wǎng)頁(yè);建立快速有效的索引薪贫;根據(jù)相關(guān)性對(duì)網(wǎng)頁(yè)進(jìn)行公平準(zhǔn)確的排序恍箭。這就是搜索的“道”,所有的搜索服務(wù)都可以在這三個(gè)基本服務(wù)的基礎(chǔ)上很快實(shí)現(xiàn)瞧省,這就是搜索的“術(shù)”扯夭。首先從介紹索引出發(fā),因?yàn)樗罨A(chǔ)鞍匾,也最重要交洗。

二進(jìn)制作為一個(gè)計(jì)數(shù)系統(tǒng),則是公元前2-5世紀(jì)時(shí)由印度學(xué)者完成的橡淑,但是他們沒(méi)有使用0和1計(jì)數(shù)构拳。到17世紀(jì),德國(guó)偉大的數(shù)學(xué)家萊布尼茲( Gottfried Leibniz)進(jìn)一步完善了二進(jìn)制梁棠,并且用0和1表示它的兩個(gè)數(shù)字隐圾,成為我們今天使用的二進(jìn)制。二進(jìn)制除了是一種計(jì)數(shù)的方式外掰茶,它還可以表示邏輯的“是”與“非”暇藏。這第二個(gè)特性在索引中非常有用。布爾運(yùn)算是針對(duì)二進(jìn)制濒蒋,尤其是二進(jìn)制第二個(gè)特性的運(yùn)算盐碱,它很簡(jiǎn)單,可能沒(méi)有比布爾運(yùn)算更簡(jiǎn)單的運(yùn)算了沪伙。

布爾( George Boole)是19世紀(jì)英國(guó)的一位中學(xué)數(shù)學(xué)老師瓮顽,創(chuàng)辦過(guò)一所中學(xué),也當(dāng)過(guò)教授围橡。但生前沒(méi)有人認(rèn)為他是數(shù)學(xué)家暖混。(英國(guó)另一位生前沒(méi)有被公認(rèn)為科學(xué)家的是著名物理學(xué)家焦耳,雖然他生前已經(jīng)是英國(guó)皇家科學(xué)院院士翁授,但是他的公認(rèn)身份是啤酒商拣播。)布爾在工作之余,喜歡閱讀數(shù)學(xué)論著收擦,思考數(shù)學(xué)問(wèn)題贮配。1854年,布爾的《思維規(guī)律》一書(shū)出版塞赂,第一次向人們展示了如何用數(shù)學(xué)的方法解決邏輯問(wèn)題泪勒。在此之前,人們普遍認(rèn)為數(shù)學(xué)和邏輯是兩個(gè)不同的學(xué)科,今天聯(lián)合國(guó)教科文組織依然把它們嚴(yán)格分開(kāi)圆存。

布爾代數(shù)簡(jiǎn)單得不能再簡(jiǎn)單了叼旋。運(yùn)算的元素只有兩個(gè):1(TRUE,真)和0( FALSE沦辙,假)送淆。基本的運(yùn)算只有“與”(AND)怕轿、“或”(OR)和“非”(NOT)三種。

這么簡(jiǎn)單的理論能解決什么實(shí)際問(wèn)題辟拷?和布爾同時(shí)代的數(shù)學(xué)家們也有同樣的疑問(wèn)撞羽。事實(shí)上,在布爾代數(shù)提出后80多年里衫冻,它確實(shí)沒(méi)有什么像樣的應(yīng)用诀紊,直到1938年香農(nóng)在他的碩士論文中指出用布爾代數(shù)來(lái)實(shí)現(xiàn)開(kāi)關(guān)電路,才使得布爾代數(shù)成為數(shù)字電路的基礎(chǔ)隅俘。所有的數(shù)學(xué)和邏輯運(yùn)算邻奠,加、減为居、乘碌宴、除、乘方蒙畴、開(kāi)方贰镣,等等,全都能轉(zhuǎn)換成二值的布爾運(yùn)算膳凝。正是依靠這一點(diǎn)碑隆,人類(lèi)用一個(gè)個(gè)開(kāi)關(guān)電路最終“搭出”電子計(jì)算機(jī)。數(shù)學(xué)的發(fā)展實(shí)際上是不斷地抽象和概括的過(guò)程蹬音,這些抽象了的方法看似離生活越來(lái)越遠(yuǎn)上煤,但是它們最終能找到適用的地方,布爾代數(shù)便是如此著淆。

現(xiàn)在看看文獻(xiàn)檢索和布爾運(yùn)算的關(guān)系劫狠。對(duì)于一個(gè)用戶(hù)輸入的關(guān)鍵詞,搜索引擎要判斷每篇文獻(xiàn)是否含有這個(gè)關(guān)鍵詞永部,如果一篇文獻(xiàn)含有它嘉熊,我們則相應(yīng)地給篇文獻(xiàn)一個(gè)邏輯值“真”(TRUE或1),否則扬舒,給一個(gè)邏輯值“假”( FALSE或0)阐肤。比如要找有關(guān)原子能應(yīng)用的文獻(xiàn),但并不想知道如何造原子彈,可以這樣寫(xiě)一個(gè)查詢(xún)語(yǔ)句“原子能AND應(yīng)用AND(NOT原子彈)”孕惜。

布爾代數(shù)對(duì)于數(shù)學(xué)的意義等同于量子力學(xué)對(duì)于物理學(xué)的意義愧薛,它們將我們對(duì)世界的認(rèn)識(shí)從連續(xù)狀態(tài)擴(kuò)展到離散狀態(tài)。在布爾代數(shù)的“世界”里衫画,萬(wàn)物都是可以量子化的毫炉,從連續(xù)的變成一個(gè)個(gè)分離的,它們的運(yùn)算“與削罩、或瞄勾、非”也就和傳統(tǒng)的代數(shù)運(yùn)算完全不同了。現(xiàn)代物理的研究成果表明弥激,我們的世界實(shí)實(shí)在在是量子化的而不是連續(xù)的进陡。

大部分使用搜索引擎的人都會(huì)吃驚為什么它能在零點(diǎn)零幾秒鐘內(nèi)找到成千上萬(wàn)甚至上億的搜索結(jié)果。顯然微服,如果是掃描所有的文本趾疚,計(jì)算機(jī)掃描的速度再快也不可能做到這一點(diǎn),這里面一定暗藏技巧以蕴。這個(gè)技巧就是建索引糙麦。這就如同我們科技讀物末尾的索引,或者圖書(shū)館的索引丛肮。

Google有一道面試產(chǎn)品經(jīng)理的考題赡磅,就是“如何向你的奶奶解釋搜索引擎”。大部分候選人都是試圖從互聯(lián)網(wǎng)宝与、搜索等產(chǎn)品的技術(shù)層面給出解釋?zhuān)绱似偷耍@道題基本通不過(guò)。好的回答是拿圖書(shū)館的索引卡片做類(lèi)比伴鳖。每個(gè)網(wǎng)站就像圖書(shū)館里的一本書(shū)节值,我們不可能在圖書(shū)館書(shū)架上一本本地找,而是要通過(guò)搜索卡片找到它的位置榜聂,然后直接去書(shū)架上拿搞疗。

圖書(shū)館的索引卡片當(dāng)然無(wú)法進(jìn)行復(fù)雜的邏輯運(yùn)算。但是须肆,當(dāng)信息檢索進(jìn)入計(jì)算機(jī)時(shí)代后匿乃,圖書(shū)的索引便不再是卡片,而是基于數(shù)據(jù)庫(kù)的豌汇。數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)句(SQL)支持各種復(fù)雜的邏輯組合幢炸,但是背后的基本原理是基于布爾運(yùn)算的,至今如此拒贱。

布爾代數(shù)非常簡(jiǎn)單宛徊,但是對(duì)數(shù)學(xué)和計(jì)算機(jī)發(fā)展的意義重大佛嬉,它不僅把邏輯和數(shù)學(xué)合二為一,而且給了我們一個(gè)看待世界的全新視角闸天,開(kāi)創(chuàng)了今天數(shù)字化的時(shí)代暖呕。偉大的科學(xué)家牛頓說(shuō)過(guò):“真理在形式上從來(lái)是簡(jiǎn)單的,而不是復(fù)雜和含混的苞氮。”( Truth is ever to be found in simplicity湾揽, and not in the multiplicity andcontusion of things.)

點(diǎn)擊這里可以查看《數(shù)學(xué)之美》的其它學(xué)習(xí)筆記。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笼吟,一起剝皮案震驚了整個(gè)濱河市库物,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贷帮,老刑警劉巖戚揭,帶你破解...
    沈念sama閱讀 223,207評(píng)論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異皿桑,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蔬啡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén)诲侮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人箱蟆,你說(shuō)我怎么就攤上這事沟绪。” “怎么了空猜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 170,031評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵绽慈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我辈毯,道長(zhǎng)坝疼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,334評(píng)論 1 300
  • 正文 為了忘掉前任谆沃,我火速辦了婚禮钝凶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唁影。我一直安慰自己耕陷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布据沈。 她就那樣靜靜地躺著哟沫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锌介。 梳的紋絲不亂的頭發(fā)上嗜诀,一...
    開(kāi)封第一講書(shū)人閱讀 52,895評(píng)論 1 314
  • 那天猾警,我揣著相機(jī)與錄音,去河邊找鬼裹虫。 笑死肿嘲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筑公。 我是一名探鬼主播雳窟,決...
    沈念sama閱讀 41,300評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匣屡!你這毒婦竟也來(lái)了封救?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,264評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捣作,失蹤者是張志新(化名)和其女友劉穎誉结,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體券躁,經(jīng)...
    沈念sama閱讀 46,784評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惩坑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了也拜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片以舒。...
    茶點(diǎn)故事閱讀 40,989評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖慢哈,靈堂內(nèi)的尸體忽然破棺而出蔓钟,到底是詐尸還是另有隱情,我是刑警寧澤卵贱,帶...
    沈念sama閱讀 36,649評(píng)論 5 351
  • 正文 年R本政府宣布滥沫,位于F島的核電站,受9級(jí)特大地震影響键俱,放射性物質(zhì)發(fā)生泄漏兰绣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評(píng)論 3 336
  • 文/蒙蒙 一编振、第九天 我趴在偏房一處隱蔽的房頂上張望狭魂。 院中可真熱鬧,春花似錦党觅、人聲如沸雌澄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,814評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)镐牺。三九已至,卻和暖如春魁莉,著一層夾襖步出監(jiān)牢的瞬間睬涧,已是汗流浹背募胃。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,940評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留畦浓,地道東北人痹束。 一個(gè)月前我還...
    沈念sama閱讀 49,452評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像讶请,于是被迫代替她去往敵國(guó)和親祷嘶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line)夺溢,也就是一...
    悟名先生閱讀 4,153評(píng)論 0 13
  • 這個(gè)系列的第六個(gè)主題论巍,主要談一些搜索引擎相關(guān)的常見(jiàn)技術(shù)。 1995年是搜索引擎商業(yè)公司發(fā)展的重要起點(diǎn)风响,《淺談推薦系...
    我偏笑_NSNirvana閱讀 6,637評(píng)論 3 24
  • 2801# 數(shù)學(xué)之美-Statistical Language Models Google 的使命是 "整合全球信...
    ucudrrad閱讀 628評(píng)論 0 3
  • 【36期四組—秦承煥—萬(wàn)萬(wàn)姥姥】 孩子第一個(gè)30天目標(biāo):學(xué)會(huì)游泳 媽媽第一個(gè)30天目標(biāo):每天陪孩子半小時(shí) 姥姥第一...
    萬(wàn)萬(wàn)姥姥閱讀 174評(píng)論 0 0
  • 吃完了晚飯嘉汰,躺在沙發(fā)上看著電視,依是放著那永不停息的肥皂劇状勤。一個(gè)個(gè)顏值上天但卻看著像英國(guó)早餐一樣咸咸濕濕鞋怀,一塊酸的...
    風(fēng)雪長(zhǎng)閱讀 154評(píng)論 0 1