더북(TheBook)

페이지 랭크 randomsurfer.py 시뮬레이션은 간단하다. 그래프를 따라 무작위로 지정한 이동 횟수만큼 이동하는 것이 전부이다. 혼합 현상 때문에 반복 횟수를 늘리면 랜덤 서퍼가 각 페이지에 도달할 추정 확률(페이지 랭크)에 더 가까워진다. 문제에 대해 처음에 들었던 생각과 시뮬레이션 결과를 비교해보면 어떤가? 페이지 4의 랭크가 가장 낮을 거라고는 생각했겠지만, 페이지 0과 1이 페이지 3보다 랭크가 높을 것이라고 예상했었는가? 어느 페이지의 랭크가 가장 높은지 알고 싶으면 정밀도와 정확성을 높여야 한다. randomsurfer.py 프로그램이 소수점 d자리까지 정확한 답을 구하려면 10d 횟수만큼 페이지를 이동해야 하며, 정확한 값에 안착하려면 훨씬 더 많이 이동해야 한다. 예를 들어 소수점 둘째 자리까지 정확한 값을 얻으려면 수만 번 이동해야 하면 소수점 셋째 자리까지 정확한 값을 얻으려면 수백만 번 이동해야 한다([연습문제 1.6.5] 참조). 결론적으로 27.3퍼센트 대 26.6 퍼센트로 페이지 0이 페이지 1을 앞선다. 이렇게 작은 문제에서 이렇게 작은 차이가 나타날 수 있다는 것이 상당히 놀랍다. 페이지 0에 도달할 확률이 가장 높다고 예상했다면 운이 좋았던 것이다!

웹 페이지의 정확한 페이지 랭크 예측은 여러 가지 이유로 중요한 작업이다. 먼저 웹 검색 결과에 따라 페이지들을 랭크 순서대로 나열하면 기존 다른 방법보다 사용자의 기대를 더욱 만족시켜줄 수 있다. 다음으로 신뢰성 있는 척도를 제공하므로 페이지 랭크에 기반한 웹 광고에 많은 돈을 투자하게 만든다. 우리 예제처럼 아주 작은 예에서도 페이지 랭크를 이용해 페이지 4보다 페이지 0에 광고를 넣으면 4배나 많은 광고비가 드는 이유를 광고주에게 설득시킬 수 있다. 페이지 랭크 계산은 수학 문제이자, 컴퓨터 과학에서 흥미를 갖게 만드는 문제로서, 커다란 사업 기회를 제공한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.