[[ 0. 0.5 1. 0. ]
[ 0.33333333 0. 0. 0.5 ]
[ 0.33333333 0. 0. 0.5 ]
[ 0.33333333 0.5 0. 0. ]]

``````from numpy import *
import numpy as np
a = array([[0, 1, 1, 0],
[1, 0, 0, 1],
[1, 0, 0, 1],
[1, 1, 0, 0]], dtype=float)

def graphMove(a):
b = transpose(a)  #
c = zeros((a.shape), dtype=float)
for i in range(a.shape[0]):
for j in range(a.shape[1]):
c[i][j] = a[i][j] / max((b[j].sum()),1)
return c

def firstPr(c):
pr = zeros((c.shape[0], 1), dtype=float)
for i in range(c.shape[0]):
pr[i] = float(1) / c.shape[0]
# print pr,"\n==================================================="
return pr

def pageRank(p, m, v):
vv=v
while (sum((p * dot(m, v) + (1 - p) * v-v)**2)>1e-9):
print(sum(p * dot(m, v) + (1 - p) * v-v)**2)
v = p * dot(m, v) + (1 - p) * v
print (v)

return v

if __name__ == "__main__":
M = graphMove(a)
print(M)
pr = firstPr(M)
print(pr)
p = 0.8
print pageRank(p, M, pr)
``````

[[ 0. 0.5 1. 0. ]
[ 0.33333333 0. 0. 0.5 ]
[ 0.33333333 0. 0. 0.5 ]
[ 0.33333333 0.5 0. 0. ]]
[[ 0.25]
[ 0.25]
[ 0.25]
[ 0.25]]

3.08148791102e-33
[[ 0.333328]
[ 0.222224]
[ 0.222224]
[ 0.222224]]

`````` [[ 0.          0.5         0.          0.        ]
[ 0.33333333  0.          0.          0.5       ]
[ 0.33333333  0.          0.          0.5       ]
[ 0.33333333  0.5         0.          0.        ]]
``````

4.77908611974e-09
[[ 4.64238536e-05]
[ 6.76593827e-05]
[ 6.76593827e-05]
[ 6.76593827e-05]]

`````` def pageRank(p, m, v):
e=v
while (sum((p * dot(m, v) + (1 - p) * e-v)**2)>1e-9):
print(sum(p * dot(m, v) + (1 - p) * e-v)**2)
v = p * dot(m, v) + (1 - p) * e
print (v)

return v
``````

4.58712913112e-09
[[ 0.10136897]
[ 0.12840406]
[ 0.12840406]
[ 0.12840406]]

`````` [[ 0.          0.5         0.          0.        ]
[ 0.33333333  0.          0.          0.5       ]
[ 0.33333333  0.          1.          0.5       ]
[ 0.33333333  0.5         0.          0.        ]]
``````

4.77908611974e-09
[[ 4.64238536e-05]
[ 6.76593827e-05]
[ 6.76593827e-05]
[ 6.76593827e-05]]

SUM=p其他网页对该网页的引用数+q该网页对其他网页的引用数

### 推荐阅读更多精彩内容

• 国家电网公司企业标准（Q/GDW）- 面向对象的用电信息数据交换协议 - 报批稿：20170802 前言： 排版 ...
庭说阅读 9,028评论 6 13
• 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行（line），也就是一...
悟名先生阅读 3,543评论 0 13
• 删掉重新来一次吧，记得改那个脚本修改 /home/ubuntu/eos/scripts/install_depen...
卢衍泓阅读 766评论 0 1
• 一、市场分析 O2O的移动外卖已经成为大众点餐的主要方式之一，满足了用户足不出户就能享受美食的需求，作为传统快餐文...
isjasmine阅读 13,954评论 0 10
• 2017年7月8日 亲爱的天父爸爸，您带着复兴的器皿回到厦门，回到家中，复兴万事！感恩爸爸把我带到与您的亲密关系中...
陈小兰阅读 108评论 0 0
• Cata，字典里的意思是“down”；catacombs是“地下墓地”的意思。 人们今天虽然这么叫它，但是它的前身...
楚色阅读 445评论 0 1