今天看到部落格中有一位網友提出了問題,如下:
梁老師,您好。我是通過走進搜尋引擎這本書知道您的,這本書我也讀了好幾遍,就是在這個web直徑的公式證明一直無法解決。找到您的部落格,所說的方法就是利用可達性矩陣冪次方去做,但是水平有限,梁老師能不能給我乙個證明過程,或者是推薦網上的證明頁面。 ps:我也利用谷歌搜偶國外的,都沒找到這個公式證明。我的郵箱是[email protected]。謝謝。
page
和page之間
的可達關係可以用有向圖來描述,
我們舉乙個具體的例子(page
可以自己指向自己,
因此可以包含自反關係,
但為了簡單起見,
例子中不含這種自反關係)
寫成矩陣形式如下
則直接可達,路徑為1
的關係有,<1,2>,<2,3>…
,矩陣中元素和(含1
的個數)=5。
路徑為2
的關係有<1,3>,<1,5>,<2,2>…
,矩陣中元素和=5;
依次計算下去。
由於存在<2,3>,<3,2>
這種情況,因此<1,4>
的路徑可以是3,5,7
等等,這種情況只需要取最短的3
即可(可能有更好的方法,我沒有細緻考慮,應該會有讓計算快速收斂的更好方法)。同時如果不斷求乘積的過程中,可達關係均為已經出現過的,或者均為0
的情況下,則計算終止。
最後,計算總的路徑數:
同時計算總的具有可達關係的關係數總和r
(例如<4,5>
不是可達,因此這個關係不計入在r
中,<1,2>
等類似關係計入在r中)
則web
直徑可以用r/p
求得。
在實際處理中,可以採用一些方法來優化矩陣的計算,有文獻表明目前的可以公開訪問的網際網路網頁超過200
億。因此如果做計算的話200
億的規模過於巨大,可以進行一些取樣。同時可以借助矩陣的稀疏性做一些優化。例如:
可以給每個節點做乙個鄰接表(
每個節點拉出乙個list
,每個元素是它link
到的page)
1->2 (->
看做1跳可達,key=1
,value=2)
2->3,5
3->2,4
這樣做a*a
的過程可以轉化為
1->2 and 2->3,4 >> 1=>3,4
(=>
看做2跳可達)
2->3,5 and 3->2,4 >> 2=>2,2=>4
3->2,4 and 2->3,5 >> 3=>5
餘不例舉,這樣相當於僅儲存有效邊,在計算中連線表均為順序儲存,且key
可以支援隨機讀取因此可以大大加速。同時還可以做分塊話的處理,可以支援多機平行計算,不在深入,有機會會就這一方面主題作專題**。
另外,指出問題中的乙個問題,web
直徑的大小是測量出來的,並不是證明出來的,就好像萬有引力定律的那個係數一樣,也是測量出來的,並無辦法證明,當然這可能有什麼更深入的自然原理,可以證明,但就人類目前認識來說,類似的值均是測量測定的,還很難做出證明。
關於web
直徑的最早測定**於:
albert, jeong, and barabasi 99.r. albert, h. jeong, and a.-l. barabasi. diameter of the world wide web, nature 401:130-131, sep 1999.
在這篇**中,作者通過計算擬合出這樣的公式
:web直徑=
0.35+2.06log(n),目前網頁數量發展很快,新的計算和測定,據我了解,還沒有進一步的資料,
推薦閱讀:
關於樹的直徑
題解 1.樹的直徑有一種找法是找兩次最遠點 於是這可以證明乙個性質 樹上乙個點到最遠點的距離等於到一條直徑兩個端點的較大值 2.合併兩顆樹的時候,新樹的直徑為兩顆樹的4個直徑兩兩組合的最大值 有多條取一條就可以 3.另乙個性質 樹的所有直徑一定有乙個公共交點 對於兩條,我們很好證,只需要找到他們之間...
關於一建掛靠問題的解答
一級建築師掛靠需要哪些材料?答 找到掛靠單位後,需要提供 建造師資格證書,學歷證書,身份證,給掛靠單位,然後掛靠單位去報註冊。一級建造師掛靠什麼專業價錢最高?答 一般市政專業最高,機電 公路次之。地區不同,一年費用在4 6w 之間。一級建造師多個證書可以分開掛嗎?答 只能掛靠在同乙個單位,不能分開掛...
關於指標的幾個問題與解答
這幾天一直在理解這幾個概念。假如我宣告了乙個指標,它占用記憶體不,有沒有位址。如果只宣告,不初始化,值是沒有還是值隨機。普通變數也是。利用指標在函式之間進行通訊,應該怎樣才能正常通訊。指標和陣列名 字串名能完全等價嗎?一 宣告即有位址,指標的位址是什麼型別 如果我宣告了乙個指標,那麼他就是乙個指標變...