Гораздо более надежное решение, позволяющее найти наилучший метод расстановки разных биографий Гаусса по значимости в списке выдачи поискового запроса, придумали два стэнфордских аспиранта, работавшие в гараже в городе Менло-Парк, – Ларри Пейдж и Сергей Брин. Они решили использовать следующую хитроумную тактику: пусть сам интернет решает, какие страницы наиболее важны. Идея состояла в том, что значимость веб-сайта можно оценить по числу ссылок на него на других веб-сайтах. На достоверную страницу с подробным изложением биографии Гаусса, вероятно, должны ссылаться другие веб-сайты, имеющие отношение к этой теме.
Но, если значение веб-сайта оценивается просто по количеству ссылок с других сайтов, у меня по-прежнему есть простой способ поднять мой лживый сайт на вершину списка выдачи. Если я сделаю тысячи фальшивых сайтов со ссылками на мою страницу с «биографией Гаусса», эта страница будет казаться наиболее значимой из всех.
У Пейджа и Брина была стратегия и против такого мошенничества. Веб-сайт сможет занять высокое положение в рейтинге, только если сайты, ссылающиеся на него, тоже занимают высокое положение. Но погодите. Кажется, тут получается порочный круг. Мне нужно знать, какие из сайтов, содержащих ссылки на мою биографию Гаусса, обладают высокой значимостью. Но и их значимость порождается ссылками на них на сайтах высокой значимости. Похоже, я попадаю в бесконечную регрессию.
Чтобы разрешить это противоречие, нужно было изначально присвоить всем веб-сайтам одинаковый статус. Пусть с самого начала у каждого веб-сайта будет десять звездочек. Но затем мы начинаем перераспределять звездочки. Если на некотором веб-сайте есть ссылки на пять других сайтов, отдадим каждому из них по две звездочки этого сайта. Если он содержит ссылки всего на два сайта, каждый из этих двух получит по пять его звездочек. Хотя исходный сайт раздает таким образом все свои звездочки, есть надежда, что он получит некоторое количество новых от других веб-сайтов, которые на него ссылаются.
Продолжая перераспределять звездочки, передавая их от одних сайтов другим, мы начинаем замечать господствующие сайты, которые собирают все больше и больше звездочек. Вскоре станет казаться (и вполне справедливо), что моя страница, на которую просто ссылается тысяча фальшивых сайтов, – всего лишь подделка. После первого же раунда передачи звездочек все сайты этой тысячи останутся без них и уже не смогут поддерживать статус моей поддельной страницы. Ее запас звездочек тоже очень быстро иссякнет, и она провалится на самый низ списка сайтов, которые оценивает алгоритм. Практическое осуществление этой идеи требует еще некоторой работы, но именно к ней сводится основной принцип ранжирования веб-сайтов в Google.
Однако для анализа перемещений звездочек по сети нужны вычислительные мощности и время. Но Брин и Пейдж поняли, что при составлении рейтингов можно воспользоваться одним шорткатом. На старших курсах университета их познакомили с одной довольно эзотерической и мудреной областью математики, в которой речь идет о так называемых «собственных значениях матриц».
Этот математический инструмент предназначен для выявления в различных динамических системах частей, остающихся неизменными. Впервые его использовал Эйлер в применении к вращающемуся шару. Если взять глобус, на поверхности которого нарисованы страны Земли, то как бы вы ни вращали и ни крутили его в руке, в его конечном положении всегда можно выбрать две противоположные точки, такие, что поворот вокруг оси, проведенной через эти точки, вернет глобус в начальное положение. По сути дела, это означает, что любое изменение ориентации глобуса может быть сведено к простому повороту вокруг некоторой оси.
Собственное значение матрицы дает как доказательство того факта, что такая ось вращения всегда существует, так и метод определения двух неподвижных точек, через которые она проходит. Эта методика позволяет находить неподвижные точки в поразительно разнообразных динамических системах. Например, собственные значения матриц играют центральную роль в нахождении устойчивых энергетических уровней квантовых систем. Они также имеют ключевое значение для определения резонансных частот музыкальных инструментов.
Брин и Пейдж осознали, что в тех же собственных значениях заключается секрет выявления устойчивых распределений звездочек после их распределения по сети. Если собственные значения находят стабильные энергетические уровни в атоме или неподвижные точки на сфере, они точно так же помогают понять, как раздать звездочки таким образом, чтобы их число не слишком сильно изменялось при дальнейшем перераспределении по сети. Так вместо итерационного процесса, в котором приходится дожидаться, пока система достигнет равновесия, можно вычислить рейтинг любого сайта в интернете, воспользовавшись удобным шорткатом матричных собственных значений.