亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

數學之美系列六 -- 圖論和網絡爬蟲 (Web Crawle

系統 1570 0

2006年5月15日 上午 07:15:00 作者: google 吳軍

[ 離散數學 是當代數學的一個重要分支,也是計算機科學的數學基礎。它包括數理邏輯、集合論、圖論和近世代數四個分支。數理邏輯基于布爾運算,我們已經介紹過了。這里我們介紹圖論和互聯網自動下載工具網絡爬蟲 (Web Crawlers) 之間的關系。順便提一句,我們用 Google Trends 來搜索一下“離散數學”這個詞,可以發現不少有趣的現象。比如,武漢、哈爾濱、合肥和長沙市對這一數學題目最有興趣的城市。]

我們 上回 談到了如何建立搜索引擎的索引,那么如何自動下載互聯網所有的網頁呢,它要用到圖論中的遍歷(Traverse) 算法。

圖論的起源可追溯到大數學家 歐拉 (Leonhard Euler)。1736 年歐拉來到德國的哥尼斯堡(Konigsberg,大哲學家康德的故鄉,現在是俄羅斯的加里寧格勒),發現當地市民們有一項消遣活動,就是試圖將下圖中的每座橋恰好走過一遍并回到原出發點,從來沒有人成功過。歐拉證明了這件事是不可能的,并寫了一篇論文,一般認為這是圖論的開始。



圖論中所討論的的圖由一些節點和連接這些節點的弧組成。如果我們把中國的城市當成節點,連接城市的國道當成弧,那么全國的公路干線網就是圖論中所說的圖。關于圖的算法有很多,但最重要的是圖的遍歷算法,也就是如何通過弧訪問圖的各個節點。以中國公路網為例,我們從北京出發,看一看北京和哪些城市直接相連,比如說和天津、濟南、石家莊、南京、沈陽、大同直接相連。我們可以依次訪問這些城市,然后我們看看都有哪些城市和這些已經訪問過的城市相連,比如說北戴河、秦皇島與天津相連,青島、煙臺和濟南相連,太原、鄭州和石家莊相連等等,我們再一次訪問北戴河這些城市,直到中國所有的城市都訪問過一遍為止。這種圖的遍歷算法稱為“廣度優先算法”(BFS),因為它先要盡可能廣地訪問每個節點所直接連接的其他節點。另外還有一種策略是從北京出發,隨便找到下一個要訪問的城市,比如是濟南,然后從濟南出發到下一個城市,比如說南京,再訪問從南京出發的城市,一直走到頭。然后再往回找,看看中間是否有尚未訪問的城市。這種方法叫“深度優先算法”(DFS),因為它是一條路走到黑。這兩種方法都可以保證訪問到全部的城市。當然,不論采用哪種方法,我們都應該用一個小本本,記錄已經訪問過的城市,以防同一個城市訪問多次或者漏掉哪個城市。

現在我們看看圖論的遍歷算法和搜索引擎的關系。互聯網其實就是一張大圖,我們可以把每一個網頁當作一個節點,把那些超鏈接(Hyperlinks)當作連接網頁的弧。很多讀者可能已經注意到,網頁中那些藍色的、帶有下劃線的文字背后其實藏著對應的網址,當你點下去的的時候,瀏覽器是通過這些隱含的網址轉到相應的網頁中的。這些隱含在文字背后的網址稱為“超鏈接”。有了超鏈接,我們可以從任何一個網頁出發,用圖的遍歷算法,自動地訪問到每一個網頁并把它們存起來。完成這個功能的程序叫做網絡爬蟲,或者在一些文獻中稱為"機器人"(Robot)。世界上第一個網絡爬蟲是由麻省理工學院 (MIT)的學生馬休.格雷(Matthew Gray)在 1993 年寫成的。他給他的程序起了個名字叫“互聯網漫游者”("www wanderer")。以后的網絡爬蟲越寫越復雜,但原理是一樣的。

我們來看看網絡爬蟲如何下載整個互聯網。假定我們從一家門戶網站的首頁出發,先下載這個網頁,然后通過分析這個網頁,可以找到藏在它里面的所有超鏈接,也就等于知道了這家門戶網站首頁所直接連接的全部網頁,諸如雅虎郵件、雅虎財經、雅虎新聞等等。我們接下來訪問、下載并分析這家門戶網站的郵件等網頁,又能找到其他相連的網頁。我們讓計算機不停地做下去,就能下載整個的互聯網。當然,我們也要記載哪個網頁下載過了,以免重復。在網絡爬蟲中,我們使用一個稱為“ 哈希表 ”(Hash Table)的列表而不是一個記事本紀錄網頁是否下載過的信息。

現在的互聯網非常巨大,不可能通過一臺或幾臺計算機服務器就能完成下載任務。比如雅虎公司(Google 沒有公開公布我們的數目,所以我這里舉了雅虎的索引大小為例)宣稱他們索引了 200 億個網頁,假如下載一個網頁需要一秒鐘,下載這 200 億個網頁則需要 634 年。因此,一個商業的網絡爬蟲需要有成千上萬個服務器,并且由快速網絡連接起來。如何建立這樣復雜的網絡系統,如何協調這些服務器的任務,就是網絡設計和程序設計的藝術了。

數學之美系列六 -- 圖論和網絡爬蟲 (Web Crawlers)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本夜夜夜 | 黄色片网站大全 | 日韩欧美一级毛片视频免费 | 欧美特欧美特级一片 | 日韩精品一区二区三区中文字幕 | 可以免费观看的毛片 | 天天操天天操天天操 | 亚洲精品资源在线 | 日韩中文字幕精品免费一区 | 成年女人永久免费观看片 | 亚洲精品乱码久久久久久麻豆 | 可以免费观看欧美一级毛片 | 手机免费在线观看 | 国产一区二区高清在线 | 国产高清视频在线播放 | 成人亚洲欧美日韩在线观看 | 深夜男人网站 | 欧美 日产 国产精品 | 在线观看欧美国产 | 亚洲综合日韩在线亚洲欧美专区 | 久久久久视频精品网 | 欧美大屁股精品毛片视频 | 国产亚洲精品久久yy5099 | 在线观看欧洲成人免费视频 | 国产九九热视频 | 久久综合狠狠综合久久97色 | 亚洲一区二区欧美 | 色婷婷亚洲十月十月色天 | 国产91成人精品亚洲精品 | 欧美精品专区第1页 | 五月婷婷色视频 | 久久精品视频16 | 欧美人与动性xxxxbbbb | 亚洲女精品一区二区三区 | 亚洲伊人色一综合网 | www.天天干 | 九九久久九九久久 | 98色花堂永久地址国产精品 | 91精品免费不卡在线观看 | 欧美精品专区免费观看 | 日本不卡免费一区 |