실습 · 연습문제 1개
인용 그래프의 PageRank citation-pagerank
논문 편의 인용 관계가 행렬 A(shape (n, n))로 주어진다. A[j, i] = 1이면 논문 가 논문 를 인용한다. 즉 열 는 논문 의 참고문헌 목록이다.
pagerank(A, d=0.85, tol=1e-12, max_iter=1000)을 완성한다.
- 열마다 합이 1이 되도록 나눠 전이행렬 를 만든다. 참고문헌이 하나도 없는 논문(열의 합이 0)의 열은 모든 논문에 씩 나눠 준다.
- 를 반복한다. 시작값은 이다.
- 이전 값과의 차이의 절댓값 합이
tol보다 작아지면 멈추고, shape(n,)의 을 반환한다.
테스트는 결과의 합이 1인지, 대칭인 그래프에서 모든 값이 같은지, 반복의 고정점 식을 만족하는지, 참고문헌이 없는 논문이 있어도 값이 정의되는지, 그리고 피인용 수가 같아도 중요한 논문에게 인용된 논문이 더 높은 값을 받는지 확인한다.