Объяснив, что такое вес PageRank, т. е. что вы узнаёте, когда получаете информацию о нем, и насколько он важен… в этом разделе я расскажу вам примерно как он вычисляется. Знать это не обязательно, однако, если вы поймете это, вы будете лучше понимать, как следует его применять.

Когда Google был только исследовательским проектом, его основатели С. Брин и Л. Пэйдж написали статью, подробно описывающую формулу, которая определяет вес PageRank для страницы. Хотя они, возможно, уже не используют в точности эту формулу, она представляется достаточно корректной для сегодняшних целей. Вот она:

PR(A) = (1-d) + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn)),

где PR(A) — это вес PageRank страницы A (тот вес, который мы хотим вычислить),

D — это коэффициент затухания, который обычно устанавливают равным 0,85,

PR(T1) — вес PageRank страницы, указывающей на страницу A,

C(T1) — число ссылок с этой страницы,

PR(Tn)/C(Tn) означает, что мы делаем это для каждой страницы, указывающей на страницу A

Жуть! Для тех из вас, кто не является математиком, здесь есть полная информация по этой формуле — вы не можете просто вычислить вес PageRank за один прием, как показано тут. Чтобы вычислить вес PageRank страницы A вам понадобится знать веса PageRank всех страниц, указывающих на страницу A. Их веса PageRank будут частично зависеть от страницы A, указывающей на них, либо каких-то других страниц, ссылающихся на них. Какая глупая формула. Что она нам говорит, так это одну очень важную вещь о весе PageRank любой страницы:

Вес PageRank, передаваемый на страницу A со страницы B, которая указывает на нее, уменьшается с каждой ссылкой куда-нибудь, которая находится на странице B. Это означает, что вес страницы, по существу, это мера ее голоса; страница может разделить этот голос между одной, двумя или многими ссылками, но общая голосующая сила будет всегда той же самой.

Сейчас забудьте формулу на некоторое время, потому что легче рассмотреть пример реализации, который очень похож на PageRank. Он должен помочь нам лучше понять PageRank. Назовем его MiniRank.

Структура ссылок между страницами сайта

Вначале мы не знаем, какие веса MiniRank у этих страниц, поэтому мы их просто присвоим. Для простоты, мы выберем число один. В результате диаграмма становится…

Структура ссылок между страницами сайта перед первой итерацией

Все еще легко! Сейчас вспомните правила передачи веса. Вначале мы применяем коэффициент затухания. (Коэффициент затухания, в основном, говорит о том, что страница не может голосовать так, чтобы другая страница была столь же важна, как она сама. Это означает, что страницы, к которым труднее добраться в Web, менее важны.) Затем мы делим сохранившийся вес на число ссылок. Мы подсчитываем итоговый вес, который должен быть добавлен ко всем до единой страницам, перед тем как мы окончательно его прибавим.

Итак, глядя вначале на страницу A, видим, что значение веса MiniRank, доступное для передачи, после затухания равно 1 * 0,85 = 0,85. Со страницы ведут две ссылки, поэтому, по окончании итерации, мы добавим 0,425 к весу MiniRank страницы B и 0,425 к весу MiniRank страницы C. Мы не можем сделать это до тех пор, пока мы не рассчитали все ссылки страницы, потому что это повлияет на результаты.

Перейдем к странице B. Она содержит только одну ссылку. Поэтому, она передаст 1 * 0,85 = 0,85 странице C, когда мы сделаем все вычисления для ссылок. Страница C также имеет одну ссылку. Поэтому она передаст вес 1 * 0,85 = 0,85 странице A. Страница D имеет одну ссылку, поэтому она передает 0,85 странице C.

Сейчас мы можем добавить все суммы ко всем весам страниц.

Структура ссылок между страницами сайта после первой итерации

Новые значения весов MiniRank показывают, сколь важна страница C. Но мы еще не завершили. Поскольку все страницы начали с одного значения, по правде говоря, мы вычислили только популярность в ссылках (link popularity). Суть PageRank и MiniRank такова, что страницам, на которые чаще ссылаются, следует получить больше голосов; поэтому мы должны проделать то же самое еще раз! На этот раз страница C имеет большее влияние, потому что ее текущий вес MiniRank выше.

Так, посмотрим на страницу A вначале. Ее текущий вес MiniRank равен 1,85. Величина MiniRank, доступная для передачи, после применения затухания составляет 1,85 * 0,85 = 1,5725. Есть две ссылки со страницы, поэтому по завершению итерации мы добавим 0,78625 к весу MiniRank страницы B и весу MiniRank страницы C.

Перейдем к странице B. У нее есть только одна ссылка. Следовательно, она передаст 1,425 * 0,85 = 1,21125 странице C, когда мы завершим все вычисления со ссылками. Страница C также имеет одну ссылку, но при этом обладает огромным весом 3,125 MiniRank. Поэтому она передаст 3,125 * 0,85 = 2,65625 странице A. Страница D имеет одну ссылку, поэтому она передает 0,85 странице C.

Мы получаем…

Структура ссылок между страницами сайта после второй итерации

Мы уже можем видеть то, что следовало ожидать: страница C имеет наибольший вес MiniRank, страница A — следующий по величине. На практике нам нужно было бы повторить эти действия от 50 до 100 раз, чтобы гарантировать, что низкая точность предыдущих итераций сведена на нет. Просто!

По материалам Chris Ridings, www.searchenginesystems.net.