Алгебраическое представление графа. Алгоритмы ранжирования Яндекс: история развития Описание алгоритма ранжирования отсчетов
PageRank - это числовая величина, характеризующая «важность» веб-страницы сайта. Чем больше ссылок ведет на страницу сайта и чем они более качественнее, тем страница становится «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank - это метод вычисления веса страницы с помощью подсчёта важности ссылок на неё.
Этот метод расчета запатентовали разработчики и сооснователи поисковой системы Google Сергей Брин и Ларри Пейдж. Более подробно ознакомиться с текстом исследования (на английском языке). На русском языке .
Что такое вес страницы сайта?
Под весом страницы степень ее важности. Если проводить аналогию с человеческими отношениями, то фраза "его слово имеет вес" будет отражать суть понятия "вес страницы сайта".
Вес страницы выражается в конкретных цифрах и его можно рассчитать.
Условно, вес страницы бывает двух видов:
- Статический вес (определенная цифра), который вычисляется на основании запросонезависимых факторов - это все факторы, которые не имеют отношения к поисковом запросу. Например, возраст сайта, его страниц, дата индексации страниц, количество внутренних и внешних ссылок, ведущих на страницу.
- Динамический вес, который вычисляется на основании запросозависимых факторов - это все факторы, который связаны с поисковым запросом (текстом). Текст запроса сопоставляется с текстом страницы сайта, поэтому, запросозависимые факторы это те, которые в первую очередь зависят от текстовых элементов страницы - ее заголовка title, описания description, текста на ней, анкоров (текстов) ссылок, которые указывают на нее и исходят с нее.
Статический вес считается поисковиками в фоновом режиме и присваивается странице сайта. Спустя определенное время он пересчитывается. Динамический вес считается не в фоновом режиме, а на лету, когда пользователь отправляет поисковый запрос поисковой системе для поиска результатов.
Как выглядит формула 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"), АТС и многое другое.