2013-02-16 2 views
1

페이지 랭크 알고리즘은 가장자리에 가중치가 없다고 가정합니다. 그래서 표준 공식은 다음과 같습니다가중치가 적용된 그래프 (순차 또는 BSP)의 PageRank 수식

PR(A) = (1 - d)/N + d*\sigma PR(E)/L(E) 
당신이 여기에서 볼 수 있듯이 E는 페이지 A.

를 가리키는 각 페이지입니다 L (E)이 페이지 E의 나가는 링크의 수는

, 가중치 A에 오는 모서리의 수는 수식에서 고려되지 않습니다.

두 질문 :

A) 우리는 더 높은 무게 파이썬에서 더 나은 (networkx 패키지 가중 가장자리를 고려 않음을 가정하는 들어오는 각 에지의 무게를 고려하면 조정 된 공식이 될 것이나, 무엇 코드는 위의 수식보다 훨씬 더 복잡합니다. 더 간단한 솔루션이 있는지 확인하는 것이 더 낫습니다)

b) 실제로 프레임 워크와 같은 BSP Pregel을 원합니다. BSP Pregel style implementation이 있지만 볼 수 있듯이 가장자리의 가중치는 고려하지 않습니다. 제안 할 수 있다면 그럴 것입니다.

답변

0

먼저 모든 에지 가중치를 이웃 노드에 추가 한 다음 노드 순위의 백분율을 이웃 노드로 보내는 것이 좋습니다.

예 : 노드는 (10)의 랭크를 갖는다 고 2 개 이웃 그들 에지 이렇게하면 발광 70 에지 웨이트를 가진 제 1 노드 (100) 일 것 (70)의 중량과 합계 30. 가 있습니다 순위 7, 다른 하나 3

0

Java 구현 인 WeightedPageRank here이 있습니다. 나는 그것을 시도하지 않았지만 근원을 빨리 읽은 후에 그것은 당신의 요구 사항과 일치하는 것으로 보인다.

+0

감사합니다. 나는 merando가 제공하는 간단한 접근법부터 시작할 것입니다. – RAbraham