mirror of
https://github.com/apachecn/ailearning.git
synced 2026-05-07 22:24:18 +08:00
18 lines
467 B
Python
18 lines
467 B
Python
|
|
def PersonalRank(G, alpha, root):
|
|
rank = dict()
|
|
rank = {x:0 for x in G.keys()}
|
|
rank[root] = 1
|
|
for k in range(20):
|
|
tmp = {x:0 for x in G.keys()}
|
|
for i, ri in G.items():
|
|
for j, wij in ri.items():
|
|
if j not in tmp:
|
|
tmp[j] = 0
|
|
tmp[j] += 0.6 * rank[i] / (1.0 * len(ri))
|
|
if j == root:
|
|
tmp[j] += 1 - alpha
|
|
rank = tmp
|
|
return rank
|
|
|