Как взвешенные ребра влияют на PageRank в сети? - PullRequest
19 голосов
/ 04 февраля 2012

Я играю с networkx (библиотекой графов на python), и я нашел документацию, в которой говорится, что алгоритм PageRank учитывает веса ребер при оценке, но мне было интересно, были ли лучше большие ребра или лучше меньшие?

1 Ответ

26 голосов
/ 05 февраля 2012

Вскоре большие веса лучше подходят для входящих узлов.

PageRank работает с ориентированным взвешенным графом. Если страница A имеет ссылку на страницу B, то оценка для B увеличивается, т. Е. Чем больше входных данных для страницы B (узла), тем выше ее оценка.

Статья в Википедии на PageRank для получения более подробной информации.

Редактировать : давайте проведем эксперимент. Создайте ориентированный граф с 3 узлами и двумя направленными ребрами с одинаковыми весами.

import networkx as nx
D=nx.DiGraph()
D.add_weighted_edges_from([('A','B',0.5),('A','C',0.5)])
print nx.pagerank(D)

>> {'A': 0.259740259292235, 'C': 0.3701298703538825, 'B': 0.3701298703538825}

Теперь увеличьте вес ребра (A, C):

D['A']['C']['weight']=1
print nx.pagerank(D)    

>> {'A': 0.259740259292235, 'C': 0.40692640737443164, 'B': 0.3333333333333333}

Как видите, узел C получил более высокий балл с увеличением веса входящего фронта.

...