| 3axapoB ( @ 2006-05-16 10:20:00 |
| Entry tags: | lj |
занимательный псевдо PageRank
Придумал простое объяснение системе поиска друзей с использование локализованого PageRank из этого поста (хе-хе, уже больше 4000 по счетчику). Итак, почему вообще друзья друзей должны быть интересны данному пользователю? По причине того, что людям свойственно кластеризоваться и формировать сообщества, потому что зачастую друг друга - тоже друг. Отобрать подобных друзей можно просто - считая количество появлений в списке друзей своих друзей и выбрать самых популярных. Однако, люди разные и у некоторых пользователей в списке друзей может быть 750 человек, а других - только 10, что приводит к несколько непропорциональному голосованию. Требование корректного взвешивания и приводит к простому алгоритму, родственному т.н. алгоритму PageRank, который патентован Google, но на самом деле обычное случайное блуждание по сетям.
Его работу можно объяснить простыми словами. Допустим мы подбираем друга для юзера X среди друзей его друзей. Представим, что мы даем ему 1000 рублей и заставляем его раздать их поровну своим друзьям. Следующим шагом заставляем его друзей распределить полученные деньги между своими друзьями. Часть денег попадет друзьям друзей X, который не прямые друзья X, которым мы разрешим оставить деньги себе, а остальная часть вновь окажется у X и его друзей, которых мы снова заставим распределить поровну. И так будем продолжать, пока большая часть не перейдет друзьям друзей (все 1000 рублей скорее всего никогда не окажутся у них). Тогда, сумма, накопленная каждым из этих пользователей и определит его PageRank score, который и можно использовать как мерило популярности. Очевидно, что данный метод также учитывает популярность друзей X и дает им соответствующие возможности поднимать рейтинги своих друзей.
Надеюсь понятно изложил :)