🧠 COMPUTER SCIENCE

Алгоритм PageRank: как Google решает, кто важнее

В интернете миллиарды страниц, а на первом месте в поиске оказывается всего одна. Кто решает, какая? Когда-то это решал алгоритм с простой и дерзкой идеей: важность можно вычислить, если посчитать, кто на тебя ссылается.

Представь, что ты ищешь в Google слово «пицца» и получаешь миллион страниц. Кто-то ведь решил, что именно эта окажется первой, а вот та — на девятисотой. Долгое время за этот выбор отвечал алгоритм с обманчиво простой идеей: важность сайта можно вычислить математикой. Давай разберёмся, как.

Проблема, с которой начался Google

В конце 1990-х интернет рос как на дрожжах, и поисковики тонули в страницах. Большинство из них работали тупо: ищешь «пицца» — покажем те сайты, где это слово встречается чаще всего. Звучит логично? На деле получалась катастрофа. Любой хитрец мог написать слово «пицца» на странице тысячу раз белым по белому — и вылезти в топ, даже если сайт был полным мусором.

Два аспиранта Стэнфорда, Ларри Пейдж и Сергей Брин, посмотрели на это и задали другой вопрос. Не «где слово встречается чаще», а «какая страница вообще важнее». И придумали способ это измерить. Алгоритм назвали PageRank — отчасти в честь фамилии Пейджа, отчасти потому, что он ранжирует страницы (page по-английски).

Ссылка как голос

Главная идея PageRank звучит так: каждая ссылка с одной страницы на другую — это голос. Если на твой сайт ссылаются другие сайты, значит, они как бы говорят: «Эй, тут полезно, сходи посмотри». Чем больше таких голосов — тем важнее страница.

Но Пейдж и Брин добавили хитрый поворот, без которого вся затея не сработала бы. Голоса не равны между собой. Голос от авторитетной страницы весит куда больше, чем голос от никому не известной.

Важна не сама страница, а то, кто на неё ссылается. Ссылка от важного сайта — как рекомендация от уважаемого человека.

Представь школу. Идут выборы старосты. Можно посчитать просто: у кого больше голосов, тот и выиграл. Но что, если за одного кандидата проголосовали тридцать первоклашек, которых он угостил конфетами, а за другого — директор, завуч и три самых уважаемых учителя? PageRank сказал бы: второй важнее, хотя голосов у него меньше. Потому что важен не только счёт голосов, но и вес тех, кто голосует.

Откуда страница берёт свой вес

Тут возникает занятный замкнутый круг. Чтобы понять, насколько важна страница А, надо знать, насколько важны страницы, которые на неё ссылаются. А чтобы понять их важность — надо знать важность тех, кто ссылается уже на них. И так далее. Получается, что важность каждой страницы зависит от важности всех остальных одновременно.

Звучит как тупик, но математика умеет такое распутывать. PageRank делает это шаг за шагом:

  • Сначала всем страницам дают одинаковую важность — будто стартуют поровну.
  • Каждая страница «раздаёт» свою важность тем, на кого ссылается, поровну между всеми своими ссылками.
  • Все страницы пересчитывают свой вес, собрав то, что им пришло от других.
  • Этот пересчёт повторяют снова и снова — десятки раз.

С каждым повтором числа уточняются всё точнее, пока не перестают заметно меняться. Этот момент, когда всё устаканилось, математики называют сходимостью. Вот тогда у каждой страницы и появляется её итоговый PageRank.

Случайный сёрфер: красивый образ внутри формулы

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

Вопрос: на каких страницах этот сёрфер будет оказываться чаще всего? Очевидно, на тех, к которым ведёт больше путей, на которые ссылается больше важных сайтов. PageRank страницы — это, по сути, вероятность, что случайный сёрфер окажется именно на ней в случайный момент времени.

Но есть нюанс. Иногда сёрфер заходит в тупик: попадает на страницу без ссылок или просто устаёт ходить по одной цепочке. Что он делает? Закрывает всё и набирает в адресной строке какой-то случайный сайт — начинает заново. В алгоритме это называется фактором затухания (обычно его берут около 0,85). Грубо говоря, в 85 случаях из 100 сёрфер идёт по ссылке, а в 15 — перепрыгивает на случайную страницу. Без этого трюка алгоритм застревал бы в ловушках сети и считал неправильно.

Почему это изменило интернет

PageRank сделал поиск Google резко точнее остальных — и компания взлетела. Но штука оказалась шире, чем просто поиск. Идея «важность определяется тем, кто на тебя ссылается» работает повсюду, где есть связи между объектами.

  • В науке так оценивают, насколько влиятельна статья — по тому, кто её цитирует.
  • В соцсетях похожие методы ищут самых влиятельных людей по тому, кто на них подписан.
  • Биологи применяли подобные идеи, чтобы находить ключевые белки в сложных клеточных сетях.

Сегодня Google использует уже сотни сигналов, и PageRank — лишь один из них, далеко не главный. Но именно он показал важную мысль: репутацию можно посчитать. Не спрашивая ни у кого напрямую, а просто внимательно глядя на то, кто на кого ссылается. Иногда самые мощные идеи — это не сложные, а те, что ловко смотрят на привычное под новым углом.

#google#pagerank#алгоритмы#графы#поиск
Понравилась статья?
В Telegram-канале — лучшее из журнала и анонсы новых учебников.