Алгебраическое представление графа. Алгоритмы ранжирования Яндекс: история развития Описание алгоритма ранжирования отсчетов

PageRank - это числовая величина, характеризующая «важность» веб-страницы сайта. Чем больше ссылок ведет на страницу сайта и чем они более качественнее, тем страница становится «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank - это метод вычисления веса страницы с помощью подсчёта важности ссылок на неё.

Этот метод расчета запатентовали разработчики и сооснователи поисковой системы Google Сергей Брин и Ларри Пейдж. Более подробно ознакомиться с текстом исследования (на английском языке). На русском языке .

Что такое вес страницы сайта?

Под весом страницы степень ее важности. Если проводить аналогию с человеческими отношениями, то фраза "его слово имеет вес" будет отражать суть понятия "вес страницы сайта".

Вес страницы выражается в конкретных цифрах и его можно рассчитать.

Условно, вес страницы бывает двух видов:

  1. Статический вес (определенная цифра), который вычисляется на основании запросонезависимых факторов - это все факторы, которые не имеют отношения к поисковом запросу. Например, возраст сайта, его страниц, дата индексации страниц, количество внутренних и внешних ссылок, ведущих на страницу.
  2. Динамический вес, который вычисляется на основании запросозависимых факторов - это все факторы, который связаны с поисковым запросом (текстом). Текст запроса сопоставляется с текстом страницы сайта, поэтому, запросозависимые факторы это те, которые в первую очередь зависят от текстовых элементов страницы - ее заголовка title, описания description, текста на ней, анкоров (текстов) ссылок, которые указывают на нее и исходят с нее.
Алгоритм PageRank определяет статический вес страницы, а не динамический. Иначе говоря, статический вес страницы - это и есть ее PageRank. На сайте может быть страница без контента, но если на нее ведет хотя бы одна ссылка, то она будет иметь статический вес.

Статический вес считается поисковиками в фоновом режиме и присваивается странице сайта. Спустя определенное время он пересчитывается. Динамический вес считается не в фоновом режиме, а на лету, когда пользователь отправляет поисковый запрос поисковой системе для поиска результатов.

Как выглядит формула PageRank?

Никто точно не знает, как на самом деле Google рассчитывает PageRank. Но можно ориентироваться на эту формулу, предложенную Сергеем Брином и Ларри Пейджом в их исследовании.

PR(A)=(1-d)+d(PR(T_1)/C(T_1) +⋯+PR(T_n)/C(T_n)) , где

PR(A) - вес страницы-акцептора A (на которую проставлена ссылка)

PR(T_n) - вес страницы-донора, ссылающейся на страницу A (с которой проставлена ссылка)

C(T_n) - число ссылок со страницы-донора

D - коэффициент затухания, обычно принимается равным 0,85. В вероятностной модели он подразумевает, что пользователь не перейдет по ссылке вообще, а закроет страницу сайта. Такому событию присвоили вероятность равной 15 %. Остальные 85 % отданы ссылкам.

1-d - элемент, который нужен для того, чтобы формула не занулилась, если вес ссылающихся страниц-доноров будет равен 0. Это означает, что даже самая незначительная страница сайта может передавать какой-то минимальный вес по ссылке.

Формулу можно записать в таком виде

Вес страницы-акцептора сайта равен сумме весов, передаваемых по ссылкам от страниц-доноров к странице акцептору.

Пример

Если продвигается сайт в тематике по продаже рулонных штор, то нам нужно найти страницы на сайтах-донорах с высоким PageRank. При аутриче я не анализирую значение PageRank каждой страницы сайта, с которым хочу провести аутрич, т.к. такая страница может быть на заспамленном сайте. Я ориентируюсь на тематичность страницы-донора и чтобы такая страница была в ТОП-10 поисковый системы по тематическим информационным запросам, которые относятся к продвигаемому продукту/услуге и на показатели, по которым проверяю каждый потенциальный сайт-донор перед тем, как написать предложение его владельцу или лицу, ответственному за размещение материалов на нем, о публикации ссылки или упоминания.

Если страница находится на первой странице результатов поиска, значит алгоритм поиска посчитал ее качественной для того, чтобы быть в ТОП-10 по интересующему нас поисковому запросу. С такой страницы и нужно постараться получить активную ссылку или упоминание, т.к. она уже имеет трафик из поиска и ссылка, размещенная на такой странице, будет иметь большую вероятность перехода пользователями за счет нахождения в ТОПе.

Помимо графического и теоретико-множественного часто исполь­зуют и алгебраическое представление графа в виде матрицы.

Рассмотрим орграф G , содержащийn вершин иm ребер.Мат­ри­цей смежности орграфаG называется матрицаA размераn n

Иногда матрицу смежности называют матрицей отношений , или матри­цей не­пос­ред­ст­вен­ных связей .

Матрицей инцидентности (илиматрицей инциденций ) орграфаG на­зы­вается матрицаB размераn m , у которой

Для введения матрицы смежности нужно пронумеровать вершины, а для матрицы инцидентности - и ребра графа.

Алгебраическое представление позволяет алгоритмизировать в удоб­ной для программи­рования на ЭВМ форме процедуру определения структурных количественных параметров системы.

Рассмотрим теперь некоторые методы решения практических за­дач, ис­пользуя введен­ный нами математический формализм.

Ранжирование элементов систем

Анализ связей в графе заключается, прежде всего, в нахождении и оцен­ке путей между его верши­на­ми. Помимо непосредственного отыс­ка­ния пу­ти в не­ко­торой системе коммуникаций к этой задаче относится, например, задача вы­бора опти­маль­ной стратегии и др. Действительно, достаточно вершинам графа по­ста­вить в соответствие некоторые цели, а длинам путей - стоимости дос­ти­жения этих целей, чтобы получить за­да­чу выбора стра­те­гии дости­же­ния цели с наименьшими издержками.

Поиски путей по чертежу при сложной структуре гра­­фа (на прак­ти­ке приходится анализировать графы с числом вершин бо­лее 100) за­труд­нены и сопряжены с возможностью ошибок. Рас­смотрим один из ал­геб­раических методов, удобный для использова­ния на ЭВМ. Этот метод поз­во­ля­ет, исходя из матрицы непосредственных связей , построитьполную матрицу путей
, где- число путей из вершиныi к вер­ши­неj (= 0), либо ограничиться отысканием од­но­го из ее элементов.

Числа или их буквенные выражения определяются при помо­щи опре­де­лителей особого рода -квазиминоров (беззнаковых опре­де­ли­те­лей ). Имеет место формула

.

Выражение
называютквазиминором элемента мат­ри­цы. Знак
является символом квазиминора, а
ука­зы­вает на матрицу с вычеркнутымиl -й строкой иk -м столбцом, ко­то­рая впи­сывается в символ квазиминора подобно матрице, вписываемой в сим­вол обычного минора.

Вычисление квазиминора сводится к разложению его на квазими­но­ры меньшего порядка по формуле

Процедура вычисления во многом сходна с процедурой вычис­ле­ния обыч­ных определителей, но для овладения этим методом требуется не­ко­то­рый навык.

Пример.

Пусть матрица непосредственных связей имеет вид

Необходимо найти все пути, ведущие из вершины 1 в 5, и подсчи­тать их число.

Для рассматриваемого примера получаем

Первоначально в матрице вычеркивается столбец 1, соответ­ст­вую­щий номеру вершины, от которой начинается путь, и строка 5, со­от­вет­ст­вующая номеру вершины, в которой путь заканчивается. Это со­от­вет­ствует удалению из графа всех ребер, ведущих в вершину 1 и вы­хо­­дя­щих из вершины 5. По­ло­же­ние и нумерацию остальных строк и столб­цов удобнее оставить без из­ме­нения. Далее необходимо про­из­вес­ти раз­ло­жение полученного квази­ми­но­ра по ненулевым элементам 1-й строки

Разложение для первого слагаемого ведется по второй строке, вто­ро­го - по третьей, третьего - по четвертой, т.е. номер стро­ки, по которой ве­дется разложение, равен номеру столбца, в ко­то­ром на­хо­дился пос­лед­ний член разложения.

Если теперь положить для ненулевых элементов = 1 и про­из­вес­ти опе­ра­ции по правилам обычной арифметики, то получим -
.

Если же в полученном выражении произвести действия по пра­ви­лам буле­вой алгебры, то получим значение полной матрицы связей , которая ха­рактеризуетсвязность графа . Значения элементов пол­ной мат­рицы связейопределяются так:

= 1, если вершина i связана с вершиной j хотя бы одним путем,

=0 в противном случае.

Обычно считают, что
.

Связность - важнейшая характеристика структурной схемы систе­мы. Струк­тура тем луч­ше, чем полнее заполненность полной матрицы связей. На­ли­чие большого числа нулей гово­рит о серьезных изъянах в структуре системы.

Другая важная характеристика структуры - распределение значи­мо­с­ти эле­мен­тов сис­те­мы. Количественная характеристика значимости - ранг элемента - впервые явно была сфор­му­лирована при анализе струк­ту­ры отношений домини­ро­вания (превосходства, преобладания) в груп­пах индивидуумов (людей, жи­вот­ных).

Используя полную матрицу путей
, значения рангов элемен­тов опре­де­ляются по формуле

.

Следует иметь в виду, что значимость элемента определяется не са­мим значением , а сравнением рангов всех элементов, т.е. ранг- это от­но­си­тельный показатель значимости.

Чем больше ранг данного элемента, тем большим числом путей он свя­зан с другими элементами и тем для большего числа элементов нару­шат­ся нор­маль­ные условия работы при его отказе. Следовательно, при формировании про­граммы обеспечения надежности рассмат­ри­ваемой сис­те­мы необходимо уделить особое внимание элементам с большим рангом.

Для систем со структурой типа сетей наличие элементов с ран­га­ми, значительно боль­ши­ми, чем у остальных, обычно свидетельствует о функ­­циональной перегрузке этих элементов. Желательно перераспре­де­лить связи, преду­смот­реть обходные пути, чтобы уравнять значи­мость эле­ментов данной системы.

Существуют и другие методики определения рангов. Выбор под­хо­дя­щей методики опре­деляется спецификой задачи.

Следует отметить, что имеются структуры, ранжирование элемен­тов кото­рых может потерять практический смысл. Это, прежде всего, иерар­хи­ческие струк­туры. Значимость элемента в них определяется уров­нем иерар­хии.

всего

На протяжении очень долгого времени алгоритмы ранжирования Яндекс оставались «секретом» для пользователей. Специалисты поисковой системы Яндекс предпочитали не информировать пользователей сети интернет об изменениях алгоритмов ранжирования.

Алгоритмы ранжирования Яндекс

1 2007 год

И только в 2007 году сотрудники компании Яндекс стали информировать своих пользователей о введении новшеств в поисковой алгоритм. Это немного облегчив продвижение сайтов для многих вебмастеров.

Стоит отметить, что алгоритмы ранжирования Яндекс постоянно изменяются. Благодаря этим изменениям добавляется более новый и совершенный функционал, который очень облегчает работу с данным поисковиком. Также благодаря изменению алгоритмов ранжирования устраняются баги, происходит обновление фильтров и ограничителей, подгоняется более точная выдача информации, которая максимально соответствует первоначальному запросу.

2 май 2008 год

В мае 2008 года, специалистами компании Яндекс был выпущен новый алгоритм, который носит название «Магадан».

Алгоритм Магадан

В данном алгоритме увеличено в два раза количество факторов ранжирования, значительно улучшен классификатор по местонахождению пользователя (геотаргетинг). Также в алгоритме «Магадан» присутствуют такие инновационные решения как добавление классификаторов для контента и ссылок. Значительно увеличена скорость поисковика по поиску информации по вводимым ключевым запросам (благодаря данному алгоритму поисковик способен выдавать информацию даже с текстами, которые имеют дореволюционную орфографию).

В июле того же года вышла новая версия алгоритма «Магадан», в которой присутствовали дополнительные факторы ранжирования, например, такие как определение уникальности текста и информации, определение принадлежности контента к порнографическому и прочее.

3 сентябрь 2008 год

Уже в сентябре 2008 года, компания Яндекс выпускает новый алгоритм, который носит название «Находка».

Благодаря появлению данного алгоритма значительно улучшилась работа со словарями в поисковой системе Яндекс, значительно возросло качество ранжирования по запросам, в которых присутствовали стоп – слова (союзы и предлоги). Также в данном алгоритме был разработан абсолютно новый подход к машинальному обучению (машина стала различать разные запросы, и стала менять для разных запросов факторы ранжирования, в расчетной формуле поисковой выдачи).

4 апрель 2009 год

Новый алгоритм под названием «Арзамас» или «Анадырь» был выложен в поисковой системе Яндекс в апреле 2009 года.

Алгоритм Арзамас

Благодаря введению этого алгоритма поисковая система Яндекс научилась более точно и значительно лучше понимать русский язык, что дало возможность более точно разрешать неоднозначные слова в запросах. Также данный алгоритм позволил учитывать, поисковой системой, регион, в котором находится пользователь. Благодаря чему пользователи стали получать более точную и более полезную информацию по запрашиваемому вопросу, которая имела максимальное отношения к региону, в котором находился пользователь.

При этом следует отметить, что в разных регионах выдаваемая информация тоже разная, несмотря на один и тот же вводимый пользователем запрос. Также в данном алгоритме поиска значительно улучшена формула, которая позволяет удобнее работать с многословными запросами. Были введены более жесткие фильтры для страниц с попандер-баннерами (Pop-Under баннер появляется на всех страницах сайта и не имеет отношение к тематике сайта), кликандер(Click-ander реклама, появляющаяся на странице при первом клике посетителя) и бодиклик (Bodyclic -сервис тизерной рекламы).

5 ноябрь 2009 год

В ноябре 2009 года вышел новый алгоритм, который носит название «Снежинск».

Алгоритм Снежинск

В этом алгоритме введены дополнительные функции и параметры ранжирования, которые позволяют применять несколько тысяч поисковых параметров для одного документа. Также в данном алгоритме присутствовали новые региональные параметры, были внедрены (фильтры сайтов намерено пытающихся влиять на поисковую выдачу, проще, анти говно сайт), и значительно улучшился поиск оригиналов контента в сети интернет. Также в данном алгоритме присутствовала самообучающаяся система MatrixNet.

6 декабрь 2009 год

В декабре 2009 года появился новый алгоритм под названием «Конаково».

Этот алгоритм был всего лишь улучшенной версией алгоритма «Снежинск» и в нем было улучшено только локальное ранжирование. В сентябре 2010 года вышел новый алгоритм «Обнинск». В этом алгоритме было улучшено ранжирование по территориально независимым запросам, было введено ограничение влияния искусственных ссылок на ранжирование. Также благодаря данному алгоритму значительно улучшилась процедура определения авторского текста, и был значительно расширен словарь транслитерации.

7 2010 год

В декабре 2010 года вышел новый алгоритм под названием «Краснодар».

Для создания этого алгоритма была специально разработана новая технология, которая называется Спектр. Благодаря этому алгоритму поисковая система Яндекс стала классифицировать запросы и выделять из них объекты, присваивая запросам определенную категорию (товары, услуги и прочее).

8 2014 год

Очередной убойный выстрел Яндекс — Алгоритмы ранжирования Яндекс больше не будут учитывать ссылки при ранжировании. Согласно последним заявлениям, в начале 2014 года будет запущено ранжирование без ссылок. Из факторов ранжирования Яндекс уберут все ссылочные факторы. Это нововведение коснется только коммерческих запросов и сначала будет опробовано на Москве и Московской области. Авторы новшеств, создатели АГС Яндекс.

Сисадмин (он же на английском языке sysadmin , system administrator ) - сокращенное наименование профессии, полное название которой на русском языке звучит как системный администратор . Данная профессия в последнее время стала очень популярной для большинства молодых, и не очень, людей, ей обучают, по ней работают, за неё получают хорошие деньги. Связано это с бурным развитием различных компьютерных технологий и их проникновением во все сферы человеческой жизни. Слово сисадмин часто используется в разговорной речи, в вакансиях и резюме при поиске работы, одним словом - везде. Ниже пойдет речь о том, что же представляет из себя профессия системного администратора.

В современных реалиях, системным администратором может называться фактически любой человек, который занимается обслуживанием и поддержанием работы определенной компьютерной сети, включая все её аппаратные и/или программные компоненты, в которую могут входить:

  • Персональные компьютеры, как рабочие станции, так и сервера;
  • Сетевое оборудование, такое как коммутаторы, маршрутизаторы, фаерволлы и многое другое;
  • Веб-сервера, почтовые сервера, сервера баз данных, и прочие.

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

В зависимости от своей специализации, системный администратор может заниматься следующими видами деятельности:

  • Администратор рабочих станций и серверов чаще всего занимается починкой как аппаратных (вышедшие из строя материнские платы, погоревшие блоки питания), так и программных (не загружается Windows, не печатаются запятые в Word"e...).
  • Администратор корпоративной сети на основе домена Active Directory. Очень популярное занятие, учитывая распространенность операционных систем Windows, а так же необходимость их как-то централизованно контролировать. Такой специалист должен уметь создавать, распределять по группам, редактировать пользователей, выдавать им соответствующие права в домене AD, а так же уметь управлять групповыми политиками для пользователей, их компьютеров и групп, в которых они все состоят.
  • Администрирование сетей и сетевого оборудования. В его обязанности входит знание топологии сетей, умение работать как с не настраиваемым, так и с настраиваемым сетевым оборудованием, планирование локальной вычислительной сети, а так же возможность объединения в одну сеть нескольких отдаленных друг от друга рабочих мест, путем настройки NAT"ов и VPN"ов. Не стоит так же забывать и контроле доступа в рамках этой сети, и за её пределами - настройка прокси.
  • Администратор веб-сервера, который должен как минимум уметь устанавливать, настраивать и обслуживать один из следующих веб-серверов - Apache, IIS, Nginx, следить за хостингом (который может располагаться как внутри сети организации, так и вне её). Кроме того, хороший администратор должен уметь настроить нормальное распределение ресурсов при высоких нагрузках, кластеризацию и много других специфичных вещей.
  • Администрирование почтового сервера так-же является распространенной задачей для сисадмина, в его задачи входит работа с такими популярными решениями как Exim, Microsoft Exchange, Postfix, Sendmail, или корпоративными почтовыми решениями от Google или, например, Yandex. Кроме очевидного контроля за учетными записями (создание, удаление, настройка), так же обязательно уметь настроить антиспам систему и прочее.
  • Администратор сайта. В эти обязанности может входить как просто какое-то наполнение содержимым сайта, но раз речь идет о системном администраторе, то по идее он должен уметь и настроить хостинг (в том числе и веб-сервер, о чем уже говорилось выше), установить и настроить нужный сайт, например какую-либо систему управления содержимым (CMS).
  • Совсем редко под обязанности системного администратора может попасть задача создания или обслуживания системы видеонаблюдления. В задачах установка и настройка камер, реагирования на различные события, сохранение и воспроизведение записей. Относится к системному администрированию слабо, и часто попадает в его обязанности по совместительству к каким-нибудь другим обязанностям.

За бортом описанных выше занятий системного администратора остались такие возможные вещи, как администрирование баз данных (Microsoft SQL, MySQL и его множественные ответвления, Oracle и т. д.), администрирование 1C (не путать с "программист 1C"), АТС и многое другое.