佩奇排名是根據頁面之間的連接結構計算頁面的值的一種算法。下面咱們經過動畫來理解進行計算的具體流程。算法
假設一個正方形表示一個 WEB 頁面,一個箭頭表示一個頁面之間的連接。網絡
在佩奇排名算法中,網頁指向的連接越多,頁面被肯定爲越重要。動畫
所以,在這裏,肯定首頁最重要。spa
實際上,每一個頁面的重要性都是經過計算來量化的。code
1.未連接的頁面分數爲 1blog
2.有連接的頁面得分爲正在連接的頁面的總得分rem
3.當有多個網頁的連接時,連接分數均勻分佈it
4.來自高度連接網頁的連接具備很高的價值class
該圖中心頁面有三個獨立頁面指向它的連接,因此它的分數是 3 。
首頁有一個很大的分數,由於連接是從分數爲 3 的頁面指向它的。互聯網
在動畫中的六個頁面中,判斷最上面的頁面是最重要的頁面----這是佩奇排名的基本思想。
若是按照順序來計算每一個頁面的分數時,那麼就會出現問題:以這種方式計算,它將無限循環,而且在循環中的頁面得分在任何地方都會很高。
循環的問題能夠經過「隨機遊走模型」的計算方法來解決。
以小豬佩奇瀏覽網頁爲例。
小豬佩奇開始訪問「五分鐘學算法」中有趣的頁面,那麼從這個左下角頁面開始。
它們跟隨一個連接並移動到另外的一個頁面,看了一些以後,發現不敢興趣了,這樣就中止了瀏覽。
而後,又一天,它在小吳的推薦下,在徹底不一樣的頁面進行瀏覽,跟隨一個連接並移動到另外的一個頁面,一旦失去興趣就中止瀏覽。
像這樣,重複從某個頁面開始瀏覽,移動幾頁後便中止的操做,若是從互聯網空間一側進行觀察,就像網頁瀏覽的人:重複移動頁面幾回後傳送到一個徹底不一樣的頁面。
假設 1 - α
表明選擇當前頁面中的一個連接的機率。
α
表明該人將傳送到其餘頁面的機率。
如今用 隨機遊走模型 處理上述的循環問題。
若是總頁面訪問次數達到1000次以後,使用百分比進行表示:那麼這個值就表示「在某個時間點查看頁面的機率」。
### 更實用的計算方法
如圖所示,如今來嘗試計算複雜的連接網絡中每一個頁面的分數。
如今均勻設置分數,使總分加起來爲 1 。然後根據網頁瀏覽者的移動,來計算每一個頁面的機率。
移動 n 次時出如今 A 中的機率表示未PAn
,移動 n 次時出如今 B 中的機率表示未PBn
。
舉一個例子,在移動 1 次以後求在 A 的機率 PA 1
。
在 C 選擇移動的機率是 1-α
。
其中,移動到 A 的一種場景是,C 中的佩奇選擇了移動而不是傳送。另外,這裏選擇了 A 而不是 B 做爲目的地。
而且,根據上面的 當有多個網頁的連接時,連接分數均勻分佈
這條規則,從 A 或 B 選擇 A 的機率是 0.5 。
所以,從 C 移動到 A 的機率是 PC0 ✖️ (1-α) ✖️ 0.5
。
A 被選爲傳送目標的機率是 0.25 ,根據前面的理論:在 A、B、C、D 中小佩奇選擇傳送的機率爲 α
。所以,經過傳送移動到 A 的機率爲 α ✖️ 0.25
。
因此,移動一次後在 A 的機率爲 PA1 = PC0 ✖️ ( 1 - α ) ✖️ 0.5 + α ✖️ 0.25
其中 PC0 = 0.25
, α = 0.15
,代入計算後 PA1 = 0.14375
。
這樣,經過計算後 B 、 C 、D 頁的機率也更新了。
上面在移動 1 次以後這四個頁面的機率更新狀況,根據上述相同的方法計算 2 次後小佩奇瀏覽在每一個頁面的機率。
一樣的,通過大量的移動,在每一個頁面上的機率逐漸趨於固定值。當數值固定是,計算也就完成了。
佩奇排名就是這樣一種經過訪問機率代替連接的權重來計算的機制。