Разное

Алгоритм работы: Что такое алгоритм?! Часть первая / Хабр

Содержание

что это, их виды, какие алгоритмы есть у поисковиков Яндекс и Гугл 

Хотим мы этого или не хотим, но уже сегодня человечество живет наполовину в цифровом мире. Математика – Богиня нашего цифрового мира и Алгоритм – пророк ее.

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

Однако, инстинкт тоже в своем роде является алгоритмом, а в чем же тогда преимущество человека?

  • Инстинкты властвуют над животными.
  • Человек же создает алгоритмы сам.

Именно способность самостоятельно создавать подобные действия и является кардинальным отличием мыслящего человека от подвластного природным инстинктам животного.

Что называется алгоритмом

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

  • Исполнителем может быть как человек, так и механизм или цифровая вычислительная машина.

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

Наиболее знакомые людям алгоритмы – это бытовые привычки. По сути, личность человека – это набор привычек, то есть, постоянно повторяющихся действий привычного поведения.

  • Проснулся, встал, умылся, побрился, выпил чашечку кофе, оделся, поехал на работу.
  • В офисе снял пальто, включил комп, запустил MS Word, продолжил работу над документами.

Думаю вам такой порядок действий хорошо знаком.

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

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

Виды

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

В зависимости от практической задачи структура алгоритма может изменяться.

  • Линейный алгоритм. Все операции идут одна за другой.
  • Разветвляющийся алгоритм. Применяется в случаях, когда в процессе исполнения программы обстоятельства (отсюда и задачи) могут существенно поменяться.

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

Говоря простыми словами, разветвляющийся «algorithm» еще можно описать словами из американского боевика: «Что-то пошло не так. Переходим к плану «Б». Планы А и Б – это и есть ветви решения поведения боевой группы на задании, в условиях непредсказуемо меняющейся обстановки.

Жизнь человека – это тоже сложный разветвляющийся алгоритм. Пока мужчина холост – он живет по одному порядку, а когда женится – алгоритм (порядок жизни) мужчины кардинально меняется.

  • Циклический алгоритм. Подразумевается повторяющаяся последовательность операций, приводящая к одинаковым результатам раз за разом. Массовое производство одинаковых изделий.

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

Циклические действия мы видим в человеческом обществе. В некотором смысле, большинство людей повторяют один и тот же цикл жизни на протяжении столетий. Кажется, в буддизме это называется «карма».

  • Карма – это глобальный алгоритм жизни обычного человека, еще не достигшего «просветления».

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

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

В каких сферах их применяют

Алгоритмы буквально пронизывают всю Вселенную. Сам термин «algorithm», как принято считать, происходит от имени средневекового арабского математика Аль-Хорезми.

В новой истории данное понятие стало известно широкой публике в середине 20-го века, когда в моду вошла кибернетика. Основные принципы компьютерной алгоритмики как раз и были разработаны где-то в 50-х – 60-х годах прошлого века, в том числе советскими учеными.

Это интересно: Что такое Апгрейд, Стрим, Мемы, Франшиза

В каких сферах деятельности применяются алгоритмы? Проще назвать – где они не применяются. В практическом смысле их массовое применение есть в промышленном производстве и сфере обслуживания позволило сделать колоссальный рывок в благосостоянии человеческого общества.

  • На заводах и фабриках алгоритмам починены все рабочие процессы, во время которых изготавливаются товары народного потребления в количестве, достаточном, чтобы обеспечить всех. Наибольший прорыв в промышленности произошел, когда в производство начали внедряться станки с числовым программным управлением, изготавливающим детали по заранее подготовленным и закодированным в компьютерных решениях.
  • Школьная программа – это алгоритм массового донесения знаний до миллионов детей и подростков.
  • Специальный алгоритм боевой подготовки превращает молодых людей в защитников Родины.

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

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

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

По каким алгоритмам работает поиск от Google и Яндекс

Яркий пример – работа поисковых сервисов. Как же Яндекс и Google могут так быстро находить на миллионах сайтов в интернете ответы практически на любой вопрос пользователя?

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

На самом общем уровне можно выделить три глобальных алгоритма поисковых машин.

  • Индексация – сбор данных, опубликованных на всех сайтах в интернете.
  • Определение релевантности. Информация на веб-страницах сортируется по тематикам поисковых запросов.
  • Ранжирование. По каждой теме производится оценка качества и полезности ответов. Затем на странице результатов поиска ответы размещаются «по ранжиру», в порядке убывания качества и соответствия.

Многие пользователи полагают, что после запуска поиска по фразе Google со всех ног мечется по всему интернету и там ищет относящуюся к делу (релевантную) информацию.

Прочитай это: Что такое ранжирование сайта и какие факторы на это влияют

Ничего подобного. Весь контент со всех веб-страниц заранее собирается специальными программами (которые тоже есть алгоритмы) – так называемыми поисковыми роботами.

Собранная информация хранится в Индексе поисковой машины – базе данных. Слово Index по-английски означает «каталог». Это примерно, как в обычной библиотеке все книги разделены по полкам, а в Каталоге лежат карточки с краткими описаниями. Индекс Яндекса – это и есть такой цифровой каталог всего интернет-контента.

Когда пользователь запускает поиск по определенному вопросу, в работу вступает алгоритм определения релевантности. Соответствие контента на сайте вопрос пользователя определяется до смешного просто – если в тексте присутствуют фразы, соответствующего поисковому запросу – такой контент признается релевантным и подготавливается к выдаче.

Фразы в тексте, соответствующие поисковому запросу принято называть «ключевыми словами» или «ключевиками».

Чтобы поисковой машине было легче найти контент на сайте, веб-мастера специально добавляют в текстовый контент соответствующие ключевые слова. Это называется «поисковая оптимизация».

После того, как алгоритм релевантности нашел в базе данных (индексе) весь контент, подходящий по теме поискового запроса, в работу включаются все те сотни и тысячи алгоритмов, предназначенные для определения качества и полезности контента.

  • Оценка уникальности.
  • Проверка достоверности и актуальности сведений.
  • Объем и профессиональный уровень контента (информационная ценность).
  • Авторитетность автора, репутация публикатора.
  • Цитируемость – кто и как ссылается на данный контент на сторонних сайтах.
  • И еще проверка контента и сайта в целом по нескольким сотням разных алгоритмов.

Некоторые алгоритмы поисковых систем известны и имеют названия.

  • Алгоритм Яндекса ИКС определяет качество контента на сайте.
  • Алгоритм Google «Колибри» предназначен для улучшенного поиска и ранжирования контента, написанного естественным разговорным языком.

Зная, что некоторые недобросовестные веб-мастера порой идут на манипуляции, чтобы получить преимущества в поисковой выдаче, программисты Google и Яндекс разработали фильтры. С помощью фильтров поисковый компьютер выявляет «серые», недобросовестные способы оптимизации сайтов и «пессимизирует», понижает такие ресурсы в результатах поиска по запросу.

  • Фильтр Яндекса «Минусинск» выявляет и понижает в выдаче сайты, использующие покупные SEO-ссылки.
  • Фильтр Гугл «Пингвин» предназначен для определения неестественных, искусственных ссылок.

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

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

Введение в алгоритм A* / Хабр

При разработке игр нам часто нужно находить пути из одной точки в другую. Мы не просто стремимся найти кратчайшее расстояние, нам также нужно учесть и длительность движения. Передвигайте звёздочку (начальную точку) и крестик (конечную точку), чтобы увидеть кратчайший путь. [Прим. пер.: в статьях этого автора всегда много интерактивных вставок, рекомендую сходить в оригинал статьи.]
Для поиска этого пути можно использовать алгоритм поиска по графу, который применим, если карта представляет собой граф. A* часто используется в качестве алгоритма поиска по графу. Поиск в ширину — это простейший из алгоритмов поиска по графу, поэтому давайте начнём с него и постепенно перейдём к A*.

Представление карты

Первое, что нужно при изучении алгоритма — понять данные. Что подаётся на вход? Что мы получаем на выходе?

Вход: алгоритмы поиска по графу, в том числе и A*, получают в качестве входных данных граф. Граф — это набор точек («узлов») и соединений («рёбер») между ними. Вот граф, который я передал A*:

A* не видит ничего другого. Он видит только граф. Он не знает, находится ли что-то в помещении или за его пределами, дверь это или комната, насколько велика область. Он видит только граф! Он не понимает никакой разницы между картой сверху и вот этой:

Выход: определяемый A* путь состоит из узлов и рёбер. Рёбра — это абстрактное математическое понятие. A* сообщает нам, что нужно перемещаться из одной точки в другую, но не сообщает, как это нужно делать. Помните, что он ничего не знает о комнатах или дверях, он видит только граф. Вы сами должны решить, чем будет являться ребро графа, возвращённое A* — перемещением с тайла на тайл, движением по прямой линии, открытием двери, бегом по кривому пути.

Компромиссы: для каждой игровой карты есть множество разных способов передачи графа поиска пути алгоритму A*. Карта на рисунке выше превращает двери в узлы.

А что, если мы превратим двери в рёбра?

А если мы применим сетку для поиска пути?

Граф поиска пути не обязательно должен быть тем же, что используется в вашей игровой карте. В карте на основе сеток можно использовать граф поиска пути без сеток, и наоборот. A* выполняется быстрее с наименьшим количеством узлов графа. С сетками часто проще работать, но в них получается множество узлов. В этой статье рассматривается сам алгоритм A*, а не дизайн графов. Подробнее о графах можно прочитать на моей другой странице. Для объяснений я в дальнейшем буду использовать сетки, потому что так проще визуализировать концепции.

Алгоритмы

Существует множество алгоритмов, работающих с графами. Я рассмотрю следующие:

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

Алгоритм Дейкстры (также называемый поиском с равномерной стоимостью) позволяет нам задавать приоритеты исследования путей. Вместо равномерного исследования всех возможных путей он отдаёт предпочтение путям с низкой стоимостью. Мы можем задать уменьшенные затраты, чтобы алгоритм двигался по дорогам, повышенную стоимость, чтобы избегать лесов и врагов, и многое другое. Когда стоимость движения может быть разной, мы используем его вместо поиска в ширину.

A* — это модификация алгоритма Дейкстры, оптимизированная для единственной конечной точки. Алгоритм Дейкстры может находить пути ко всем точкам, A* находит путь к одной точке. Он отдаёт приоритет путям, которые ведут ближе к цели.

Я начну с самого простого — поиска в ширину, и буду добавлять функции, постепенно превращая его в A*.

Поиск в ширину

Ключевая идея всех этих алгоритмов заключается в том, что мы отслеживаем состояние расширяющегося кольца, которое называется границей. В сетке этот процесс иногда называется заливкой (flood fill), но та же техника применима и для карт без сеток. Посмотрите анимацию расширения границы:

Как это реализовать? Повторяем эти шаги, пока граница не окажется пустой:

  1. Выбираем и удаляем точку из границы.
  2. Помечаем точку как посещённую, чтобы знать, что не нужно обрабатывать её повторно.
  3. Расширяем границу, глядя на её соседей. Всех соседей, которых мы ещё не видели, добавляем к границе.

Давайте рассмотрим это подробнее. Тайлы нумеруются в порядке их посещения:

Алгоритм описывается всего в десяти строках кода на Python:

frontier = Queue()
frontier.put(start )
visited = {}
visited[start] = True

while not frontier.empty():
   current = frontier.get()
   for next in graph.neighbors(current):
      if next not in visited:
         frontier.put(next)
         visited[next] = True

В этом цикле заключается вся сущность алгоритмов поиска по графу этой статьи, в том числе и A*. Но как нам найти кратчайший путь? Цикл на самом деле не создаёт путей, он просто говорит нам, как посетить все точки на карте. Так получилось потому, что поиск в ширину можно использовать для гораздо большего, чем просто поиск путей. В этой статье я показываю, как он применяется в играх tower defense, но его также можно использовать в картах расстояний, в процедурной генерации карт и многом другом. Однако здесь мы хотим использовать его для поиска путей, поэтому давайте изменим цикл так, чтобы отслеживать, откуда мы пришли для каждой посещённой точки, и переименуем visited в came_from:

frontier = Queue()
frontier.put(start )
came_from = {}
came_from[start] = None

while not frontier.empty():
   current = frontier.get()
   for next in graph.neighbors(current):
      if next not in came_from:
         frontier.put(next)
         came_from[next] = current

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

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

current = goal 
path = [current]
while current != start: 
   current = came_from[current]
   path.append(current)
path.append(start) # optional
path.reverse() # optional

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

Ранний выход

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

Код достаточно прямолинеен:

frontier = Queue()
frontier.put(start )
came_from = {}
came_from[start] = None

while not frontier.empty():
   current = frontier.get()

   if current == goal: 
      break           

   for next in graph.neighbors(current):
      if next not in came_from:
         frontier.put(next)
         came_from[next] = current

Стоимость перемещения

Пока мы делали шаги с одинаковой стоимостью. В некоторых случаях поиска путей у разных типов движения есть разная стоимость. Например, в Civilization движение через равнины или пустыню может стоить 1 очко движения, а движение через лес — 5 очков движения. На карте в самом начале статьи прохождение через воду стоит в 10 раз дороже, чем движение по траве. Ещё одним примером является диагональное движение в сетке, которое стоит больше, чем движение по осям. Нам нужно, чтобы поиск пути учитывал эту стоимость. Давайте сравним количество шагов от начала с расстоянием от начала:

Для этого нам нужен алгоритм Дейкстры (также называемый поиском с равномерной стоимостью). Чем он отличается от поиска в ширину? Нам нужно отслеживать стоимость движения, поэтому добавим новую переменную cost_so_far, чтобы следить за общей стоимостью движения с начальной точки. При оценке точек нам нужно учитывать стоимость передвижения. Давайте превратим нашу очередь в очередь с приоритетами. Менее очевидно то, что у нас может получиться так, что одна точка посещается несколько раз с разной стоимостью, поэтому нужно немного поменять логику. Вместо добавления точки к границе в случае, когда точку ни разу не посещали, мы добавляем её, если новый путь к точке лучше, чем наилучший предыдущий путь.

frontier = PriorityQueue()
frontier.put(start, 0)
came_from = {}
cost_so_far = {}
came_from[start] = None
cost_so_far[start] = 0

while not frontier.empty():
   current = frontier.get()

   if current == goal:
      break
   
   for next in graph.neighbors(current):
      new_cost = cost_so_far[current] + graph.cost(current, next)
      if next not in cost_so_far or new_cost < cost_so_far[next]:
         cost_so_far[next] = new_cost
         priority = new_cost
         frontier.put(next, priority)
         came_from[next] = current

Использование очереди с приоритетами вместо обычной очереди изменяет способ расширения границы. Контурные линии позволяют это увидеть. Посмотрите видео, чтобы понаблюдать, как граница расширяется медленнее через леса, и поиск кратчайшего пути выполняется вокруг центрального леса, а не сквозь него:

Стоимость движения, отличающаяся от 1, позволяет нам исследовать более интересные графы, а не только сетки. На карте в начале статьи стоимость движения основана на расстоянии между комнатами. Стоимость движения можно также использовать, чтобы избегать или предпочитать области на основании близости врагов или союзников. Интересная деталь реализации: обычная очередь с приоритетами поддерживает операции вставки и удаления, но в некоторых версиях алгоритма Дейкстры используется и третья операция, изменяющая приоритет элемента, уже находящегося в очереди с приоритетами. Я не использую эту операцию, и объясняю это на странице реализации алгоритма.

Эвристический поиск

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

def heuristic(a, b):
   # Manhattan distance on a square grid
   return abs(a.x - b.x) + abs(a.y - b.y)

В алгоритме Дейкстры для порядка очереди с приоритетами мы использовали расстояние от начала. В жадном поиске по первому наилучшему совпадению для порядка очереди с приоритетами мы вместо этого используем оцененное расстояние до цели. Точка, ближайшая к цели, будет исследована первой. В коде используется очередь с приоритетами из поиска в ширину, но не применяется cost_so_far из алгоритма Дейкстры:

frontier = PriorityQueue()
frontier.put(start, 0)
came_from = {}
came_from[start] = None

while not frontier.empty():
   current = frontier.get()

   if current == goal:
      break
   
   for next in graph.neighbors(current):
      if next not in came_from:
         priority = heuristic(goal, next)
         frontier.put(next, priority)
         came_from[next] = current

Давайте посмотрим, как это работает:

Ого! Потрясающе, правда? Но что случится на более сложной карте?

Эти пути не являются кратчайшими. Итак, этот алгоритм работает быстрее, когда препятствий не очень много, но пути не слишком оптимальны. Можно ли это исправить? Конечно.

Алгоритм A*

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

Код очень похож на алгоритм Дейкстры:

frontier = PriorityQueue()
frontier.put(start, 0)
came_from = {}
cost_so_far = {}
came_from[start] = None
cost_so_far[start] = 0

while not frontier.empty():
   current = frontier.get()

   if current == goal:
      break
   
   for next in graph.neighbors(current):
      new_cost = cost_so_far[current] + graph.cost(current, next)
      if next not in cost_so_far or new_cost < cost_so_far[next]:
         cost_so_far[next] = new_cost
         priority = new_cost + heuristic(goal, next)
         frontier.put(next, priority)
         came_from[next] = current

Сравните алгоритмы: алгоритм Дейкстры вычисляет расстояние от начальной точки. Жадный поиск по первому наилучшему совпадению оценивает расстояние до точки цели. A* использует сумму этих двух расстояний.

Попробуйте в оригинале статьи делать отверстия в разных местах стены. Вы обнаружите, что жадный поиск находит правильный ответ, A* тоже его находит, исследуя ту же область. Когда жадный поиск по первому наилучшему находит неверный ответ (более длинный путь), A* находит правильный, как и алгоритм Дейкстры, но всё равно исследует меньше, чем алгоритм Дейкстры.

A* берёт лучшее от двух алгоритмов. Поскольку эвристика не оценивает расстояния повторно, A* не использует эвристику для поиска подходящего ответа. Он находит оптимальный путь, как и алгоритм Дейкстры. A* использует эвристику для изменения порядка узлов, чтобы повысить вероятность более раннего нахождения узла цели.

И… на этом всё! В этом и заключается алгоритм A*.

Дополнительное чтение

Вы готовы реализовать его? Попробуйте использовать готовую библиотеку. Если вы хотите реализовать его самостоятельно, то у меня есть инструкция по пошаговой реализации графов, очередей и алгоритмов поиска пути на Python, C++ и C#.

Какой алгоритм стоит использовать для поиска путей на игровой карте?

  • Если вам нужно найти пути из или ко всем точкам, используйте поиск в ширину или алгоритм Дейкстры. Используйте поиск в ширину, если стоимость движения одинакова. Используйте алгоритм Дейкстры, если стоимость движения изменяется.
  • Если нужно найти пути к одной точке, используйте жадный поиск по наилучшему первому или A*. В большинстве случаев стоит отдать предпочтение A*. Когда есть искушение использовать жадный поиск, то подумайте над применением A* с «недопустимой» эвристикой.

А что насчёт оптимальных путей? Поиск в ширину и алгоритм Дейкстры гарантированно найдут кратчайший путь по графу. Жадный поиск не обязательно его найдёт. A* гарантированно найдёт кратчайший путь, если эвристика никогда не больше истинного расстояния. Когда эвристика становится меньше, A* превращается в алгоритм Дейкстры. Когда эвристика становится больше, A* превращается в жадный поиск по наилучшему первому совпадению.

А как насчёт производительности? Лучше всего устранить ненужные точки графа. Если вы используете сетку, то прочитайте это. Уменьшение размера графа помогает всем алгоритмам поиска по графам. После этого используйте простейший из возможных алгоритмов. Простые очереди выполняются быстрее. Жадный поиск обычно выполняется быстрее, чем алгоритм Дейкстры, но не обеспечивает оптимальных путей. Для большинства задач по поиску путей оптимальным выбором является A*.

А что насчёт использования не на картах? Я использовал в статье карты, потому что думаю, что на них проще объяснить работу алгоритма. Однако эти алгоритмы поиска по графам можно использовать на любых графах, не только на игровых картах, и я пытался представить код алгоритма в виде, не зависящем от двухмерных сеток. Стоимость движения на картах превращается в произвольные веса рёбер графа. Эвристики перенести на произвольные карты не так просто, необходимо создавать эвристику для каждого типа графа. Для плоских карт хорошим выбором будут расстояния, поэтому здесь мы использовали их.

Я написал ещё много всего о поиске путей здесь. Не забывайте, что поиск по графам — это только одна часть того, что вам нужно. Сам по себе A* не обрабатывает такие аспекты, как совместное движение, перемещение препятствий, изменение карты, оценку опасных областей, формации, радиусы поворота, размеры объектов, анимацию, сглаживание путей и многое другое.

9 ключевых алгоритмов машинного обучения простым языком / Хабр

Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum.

Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix использует его, чтобы рекомендовать вам фильмы на вечер. А Facebook использует его, чтобы предложить вам новых друзей, которых вы можете знать.

Машинное обучение никогда еще не было настолько важным и, в тоже время, настолько трудным для изучения. Эта область полна жаргонов, а количество разных алгоритмов МО растет с каждым годом.

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

Система рекомендаций(Recommendation system)

Для построения полноценной системы рекомендаций с 0, требуются глубокие знания в линейной алгебре. Из-за чего, если вы никогда не изучали эту дисциплину, вам может быть сложно понять некоторые концепции этого раздела.

Но не беспокойтесь — scikit-learn библиотека Python позволяет довольно просто построить СР. Так что вам не потребуется таких уж глубоких познаний в линейной алгебре, чтобы построить рабочую СР.

Как работает СР?

Существует 2 основных типа система рекомендаций:

  • Основанная на контенте(Content-based)
  • Коллаборативная фильтрация(Collaborative filtering)

Основанная на контенте система дает рекомендации, которые базируются на схожести элементов, уже использованных вами. Эти системы ведут себя абсолютно так, как вы ожидаете СР будет себя вести.

Коллаборативная фильтрация СР предоставляет рекоммендации, основанные на знаниях о том как пользователь взаимодействует с элементами(*примечание: за основу взяты взаимодействия с элементами других пользователей, схожих по поведению с данным пользователем). Другими словами, они используют «мудрость толпы»(отсюда и «коллаборативный» в названии метода).

В реальном мире коллаборативная фильтрация СР куда более распространена, нежели основанная на контенте система. Это обусловлено, преимущественно, потому что они обычно дают результат лучше. Некоторые специалист также находят коллаборативную систему более простой для понимания.

Коллаборативная фильтрация СР также обладает уникальной особенностью, которой нет в основанной на контенте ситстеме. А именно, у них есть способность обучаться фичам самостоятельно.

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

Существует 2 подкатегории коллаборативной фильтрации:

  • Основанная на модели
  • Основанная на соседстве

Хорошая новость: вам не обязательно знать разницу в этих двух типах коллаборативной фильтрации СР, чтобы быть успешным в МО. Достаточно просто знать, что существует несколько типов.

Подведем итог

Вот краткое резюме того, что мы узнали о системе рекомендаций в данной статье:

  • Примеры системы рекомендаций из реального мира
  • Разные типы системы рекомендаций и почему коллаборативная фильтрация используется чаще, чем основанная на контенте система
  • Связь между системой рекомендаций и линейной алгеброй

Линейная регрессия (Linear Regression)

Линейная регрессия используется для предсказаний некоторого значения y основываясь на некотором множестве значений x.

История линейной регрессии

Линейная регрессия(ЛР) была изобретена в 1800 году Френсисом Гальтоном. Гальтон был ученым, изучающим связь между родителями и детьми. А конкретнее, Гальтон исследовал связь между ростом отцов и ростом их сыновей. Первым открытием Гальтона стал тот факт, что рост сыновей, как правило, был приблизительно таким же как рост их отцов. Что не удивительно.

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

Гальтон даль этому феномену название — регрессия. В частности, он сказал: » Рост сына имеет тенденцию к регрессии(или к смещению в направлении) среднего роста».

Это привело к целой области в статистике и машинном обучении под названием регрессия.

Математика линейной регрессии

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

Типичный пример такого подхода — «метод наименьших квадратов» линейной регрессии, с помощью которого рассчитывают близость линии в направлении верх-низ.

Пример для иллюстрации:

Когда вы создаете регрессионную модель, ваш конечный продукт — это уравнение, с помощью которого вы можете предсказать значения y для значения x без того чтобы знать значение y наперед.

Логистическая регрессия (Logistic Regression)

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

Что такое логистическая регрессия?

Логистическая регрессия — это модель машинного обучения, использующаяся для решения задач классификации.

Ниже представлено несколько примеров классификационных задач МО:

  • Спам электронной почты(спам или не спам?)
  • Претензия по страховке автомобиля (выплата компенсации или починка?)
  • Диагностика болезней

Каждая из этих задач имеет четко 2 категории, что делает их примерами задач двоичной классификации.

Логистическая регрессия хорошо подходит для решения задач двоичной классификации — мы просто назначаем разным категориям значения 0 и 1 соответственно.

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

Это изображение может помочь понять почему линейная регрессия плохо подходит для двоичной классификации:

На этом изображении ось у представляет вероятность того, что опухоль является злокачественной. Значения 1-у представляет вероятность, что опухоль доброкачественная. Как вы можете видеть, модель линейной регрессии очень плохо срабатывает для предсказания вероятности для большинства наблюдений в наборе данных.

Вот почему логистическая регрессионная модель полезна. У нее есть изгиб к линии лучшего соответсвия, что делает ее(модель) гораздо более подходящей для предсказаний качественных(категорийных) данных.

Вот пример, который иллюстрирует сравнение линейной и логистической регрессионых моделей на одних и техже данных:

Сигмоида (The Sigmoid Function)

Причина по которой логистическая регрессия имеет изгиб — это тот факт, что для её вычисления не используетя линейное уравнение. Вместо него логистическая регерссионная модель строится на использовании сигмоиды (также называемой логистической функцией, т.к. она используется в логистической регрессии).

Для вас не обязательно досконально запоминать сигмоиду, чтобы преуспеть в МО. Но все-таки иметь некоторое представление об этой функции будет полезно.

Формула сигмоиды:

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

Использование логистической регрессионной модели для предсказаний

Чтобы использовать логистическую регрессию для предсказаний, вам, как правило, нужно точно определить точку отсечения. Эта точка отсечения обычно 0.5.

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

Использование матрицы ошибок для измерения эффективности логистической регрессии

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

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

В этой таблице TN означает «истинно отрицательно», FN — «ложно отрицательно», FP — «ложно положительно», TP — «истинно положительно».

Матрица ошибок полезна для оценки модели, есть ли в ней «слабые» квадранты в матрице ошибок. Как пример, она может иметь ненормально большое количество ложно положительных результатов.

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

В этом примере диагностики рака, например, вы бы хотели быть точно уверены, что у вашей модели не слишком большое количество ложно положительных результатов, т.к. это будет означать, что чью-то злокачественную опухоль вы диагностировали как доброкачественную.

Подведем итог

В этом разделе у вас было первое знакомство с моделью МО — логистической регрессией.
Вот краткое содержание того, что вы узнали о логистической регрессии:

  • Типы задач классификации, которые подходят для решения с помощью логистической регрессии
  • Логистическая функция (сигмоида) всегда дает значение от 0 до 1
  • Как использовать точки отсечения для предсказания с помощью модели логистической регрессии
  • Почему матрица ошибок полезна для измерения эффективности модели логистической регрессии

Алгоритм k-ближайших соседей (K-Nearest Neighbors)

Алгоритм k-ближайших соседей может помочь решить задачу классификации, в случае, когда категорий больше, чем 2.

Что из себя представляет алгоритм k-ближайших соседей?

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

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

Данное изображение демонстрирует этот принцип с параметром К = 3:

На этом изображении футболисты изображены голубыми отметками, а баскетболисты — оранжевыми. Точка, которую мы пытаемся классифицировать, покрашена в зеленый цвет. Так как большинство (2 из 3) ближайших к зеленой точке отметок окрашены в голубой (футбольные игроки), то значит алгоритм К-ближайших соседей предсказывает, что новый игрок тоже окажется футболистом.

Как построить алгоритм К-ближайших соседей

Основные шаги для построения данного алгоритма:

  1. Соберите все данные
  2. Вычислите Евклидово расстояние от новой точки данных х до всех остальных точек в множестве данных
  3. Отсортируйте точки из множества данных в порядке возрастания расстояния до х
  4. Спрогнозируйте ответ, используя ту же категорию, что и большинство К-ближайших к х данных

Важность переменной К в алгоритме К-ближайших соседей

Хотя это может быть не очевидно с самого начала, изменение значения К в данном алгоритме изменит категорию, в которую попадет новая точка данных.

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

Представленная ниже иллюстрация отлично показывает этот эффект:

Плюсы и минусы алгоритма К-ближайших соседей

Чтобы подвести итог знакомства с этим алгоритмом, давайте коротко обсудим достоинства и недостатки его использования.

Плюсы:

  • Алгоритм прост и его легко понять
  • Тривиальное обучение модели на новых тренировочных данных
  • Работает с любым количеством категорий в задаче классификации
  • Легко добавить больше данных в множество данных
  • Модель принимает только 2 параметра: К и метрика расстояния, которой вы хотели бы воспользоваться (обычно это Евклидово расстояние)

Минусы:

  • Высокая стоимость вычисления, т.к. вам требуется обработать весь объем данных
  • Работает не так хорошо с категорическими параметрами

Подведем итог

Краткое содержание того, что вы только что узнали о алгоритме К-ближайших соседей:

  • Пример задачи на классификацию(футболисты или баскетболисты), которую может решить алгоритм
  • Как данный алгоритм использует Евклидово расстояние до соседних точек для прогнозирования к какой категории принадлежит новая точка данных
  • Почему значения параметра К важно для прогнозирования
  • Плюсы и минусы использования алгоритма К-ближайших соседей

Дерево решений и Случайный лес (Decision Trees and Random Forests)

Дерево решений и случайный лес — это 2 примера древовидного метода. Точнее, деревья решений — это модели МО, используемые для прогнозирования через циклический просмотр каждой функции в наборе данных один за одним. Случайный лес — это ансамбль (комитет) деревьев решения, которые используют случайные порядки объектов в наборе данных.

Что такое древовидный метод?

Перед тем, как мы нырнем в теоретические основы древовидного метода в МО, будет нелишним начать с примера.

Представьте, что вы играете в баскетбол каждый понедельник. Более того, вы всегда приглашаете одного и того же друга пойти поиграть с вами. Иногда друг действительно приходит, иногда нет. Решение приходить или нет зависит от множества факторов: какая погода, температура, ветер и усталость. Вы начинаете замечать эти особенности и отслеживать их вместе с решением вашего друга играть или нет.

Вы можете использовать эти данные для предсказания придет ли ваш друг сегодня или нет. Одна из техник, которой вы можете воспользоваться — это дерево решений. Вот как это выглядит:

У каждого дерева решений есть 2 типа элементов:

  • Узлы (Nodes): места, где дерево разделяется в зависимости от значения определенного параметра
  • Грани (Edges): результат разделения, ведущий к следующему узлу

Вы можете видеть, что на схеме есть узлы для прогноза (outlook), влажности (humidity) и ветра
(windy). И также грани для каждого потенциального значения каждого из этих параметров.

Вот еще парочка определений, которые вы должны понимать перед тем, как мы начнем:

  • Корень (Root) — узел, с которого начинается разделение дерева
  • Листья (Leaves) — заключительные узлы, которые предсказывают финальный результат

Теперь у вас есть базовое понимание что такое дерево решений. Мы рассмотрим как построить такое дерево с нуля в следующем разделе.

Как построить дерево решений с нуля

Построение дерева решений сложнее, чем может показаться. Это происходит потому что решение на какие разветвления (характеристики) делить ваши данные (что является темой из области энтропии и получения данных) — это математически сложная задача.

Чтобы ее разрешить, специалисты МО обычно используют множество деревьев решения, применяя случайные наборы характеристик, выбранных для разделения дерева на них. Другими словами, новые случайные наборы характеристик выбираются для каждого отдельного дерева, на каждом отдельном разделении. Эта техника называется случайные леса.

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

Выгоды использования случайного леса

Представьте, что вы работаете с множеством данных, у которого есть одна «сильная» характеристика. Иными словами, в этом множестве данных есть характеристика, которая намного более предсказуема в отношении конечного результата, чем остальные характеристики этого множества.

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

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

Подведем итог

Итак, краткое содержание того, что вы только что узнали о деревьях решений и случайных лесах:

  • Пример задачи, решение которой можно спрогнозировать с помощью дерева решений
  • Элементы дерева решений: узлы, грани, корни и листья
  • Как использование случайного набора характеристик позволяет нам построить случайный лес
  • Почему использование случайного леса для декорреляции переменных может быть полезным для уменьшения дисперсии полученной модели

Метод опорных векторов(Support Vector Machines)

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

Что такое метод опорных векторов?

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

Как МОВ работает?

Давайте капнем поглубже в то, как действительно работает МОВ.

Нам дан набор тренировочных примеров, какждый из которого промаркирован как принадлежащий к одной из 2х категорий, и с помощью этого набора МОВ строит модель. Эта модель распределяет новые примеры в одну из двух категорий. Это делает МОВ невероятностным двоичным линейным классификатором.

МОВ использует геометрию для составления прогнозов по категориям. Конкретнее модель метода опорных векторов сопоставляет точки данных как точки в пространстве и разделяет на отдельные категории так, что они разделяются настолько широким разрывом, насколько возможно. Прогноз принадлежности новых точек данных к определенной категории основывается на том, с какой стороны разрыва находится точка.

Вот пример визуализации, который поможет вам понять интуицию МОВ:

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

Давайте посмотрим следующее визуальное представление МОВ:

На этой диаграмме гиперплоскость обозначена как «оптимальная гиперплоскость» (optimal hyperplane). Теория метода опорных векторов дает такое определение оптимальной гиперплоскости — это гиперплоскость, которая максимизирует поле между двумя ближайшими точками данных из разных категорий.

Как вы видите, граница поля действительно затрагивает 3 точки данных — 2 из красной категории и 1 из синей. Эти точки, которые соприкасаются с границей поля, и называются опорными векторами — откуда и пошло название.

Подведем итог

Вот краткий очерк того, что вы только что узнали о методе опорных векторов:

  • МОВ — это пример алгоритма МО с учителем
  • Опорный вектор может быть использован для решения как задач классификации, так и для регрессионного анализа.
  • Как МОВ категоризирует данные с помощью гиперплоскости, которая максимизирует поле между категориями в наборе данных
  • Что точки данных, которые затрагивают границы разделяющего поля, называются опорными векторами. От чего и пошло название метода.

Метод К-средних (K-Means Clustering)

Метод К-средних — это алгоритм машинного обучения без учителя. Это значит, что он принимает непомеченные данные и пытается сгруппировать кластеры подобных наблюдений ваших данных. Метод К-средних крайне полезен для решения реальных прикладных задач. Вот примеры нескольких задач, подходящих для этой модели:

  • Сегментация клиентов для маркетинговых групп
  • Классификация документов
  • Оптимизация маршрутов доставки для таких компаний, как Amazon, UPS или FedEx
  • Выявление и реагирование на криминальные локации в городе
  • Профессиональная спортивная аналитика
  • Прогнозирование и предотвращение киберпреступлений

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

Вот визуальное представление того, как это выглядит на практике:

Мы изучим математическую составляющую метода К-средних вследующем разделе этой статьи.

Как работает метод К-средних?

Первый шаг в работе метода К-средних — это выбор количества групп на которое вы хотите разделить ваши данные. Этим количеством и является значение К, отраженное в названии алгоритма. Выбор значения К в методе К-средних очень важен. Чуть позже мы обсудим как выбрать правильное значение К.

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

  • Вычисление центроида (центр тяжести) каждого кластера взяв средний вектор точек в этом кластере
  • Переотнести каждую точку данных к кластеру, центроид которого ближе всего к точке

Выбор подходящего значения К в методе К-средних

Строго говоря, выбор подходящего значения К — это довольно сложно. Не существует «правильного» ответа в выборе «лучшего» значения К. Один из методов, который специалисты по МО часто используют, называется «методом локтя».

Для использования этого метода, первое, что вам необходимо сделать, это вычислить сумму квадратов отклонений(sum of squared errors) — СКО для вашего алгоритма для группы значений К. СКО в методе К-средних определена как сумма квадратов расстояний между каждой точкой данных в кластере и центром тяжести этого кластера.

В качестве примера этого шага, вы можете вычислить СКО для значений К 2, 4, 6, 8 и 10. Далее вы захотите сгенерировать график СКО и этих значений К. Вы увидите, что отклонение уменьшается с увеличением значения К.

И это имеет смысл: чем больше категорий вы создадите на основе множества данных — тем более вероятно, что каждая точка данных окажется близко к центру кластера этой точки.

С учетом сказанного, основная идея метода локтя — это выбрать значение К при котором СКО резко замедлит темпы снижения. Это резкое снижение образует «локоть» на графике.

Как пример, вот график СКО относительно К. В этом случае, метод локтя предложит использовать значение К примерно равное 6.

Важно, что К=6 просто оценка приемлемого значения К. Не существует «лучшего» значения К в методе К-средних. Как и многие вещи в области МО, это очень зависящее от ситуации решение.

Подведем итог

Вот краткий очерк того, что вы только что узнали в этом разделе:

  • Примеры задач МО без учителя, которые возможно решить методом К-средних
  • Базовые принципы метода К-средних
  • Как работает метод К-средних
  • Как использовать метод локтя для выбора подходящего значения параметра К в данном алгоритме

Метод главных компонент (Principal Component Analysis)

Метод главных компонент используется для преобразования набора данных c множеством параметров в новый набор данных с меньшим количеством параметров и каждый новый параметр этого набора данных — это линейная комбинация раннее существующих параметров. Эти преобразованные данные стремятся обосновать большую часть дисперсии оригинального набора данных с гораздо большей простотой.

Что такое метод главных компонентов?

Метод главных компонент (МГК) — это техника МО, которая используется для изучения взаимосвязей между наборами переменных. Другими словами, МГК изучает наборы переменных для того, чтобы определить базовую структуру этих переменных. МГК еще иногда называют факторным анализом.

На основании этого описания вы можете подумать, что МГК очень схож с линейной регрессией. Но это не так. На самом деле, эти 2 техники имеют несколько важных отличий.

Различия линейной регрессии и МГК

Линейная регрессия определяет линию наилучшего соответствия через набор данных. Метод главных компонентов определяет несколько ортогональных линий наилучшего соответствия для набора данных.

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

Давайте рассмотрим пример, чтобы помочь вам понять это лучше.

Взгляните на метки осей на этом изображении. Главный компонент оси х объясняет 73% дисперсии в этом наборе данных. Главный компонент оси у объясняет около 23% дисперсии набора данных.

Это означает, что 4% дисперсии остается необъясненными. Вы можете уменьшить это число добавляя больше главных компонент в ваш анализ.

Подведем итог

Краткое содержание того, что вы только что узнали о методе главных компонент:

  • МГК пытается найти ортогональные факторы, которые определяют изменчивость в наборе данных
  • Разницу между линейной регрессией и МГК
  • Как выглядит ортогональные главные компоненты, визуализированные в наборе данных
  • Что добавление дополнительных главных компонент может помочь объяснить дисперсию более точно в наборе данных

АЛГОРИТМ | Энциклопедия Кругосвет

Содержание статьи

АЛГОРИТМ – система правил, сформулированная на понятном исполнителю языке, которая определяет процесс перехода от допустимых исходных данных к некоторому результату и обладает свойствами массовости, конечности, определенности, детерминированности.

Слово «алгоритм» происходит от имени великого среднеазиатского ученого 8–9 вв. Аль-Хорезми (Хорезм – историческая область на территории современного Узбекистана). Из математических работ Аль-Хорезми до нас дошли только две – алгебраическая (от названия этой книги родилось слово алгебра) и арифметическая. Вторая книга долгое время считалась потерянной, но в 1857 в библиотеке Кембриджского университета был найден ее перевод на латинский язык. В ней описаны четыре правила арифметических действий, практически те же, что используются и сейчас. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в Алгоритми, откуда и появилось слово алгоритм. Термин алгоритм употреблялся для обозначения четырех арифметических операций, именно в таком значении он и вошел в некоторые европейские языки. Например, в авторитетном словаре английского языка Webster’s New World Dictionary, изданном в 1957, слово алгоритм снабжено пометкой «устаревшее» и объясняется как выполнение арифметических действий с помощью арабских цифр.

Слово «алгоритм» вновь стало употребительным с появлением электронных вычислительных машин для обозначения совокупности действий, составляющих некоторый процесс. Здесь подразумевается не только процесс решения некоторой математической задачи, но и кулинарный рецепт и инструкция по использованию стиральной машины, и многие другие последовательные правила, не имеющие отношения к математике, – все эти правила являются алгоритмами. Слово «алгоритм» в наши дни известно каждому, оно настолько уверенно шагнуло в разговорную речь, что сейчас нередко на страницах газет, в выступлениях политиков встречаются выражения «алгоритм поведения», «алгоритм успеха» и т.д.

Проблема определения понятия «алгоритм».

На протяжении многих веков понятие алгоритма связывалось с числами и относительно простыми действиями над ними, да и сама математика была, по большей части, наукой о вычислениях, наукой прикладной. Чаще всего алгоритмы представлялись в виде математических формул. Порядок элементарных шагов алгоритма задавался расстановкой скобок, а сами шаги заключались в выполнении арифметических операций и операций отношения (проверки равенства, неравенства и т.д.). Часто вычисления были громоздкими, а вычисления вручную – трудоемкими, но суть самого вычислительного процесса оставалась очевидной. У математиков не возникала потребность в осознании и строгом определении понятия алгоритма, в его обобщении. Но с развитием математики появлялись новые объекты, которыми приходилось оперировать: векторы, графы, матрицы, множества и др. Как определить для них однозначность или как установить конечность алгоритма, какие шаги считать элементарными? В 1920-х задача точного определения понятия алгоритма стала одной из центральных проблем математики. В то время существовало две точки зрения на математические проблемы:

Все проблемы алгоритмически разрешимы, но для некоторых алгоритм еще не найден, поскольку еще не развиты соответствующие разделы математики.

Есть проблемы, для которых алгоритм вообще не может существовать.

Идея о существовании алгоритмически неразрешимых проблем оказалась верной, но для того, чтобы ее обосновать, необходимо было дать точное определение алгоритма. Попытки выработать такое определение привели к возникновению теории алгоритмов, в которую вошли труды многих известных математиков – К.Гедель, К.Черч, С.Клини, А.Тьюринг, Э.Пост, А.Марков, А.Колмогоров и многие другие.

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

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

Понятие «алгоритма».

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

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

Наличие исходных данных и некоторого результата.

Алгоритм – это точно определенная инструкция, последовательно применяя которую к исходным данным, можно получить решение задачи. Для каждого алгоритма есть некоторое множество объектов, допустимых в качестве исходных данных. Например, в алгоритме деления вещественных чисел делимое может быть любым, а делитель не может быть равен нулю.

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

Детерминированность.

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

Результативность.

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

Определенность.

На каждом шаге алгоритма у исполнителя должно быть достаточно информации, чтобы его выполнить. Кроме того, исполнителю нужно четко знать, каким образом он выполняется. Шаги инструкции должны быть достаточно простыми, элементарными, а исполнитель должен однозначно понимать смысл каждого шага последовательности действий, составляющих алгоритм (при вычислении площади прямоугольника любому исполнителю нужно уметь умножать и трактовать знак «x» именно как умножение). Поэтому вопрос о выборе формы представления алгоритма очень важен. Фактически речь идет о том, на каком языке записан алгоритм.

Формы представления алгоритмов.

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

Например, описание алгоритма Евклида нахождения НОД (наибольшего общего делителя) двух целых положительных чисел может быть представлено в виде трех шагов. Шаг 1: Разделить m на n. Пусть p – остаток от деления.

Шаг 2: Если p равно нулю, то n и есть исходный НОД.

Шаг 3: Если p не равно нулю, то сделаем m равным n, а n равным p. Вернуться к шагу 1.

Приведенная здесь запись алгоритма нахождения НОД очень упрощенная. Запись, данная Евклидом, представляет собой страницу текста, причем последовательность действий существенно сложней.

Одним из распространенных способов записи алгоритмов является запись на языке блок-схем. Запись представляет собой набор элементов (блоков), соединенных стрелками. Каждый элемент – это «шаг» алгоритма. Элементы блок-схемы делятся на два вида. Элементы, содержащие инструкцию выполнения какого-либо действия, обозначают прямоугольниками, а элементы, содержащие проверку условия – ромбами. Из прямоугольников всегда выходит только одна стрелка (входить может несколько), а из ромбов – две (одна из них помечается словом «да», другая – словом «нет», они показывают, соответственно, выполнено или нет проверяемое условие).

На рисунке представлена блок-схема алгоритма нахождения НОД:

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

Формализация понятия алгоритмов. Теория алгоритмов.

Приведенное определение алгоритма нельзя считать представленным в привычном математическом смысле. Математические определения фигур, чисел, уравнений, неравенств и многих других объектов очень четки. Каждый математически определенный объект можно сравнить с другим объектом, соответствующим тому же определению. Например, прямоугольник можно сравнить с другим прямоугольником по площади или по длине периметра. Возможность сравнения математически определенных объектов – важный момент математического изучения этих объектов. Данное определение алгоритма не позволяет сравнивать какие-либо две таким образом определенные инструкции. Можно, например, сравнить два алгоритма решения системы уравнений и выбрать более подходящий в данном случае, но невозможно сравнить алгоритм перехода через улицу с алгоритмом извлечения квадратного корня. С этой целью нужно формализовать понятие алгоритма, т.е. отвлечься от существа решаемой данным алгоритмом задачи, и выделить свойства различных алгоритмов, привлекая к рассмотрению только его форму записи. Задача нахождения единообразной формы записи алгоритмов, решающих различные задачи, является одной из основных задач теории алгоритмов. В теории алгоритмов предполагается, что каждый шаг алгоритма таков, что его может выполнить достаточно простое устройство (машина), Желательно, чтобы это устройство было универсальным, т.е. чтобы на нем можно было выполнять любой алгоритм. Механизм работы машины должен быть максимально простым по логической структуре, но настолько точным, чтобы эта структура могла служить предметом математического исследования. Впервые это было сделано американским математиком Эмилем Постом в 1936 (машина Поста) еще до создания современных вычислительных машин и (практически одновременно) английским математиком Аланом Тьюрингом (машина Тьюринга).

История конечных автоматов: машина Поста и машина Тьюринга.

Машина Поста – абстрактная вычислительная машина, предложенная Постом (Emil L.Post), которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм».

В 1935 американский математик Пост опубликовал в «Журнале символической логики» статью Финитные комбинаторные процессы, формулировка 1. В этой статье и появившейся одновременно в Трудах Лондонского математического общества статье английского математика Тьюринга О вычислимых числах с приложением к проблеме решения были даны первые уточнения понятия «алгоритм». Важность идей Поста состоит в том, что был предложен простейший способ преобразования информации, именно он построил алгоритмическую систему (алгоритмическая система Поста). Пост доказал, что его система обладает алгоритмической полнотой. В 1967 профессор В.Успенский пересказал эти статьи с новых позиций. Он ввел термин «машина Поста». Машина Поста – абстрактная машина, которая работает по алгоритмам, разработанным человеком, она решает следующую проблему: если для решения задачи можно построить машину Поста, то она алгоритмически разрешима. В 1970 машина Поста была разработана в металле в Симферопольском университете. Машина Тьюринга была построена в металле в 1973 в Малой Крымской Академии Наук.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V». У машины есть головка, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, либо проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста. Работа машины Поста заключается в том, что головка передвигается вдоль ленты (на одну клетку за один шаг) влево или вправо, наносит или стирает метки, а также распознает, есть ли метка в клетке в соответствии с заданной программой, состоящей из отдельных команд.

Машина Тьюринга состоит из счетной ленты (разделенной на ячейки и ограниченной слева, но не справа), читающей и пишущей головки, лентопротяжного механизма и операционного исполнительного устройства, которое может находиться в одном из дискретных состояний q0, q1, …, qs , принадлежащих некоторой конечной совокупности (алфавиту внутренних состояний), при этом q0 называется начальным состоянием. Читающая и пишущая головка может читать буквы рабочего алфавита A = {a0, a1, …, at }, стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А. Чаще всего встречается буква а0 – «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты – текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты, при этом возможна ситуация выхода за левый край ленты, которая является аварийной (недопустимой), или машинного останова, когда машина выполняет предписание об остановке.

Современный взгляд на алгоритмизацию.

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

Анна Чугайнова

Алгоритм — Гуманитарный портал




Алгоритм — это точно установленное предписание (инструкция) о выполнении в определённом порядке некоторой последовательности операций, однозначно ведущих к решению той или иной конкретной задачи. Предписание алгоритма представляет собой конечный набор правил, который задаёт потенциально осуществимый вычислительный процесс (процесс исполнения алгоритма), ведущий от варьирующих в определённых пределах исходных данных к получению результата, однозначно определяемого допустимыми исходными данными. Последнее подразумевает, что результат выполнения алгоритма напрямую зависит от исходных данных: то есть один и тот же алгоритм при разных исходных данных даст разные результаты; с другой стороны, если одному и тому же алгоритму передать несколько раз одни и те же данные, он должен столько же раз выдать один и тот же результат. Простейшими примерами алгоритмов являются арифметические правила сложения, вычитания, умножения, деления и тому подобные.

Формальные свойства алгоритмов [в явной или неявной форме] включают следующий ряд общих требований:

  1. Дискретность (разделённость на части) и упорядоченность. Алгоритм должен состоять из отдельных действий, которые выполняются последовательно друг за другом.
  2. Детерминированность (однозначная определённость). Многократное применение одного алгоритма к одному и тому же набору исходных данных всегда даёт один и тот же результат.
  3. Формальность. Алгоритм не должен допускать неоднозначности толкования действий для исполнителя.
  4. Результативность и конечность. Работа алгоритма должна завершаться за определённое число шагов, при этом задача должна быть решена.
  5. Массовость. Определённый алгоритм должен быть применим ко всем однотипным задачам.

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

Слово «алгоритм» происходит от имени арабского учёного IX века Мухамеда бен Мусы аль-Хорезми, который впервые описал правила выполнения арифметических действий в десятичной системе счисления, придуманной в Индии. Впоследствии термином «алгоритм» стали обозначать эти правила вычислений. Однако с течением времени понятие алгоритма постепенно расширялось, наряду с его экспансией из чистой математики в другие сферы, и в XX веке под ним стали понимать точную последовательность действий, приводящую к решению поставленной задачи, при условии, что эта задача является заведомо решаемой.

Алгоритм — одно из основных понятий математической логики (см. Логика математическая) и математики. Хотя неформально математики всё время занимались поиском алгоритмов, данное понятие было уточнено лишь в 30-х годах XX века. Первыми такими уточнениями были абстрактные определения частично-рекурсивных и представимых функций в формальной теории чисел, появившиеся в связи с задачами теории доказательств. В 1936 году Э. Пост и А. Тьюринг независимо друг от друга предложили понятия абстрактных вычислительных машин и указали, что любой алгоритм в интуитивном смысле слова может быть реализован на данных машинах, несмотря на кажущуюся примитивность их элементарных действий.

В машине Тьюринга памятью является потенциально бесконечная лента, в каждой клетке которой записан символ из заранее заданного конечного алфавита. Более того, достаточно рассматривать ленту, каждая клетка которой содержит один бит информации, то есть либо пуста, либо содержит символ |. Процессор машины Тьюринга состоит из головки (каретки), которая в любой момент обозревает одну клетку, и программы, состоящей из конечного числа команд, обычно нумеруемых натуральными числами. Каждая команда представляет собой условное действие, зависящее от символа, записанного в клетке. Это действие имеет вид совокупности элементарных инструкций формы ab (LRSi, в которой присутствует лишь одна из букв LRS. Буква L означает приказ сдвинуться на следующем такте на одну клетку влево, R — вправо, S — остаться на месте. Элементарная инструкция означает следующее: если машина видит a, записать в клетку b, передвинуться в соответствии с командой и перейти к исполнению команды i. Такая элементарность действий машины стала результатом проведённого Тьюрингом методологического анализа элементарных действий человека по исполнению алгоритмов.

Машина Поста представляет собой универсальный исполнитель, позволяющий вводить начальные данные и читать результат выполнения программы. В машине имеются регистры, содержащие натуральные числа, элементарные операции увеличения и уменьшения числа на 1 и условный переход, если число в регистре равно 0. Машина Поста состоит из: а) бесконечной ленты, поделённой на одинаковые ячейки-секции (ячейка может быть пустой [0 или пустота] или содержать метку [1 или любой другой знак]; б) головки (каретки), способной передвигаться по ленте на одну ячейку в ту или иную сторону, а также способной проверять наличие метки, стирать и записывать метку. Состояние машины Поста описывается состоянием ленты и положением каретки. Состояние ленты — это информация о том, какие секции пусты, а какие отмечены. Шаг — это движение каретки на одну ячейку влево или вправо. Состояние ленты может изменяться в процессе выполнения программы. Элементарные действия (команды) машина Поста проще команд машины Тьюринга, поэтому программы для машины Поста имеют большее число команд, чем аналогичные программы для машины Тьюринга. Команды машины Поста предвосхитили систему команд современных вычислительных машин.

Одновременно А. Чёрч и X. Б. Карри создали одно из самых абстрактных уточнений алгоритма: λ-определимость, выразимость с помощью терма комбинаторной логики (см. Логика комбинаторная). Выяснилось, что и ранее созданные теоретические понятия, и самые элементарные, и самые абстрактные, из вновь появившихся уточнений алгоритма оказались эквивалентны. Этот факт, подтверждённый в дальнейшем для всех вновь появлявшихся точных определений алгоритма, послужил основой утверждения, скромно называемого в математике тезисом Чёрча, хотя степень его подтверждённости ныне выше, чем у любого физического «закона». Содержательное понятие алгоритма эквивалентно по объёму любому из имеющихся в данный момент математических уточнений этого понятия, в частности вычислимости на машине Тьюринга.

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

РАЗРАБОТКА АЛГОРИТМА РАБОТЫ СИСТЕМЫ — Студопедия

 

Алгоритм работы системы регистрации данных во многом будет зависеть от структуры накопителя (рисунок 3.7).

Как было сказано в п. 3.4, накопитель состоит из четырех банков, в каждом банке по четыре микросхемы. Следовательно, в системе присутствует четыре независимых накопителя объемом 2 Гб каждый, что дает возможность производить параллельную запись в четыре банка.

Для обслуживания накопителя такого большого объема необходимо иметь дополнительную служебную информацию о хранящихся данных:

1) так как система регистрации данных может хранить несколько записей испытаний (от начала записи данных до отключения питания), то необходимо иметь таблицу записей, хранящую адреса границ записи испытаний. Данная таблица будет храниться в отдельной (служебной) области накопителя. Таблица записей данных необходима для облегчения работы с накопителем. Она позволяет определить свободное пространство в накопителе, в которое может производиться новая запись;

2) так как накопитель содержит недопустимые блоки, то необходимо хранить таблицу размещения этих блоков. Эта таблица будет также храниться в служебной области накопителя;

3) для выделения отдельных пакетов из записи испытаний необходимо иметь определенный формат записи данных.

Структура микросхем Flash-памяти, примененных в качестве накопителя, во многом определила формат записи данных. Запись в микросхему К09ХХХХХХХ производится «постранично», т.е. минимальным элементом, с которым будет производиться работа (запись и чтение, но не стирание), является «страница». «Страница» состоит из 2112 байт, разделенных на две зоны:



– 2048 байт – основной массив, который будет использоваться для хранения принятых данных;

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

В запасном массиве каждой страницы накопителя хранится информация о принятой посылке (таблица 4.1).

 

Таблица 4.1 – Информация о файле, хранящаяся в дополнительном массиве

Байты Хранимая информация
0 Время: год
1 Время: месяц
2 Время: день
3 Время: час
4 Время: минуты
5 Время: секунды
6 Время: миллисекунды
7 Номер файла
8 Номер записи (младший байт)
9 Номер записи (средний байт)
10 Номер записи (старший байт)
11 Номер блока (2 кбайта посылка внутри записи)
12..63 Не используется

 


Таким образом пакет данных, принятый от ячейки АЦП-079-03, будет делиться на 2-х килобайтные блоки и сохраняться в четырех банках накопителя параллельно.

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

Общий алгоритм работы системы регистрации данных приведен на рисунке 4.1.

Рисунок 4.1 – Общий алгоритм работы системы регистрации данных

 

Система регистрации данных будет функционировать в двух основных режимах:

– режим записи данных;

– режим обмена с ПК.

На рисунке 4.2 приведен общий алгоритм работы системы регистрации данных в режиме записи.

В этом режиме контроллер осуществляет формирование «записей испытаний», прием данных и запись принятых данных.

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

 

Рисунок 4.2 – Алгоритм работы системы регистрации данных в режиме записи

 

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

На рисунке 4.3 приведен общий алгоритм работы системы регистрации данных в режиме обмена с персональным компьютером.

В режиме работы с персональным компьютером контроллер постоянно смотрит принятые данные и в зависимости от принятой команды выполняет одну из 6 задач.

Задача 1. Чтение таблицы файлов. Контроллер читает таблицу файлов и передает ее в персональный компьютер.

Задача 2.Перейти в режим работы без персонального компьютера. Контроллер выходит из режима 2.

Задача 3. Поиск конца файла. Контроллер ищет конец файла и передает его в персональный компьютер.

Задача 4. Установка часов. Контроллер получает от персонального компьютера текущее время в двоично-десятичной системе исчисления и прописывает его в часы (через ПЛИС).

Задача 5.Стирание Flash. Контроллер стирает накопитель параллельно 4 банка начиная с первого блока (40h), т.е. стирает данные и таблицу файлов оставляя информацию о недопустимых блоках которая хранится в 0 блоке каждой микросхемы.

Задача 6. Чтение файла. Контроллер получает от персонального компьютера адрес начала файла и адрес конца файла. После этого контроллер ищет первый допустимый блок и начинает читать данные, передавая их в персональный компьютер параллельно с четырех банков по одной странице.

 

Рисунок 4.3 – Алгоритм работы системы регистрации данных в режиме обмена с персональным компьютером
 

 

 

Каким бывает АЛГОРИТМ РАБОТЫ — Карта слов и выражений русского языка

АЛГОРИ́ТМ, -а, м. Мат. Система вычислений по строго определенным правилам, которая после последовательного их выполнения приводит к решению поставленной задачи. Алгоритм извлечения корня из числа. Построение системы алгоритмов.

Все значения слова «алгоритм»

РАБО́ТА, -ы, ж. 1. Действие по знач. глаг. работать; деятельность, занятие, труд. Физическая работа. Умственная работа. Научная работа. Работа двигателя. Работа мысли.

Все значения слова «работа»

  • Конкретные алгоритмы работы у всех программ свои собственные, поэтому разными оказываются и результаты их работы в реальных ситуациях.

  • Разработать программу систематического обучения сотрудников алгоритмам работы с товарным кредитом.

  • Канальный уровень также описывает алгоритмы работы в конкретной физической среде, например при использовании витой пары или оптоволокна.

  • (все предложения)

Как работает алгоритм Facebook в 2020 году и как с ним работать

Поздравляю всех с наступлением нового десятилетия, что, конечно же, означает очередной набор обновлений алгоритма Facebook.

По состоянию на конец 2019 года средний охват публикаций в Facebook снизился на 2,2%, а это означает, что бренды могли разумно ожидать, что их публикации увидят около 5,5% подписчиков их страниц. Крупные бренды с большим количеством подписчиков могут ожидать еще более низких средних показателей.

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

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

С 2018 года алгоритм стремительно развивается, поскольку Facebook стремится сделать время, которое люди тратят на него, более ценным и значимым.

Но в 2020 году Facebook сосредоточится на том, чтобы сделать свою платформу более прозрачной для пользователей и дать людям более прямой контроль над тем, что они видят.Например, Facebook провел несколько опросов для сбора данных и мнений непосредственно от пользователей. И теперь есть кнопка, которую можно нажать, если вы хотите узнать, почему сообщение появляется в вашей ленте.

Итак, что это значит для брендов, которые не хотят тратить деньги на превращение каждого поста в рекламу на Facebook?

Не волнуйтесь, есть надежда. Мы собрали 9 стратегических советов, как работать с алгоритмом Facebook в 2020 году и заставить его работать на вас.

Бонус: Загрузите бесплатное руководство, которое научит вас, как с помощью Hootsuite превратить трафик Facebook в продажи за четыре простых шага.

Краткая история алгоритма Facebook

(2004–2009 годы):

Facebook родился в 2004 году, но его лента новостей не появлялась до 2006 года. Премьера кнопки «Мне нравится» состоялась в 2007 году, но, вероятно, можно с уверенностью сказать, что у Facebook не было того, что мы думаем как «алгоритм», до 2009 года, когда платформа представила новый порядок сортировки для новостных лент в зависимости от популярности каждого сообщения. (до свидания, в обратном хронологическом порядке).

2009–2019 гг .:

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

2015

Например, в 2015 году Facebook представил функцию «Сначала увидеть», чтобы пользователи могли выбирать, какие страницы они хотели бы видеть в верхней части своих каналов. Они также начали понижать рейтинг страниц, на которых размещено большое количество чрезмерно рекламного органического контента. (т. е. обычные сообщения с содержанием, идентичным рекламным.)

2016

В 2016 году Facebook начал отдавать приоритет сообщениям друзей и родственников, а также «информативному» и «развлекательному» контенту.Он также начал измерять ценность сообщения на основе количества времени, которое пользователи провели с ним, даже если им он не понравился или им не поделились. Прямое видео также было приоритетным, так как оно давало в 3 раза больше времени просмотра по сравнению с обычным видео.

2017

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

2018

Однако в январе 2018 года, частично отвечая на широко распространенную критику, Марк Цукерберг объявил об изменениях в ленте новостей Facebook, которые отдают приоритет «сообщениям, которые вызывают разговоры и конструктивные взаимодействия. Это изменение было призвано повысить качество, а не количество времени, которое люди проводят в Facebook, а также повысить ответственность за то, как платформа влияет на благосостояние пользователей.

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

2019

Год спустя, в марте 2019 года, по крайней мере, одно исследование показало, что, хотя вовлеченность увеличилась на 50% в годовом исчислении, изменения алгоритма также увеличили разногласия и возмущение, поскольку он имел тенденцию продвигать сообщения, которые вызывали у людей волнение. (Fox News, репортажи которой вызывают у многих сильные мнения, стала лучшим издателем на Facebook по вовлеченности.)

Одновременно алгоритм в конечном итоге вознаградил побочный контент (также известный как фейковые новости) из ненадежных источников, которые знали, как играть в систему.

Алгоритм Facebook, вероятно, всегда будет в стадии разработки. Итак, давайте посмотрим, что важно для брендов, которые сегодня хотят оптимизировать свой органический охват.

Как работает алгоритм Facebook в 2020 году

В настоящее время алгоритм ранжирует сообщения, которые видит каждый пользователь, в том порядке, в котором они могут им понравиться, на основе множества факторов: a.k.a ранжирование сигналов .

По состоянию на 2020 год Facebook заявил, что его внимание сосредоточено на том, чтобы помочь пользователям понять алгоритм и взять под контроль эти ранжирующие сигналы, чтобы обеспечить лучшую обратную связь.

Сигналы ранжирования

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

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

Facebook упоминает три основные категории сигналов ранжирования:

  • С кем обычно взаимодействует пользователь
  • Тип материала в сообщении (например, видео, ссылка, фото и т. Д.)
  • Популярность поста

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

Он также позволяет людям напрямую указывать алгоритму, что для них важно — или не так важно, или прямо раздражает. Это означает, что они могут сказать Facebook, что они хотят меньше сообщений от определенного человека или видеть больше с определенной страницы.

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

  1. Кто их близкие друзья;
  2. Какие сообщения (ссылки, фото и видео) они считают ценными;
  3. Насколько важна для них конкретная группа Facebook, к которой они присоединились;
  4. Насколько они заинтересованы в просмотре контента с определенных страниц, на которые они подписаны.

Facebook использовал все эти ответы для обновления алгоритма шаблонами, которые они экстраполировали. Например, страницы и группы, которые люди определили как наиболее значимые, часто были теми, за которыми они следили в течение долгого времени, теми, с которыми они часто взаимодействовали, и теми, которые имели много сообщений и активности.

9 советов по работе с алгоритмом Facebook

Что могут сделать бренды с учетом всего этого, чтобы их стратегия в Facebook соответствовала приоритетам алгоритма Facebook?

1.Начните разговоры, которые заставят людей разговаривать друг с другом

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

Это означает, что вы должны приложить немного усилий, прежде чем алгоритм сможет начать распознавать и вознаграждать ценность вашей страницы.

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

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

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

2. Публикуйте сообщения, когда ваша аудитория в сети

Давность — еще один сигнал ранжирования, который имеет значение, поскольку алгоритм выбирает, какие сообщения показывать людям. Чем новее, тем лучше. Сейчас самое лучшее.

Но когда ваша аудитория онлайн? Что ж, по нашим данным:

  • Сообщения бренда B2B лучше всего работают с 9:00 до 14:00 во вторник, среду и четверг
  • сообщений бренда B2C лучше всего работают в полдень понедельника, вторника и среды

Взгляните на свою статистику страницы Facebook или Hootsuite Analytics, чтобы протестировать и определить лучшее время для вашей аудитории, в частности.

3. Никогда не публикуйте контент, который может снизить ваш рейтинг

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

  • Ссылки на сайты, которые используют скопированный или украденный контент без дополнительной ценности
  • Пограничный контент (он же оскорбительный, но не запрещенный контент)
  • Дезинформация и фейковые новости
  • Вводящая в заблуждение информация о здоровье или опасные «лекарства»
  • «Deepfake videos» или видео манипуляции, отмеченные сторонними специалистами по проверке фактов как ложные

4.Публикуйте качественные видео продолжительностью более 3 минут

В мае 2019 года Facebook объявил, что в ленте новостей будут появляться все более качественные оригинальные видеоролики. Алгоритм увеличивает влияние этих трех факторов ранжирования:

  • Лояльность и намерения: видео, которые люди ищут и к которым возвращаются;
  • Длина видео и продолжительность просмотра: видео, которые люди смотрят дольше 1 минуты, и которые длиннее 3 минут;
  • Оригинальность: видео, которые не перенаправлены из других источников и имеют много дополнительных преимуществ.

Если вы являетесь создателем видео на Facebook, помните об этих правилах, чтобы предоставить алгоритму именно то видео, которое он хочет. (И не забывайте совет №1: детеныши кошек в опасности.)

Совет для профессионалов: Если вы любитель видео, убедитесь, что вы используете прямое видео на Facebook, которое в среднем в шесть раз больше, чем обычное видео.

5. Публикуйте часто и последовательно

По данным Facebook, страницы, которые публикуют сообщения, с большей вероятностью будут значимы для своей аудитории.Таким образом, частота публикации — это сигнал ранжирования, который может повлиять на то, насколько высоко в ленте новостей размещаются ваши сообщения.

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

Инструмент планирования

Hootsuite позаботится обо всем этом, если вы хотите попробовать.

6. Используйте группы Facebook, которые важны для вашей аудитории

На конференции Facebook F8 в 2019 году мы услышали, что группы продолжают оставаться одной из самых ценных частей Facebook, судя по поведению пользователей.Ключевым моментом для брендов здесь является то, что Facebook сказал, что люди «могут видеть больше контента из групп в своей ленте новостей».

Facebook сам вносит свой вклад в продвижение этой функции с помощью переработанной вкладки «Группы», которая показывает новую активность. Кроме того, помогая людям открывать новые сообщества с помощью боковой панели «Предлагаемые группы» (а также в других важных местах платформы, таких как вкладка «Игры» и торговая площадка).

С обновлением дизайна Facebook «F5», выделяющим значительную площадь экрана для групп, и алгоритмом определения приоритета контента групп, бренды должны планировать воспользоваться преимуществами.

Как? Рассмотрите возможность создания новой группы на основе страницы вашего бренда. Группа может быть местом, где вы способствуете обсуждению, обучению, решению проблем и, да, серьезному развлечению на темы, которые важны для вашей аудитории.

Ознакомьтесь с нашим полным руководством по использованию групп Facebook для бизнеса, чтобы получить более подробное представление о стратегиях, которые помогут вам связаться со своими супер-фанатами и создать заинтересованные сообщества.

7. Поддержите свои обычные выигрыши с помощью платной рекламы

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

Возможности таргетинга Facebook могут стать еще более важными для рекламодателей, которым важны данные об аудитории, учитывая недавнее объявление Google о том, что Chrome прекращает использование сторонних файлов cookie.

Когда вы отслеживаете свой высокоэффективный контент, убедитесь, что вы извлекаете выгоду из возможности превратить его в рекламу с низкой ценой за клик (также известную как дешевая) для рекламы вашего бренда. С помощью Hootsuite Ads вы можете настраивать, тестировать и анализировать рекламу всей воронки:

8.Сообщите своим подписчикам, как расставить приоритеты для вашего контента в их новостных лентах

Благодаря движению Facebook к повышению прозрачности ранжирования контента в новостной ленте, ваша аудитория имеет больший, чем когда-либо, контроль над тем, что они видят.

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

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

9. Дайте возможность своим людям отстаивать ваши интересы

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

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

Будь то вы и ваша собака, или вы платите зарплату в пяти разных валютах, хорошее слово сотрудника — чистое золото.(В конце концов, они те, кто знает внутреннюю черту вашего бренда.)

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

Ознакомьтесь с нашими лучшими советами о том, как реализовать успешную программу защиты интересов сотрудников в социальных сетях.

Управляйте своим присутствием в Facebook наряду с другими вашими каналами в социальных сетях с помощью Hootsuite.С единой панели инструментов вы можете планировать публикации, делиться видео, привлекать аудиторию и оценивать результативность ваших усилий. Попробуйте бесплатно сегодня.

Начать

.

Как работают алгоритмы маршрутизации | HowStuffWorks

Алгоритмы

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

Как показано в таблице, если маршрутизатор J хочет получить пакеты на маршрутизатор D, он должен отправить их маршрутизатору H. Когда пакеты приходят на маршрутизатор H, он проверяет свою собственную таблицу и решает, как отправить пакеты на D.

Объявление

В алгоритмах DV каждый маршрутизатор должен выполнить следующие шаги:

  1. Он подсчитывает вес ссылок, напрямую подключенных к нему, и сохраняет информацию в своей таблице.
  2. В определенный период времени он отправляет свою таблицу своим соседним маршрутизаторам (не всем маршрутизаторам) и получает таблицу маршрутизации каждого из своих соседей.
  3. На основе информации в таблицах маршрутизации своих соседей он обновляет свою собственную.

Одна из наиболее важных проблем с алгоритмами DV называется « счет до бесконечности ». Давайте рассмотрим эту проблему на примере:

Представьте себе сеть с графиком, показанным ниже. Как вы видите на этом графике, существует только одна связь между A и другими частями сети. Здесь вы можете увидеть график и таблицу маршрутизации всех узлов:

Теперь представьте, что связь между A и B разорвана.В это время B исправляет свою таблицу. По прошествии определенного времени маршрутизаторы обмениваются своими таблицами, и B получает таблицу маршрутизации C. Поскольку C не знает, что случилось со связью между A и B, он говорит, что у него есть ссылка на A с весом 2 (1 для C и B и 1 для B и A — это не так. знаю, что B не имеет связи с A). B получает эту таблицу и думает, что существует отдельная связь между C и A, поэтому он исправляет свою таблицу и меняет бесконечность на 3 (1 для B на C и 2 для C на A, как сказал C).И снова маршрутизаторы обмениваются столами. Когда C получает таблицу маршрутизации B, он видит, что B изменил вес своей ссылки на A с 1 до 3, поэтому C обновляет свою таблицу и изменяет вес ссылки с A на 4 (1 для C на B и 3 для B к A, как сказал B).

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

Одним из способов решения этой проблемы является отправка маршрутизаторами информации только соседям, которые не являются эксклюзивными ссылками на пункт назначения.Например, в этом случае C не должен посылать B никакой информации об A, потому что B — единственный путь к A.

.

Как работает алгоритм Twitter в 2020 году и как заставить его работать на вас

Не всем нравится, когда алгоритм определяет контент, который они видят в Интернете. Вот почему Twitter дает людям выбор: Лучшие твиты или Последние твиты. Другими словами, алгоритм Twitter или его отсутствие.

Но правда в том, что алгоритм Твиттера неизбежен. От «Если вы пропустили это» на временной шкале Твиттера до «Для вас» на вкладке поиска — он всегда работает, чтобы показывать пользователям твиты, которые, по его мнению, они хотят видеть.

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

Изменения в алгоритме Twitter не легкие. Тем более, что первое появление алгоритма на платформе сделало хэштег #RIPTwitter популярным. Но в последнее время было внесено несколько изменений, в том числе тем Twitter и настраиваемых временных шкал , о которых вам следует знать.

Бонус: Загрузите бесплатный 30-дневный план для быстрого роста вашего Твиттера, ежедневную рабочую тетрадь, которая поможет вам установить маркетинговую рутину Твиттера и отслеживать свой рост, чтобы вы могли показать своему начальнику реальные результаты через месяц.

Как работает алгоритм Twitter

Алгоритм

Twitter, как и большинство алгоритмов социальных сетей, основан на персонализации. В Звездные войны ? Малыш Йода, вероятно, был на всей вашей временной шкале в Твиттере. Следите за американской политикой? Скорее всего, вы видели, как Элизабет Уоррен и Кейт Маккиннон щелкают выключателем.

Но как именно работает алгоритм Twitter? Все социальные алгоритмы используют машинное обучение для сортировки контента на основе различных сигналов ранжирования.

Сигналы ранжирования Twitter включают давность , релевантность , вовлеченность , мультимедиа и другие факторы.

Он складывается в сложную серию вычислений, основанных на том, что людям нравилось в прошлом, что нравилось людям, и т. Д.

Лучшие твиты и последние твиты

Пользователи

Twitter могут переключаться между двумя разными временными шкалами Twitter: Лучшие твиты и Последние твиты.

Последние твиты показывают людям твиты их подписчиков в режиме реального времени.Top Tweets использует алгоритм Twitter, чтобы перемешивать сообщения в том порядке, в котором он предлагает лучший порядок.

Новинка на iOS! Начиная с сегодняшнего дня, вы можете нажимать ✨, чтобы переключаться между последними и самыми популярными твитами на временной шкале. Скоро на Android. pic.twitter.com/6B9OQG391S

— Twitter (@Twitter) 18 декабря 2018 г.

Темы Twitter

В конце прошлого года темы также начали появляться в ленте Twitter. Twitter предлагает эти темы на основе того, что, по его мнению, кому-то нравится.Когда кто-то подписывается на тему, соответствующие твиты, пользователи, события и реклама появляются в его домашней ленте. Прямо сейчас существует более 1000 тем, и новые добавляются почти каждую неделю.

Горячие дубли? Всегда. Горячие темы? Совершенно новый.

Теперь вы можете следить за конкретными темами и находить интересующие вас твиты. pic.twitter.com/3tVBRFuTYd

— Twitter (@Twitter) 11 ноября 2019 г.

Настраиваемые сроки

Участники

Twitter также могут добавить до пяти списков, которые они могут пролистывать, чтобы переключать свои временные шкалы.Списки могут быть общедоступными или частными, и, как и шкала времени, пользователи могут переключаться между «Последние твиты» и «Лучшие твиты» в них.

Настраиваемые временные шкалы, к которым легко получить доступ? Мы думаем, как это сделать! Одна из наших идей — дать вам возможность пролистывать свои списки из дома. Если вы участвуете в тесте, расскажите нам, что вы думаете! pic.twitter.com/g5WMaNZ57N

— Twitter (@Twitter) 25 июня 2019 г.

Алгоритм не влияет на последние твиты. Но это влияет на популярные твиты и темы в Твиттере.Он также помогает определить, что появляется в «Если вы пропустили» (ICYMI), «Моменты Твиттера», «Для вас», трендовые хэштеги и т. Д.

Текущие сигналы ранжирования на временной шкале Twitter

Согласно Twitter, Лучшие твиты выбираются «на основе учетных записей, с которыми вы чаще всего взаимодействуете, твитов, с которыми вы взаимодействуете, и многого другого». Мы можем только догадываться, что означает «намного больше». У каждого алгоритма есть свой секретный соус.

Вот что Twitter сообщил о сигналах рейтинга самых популярных твитов и тем:

Время давности

  • Как недавно был опубликован твит.

Актуальность

  • Ключевые слова, используемые в твите, и как часто пользователи взаимодействуют с твитами, в которых используются похожие ключевые слова.

Помолвка

  • Сколько ретвитов, кликов, избранного и показов получает твит.
  • Вовлеченность твита по сравнению с другими твитами того же пользователя.
  • Как часто люди взаимодействуют с автором твита посредством активного взаимодействия и впечатлений.

Rich Media

  • Тип мультимедиа, которое содержит твит (изображение, видео, GIF и опросы).
  • Тип медиа-пользователей, с которыми чаще всего взаимодействуют.

Прочие факторы

  • Сколько подписчиков у аккаунта.
  • Расположение аккаунта относительно других пользователей.

Краткая история алгоритма Twitter

Следите за всеми изменениями алгоритмов Twitter на этой временной шкале с пояснениями ниже.

2006: Twitter Feed 1.0

Первый канал Twitter отображал твиты в обратном хронологическом порядке.

2014: рекомендации Twitter

Ленты

начинают включать рекомендуемые твиты, темы и аккаунты.

2015: Пока вас не было

Предшественник «На случай, если вы пропустили», этот раздел резюмировал избранные твиты, выбранные на основе «вовлеченности и других факторов».

2016: измененный порядок графиков

Первый набег Twitter на алгоритмическую реструктуризацию временных рамок продвинул «лучшие твиты» на вершину людских лент.

2017: Актуальность модели и ICYMI

В целях обеспечения прозрачности Twitter объяснил, что твиты оценивались по модели релевантности, которая использовала недавность, вовлеченность и взаимодействия для персонализации каналов. «Пока тебя не было» также заменили на «Если ты это пропустил» (ICYMI).

2018: Лучшие твиты и последние твиты

Этот обновленный канал позволяет пользователям переключаться между «Лучшие твиты» и «Последние твиты». Другими словами, поток алгоритма и поток в обратном хронологическом порядке.

2019: настраиваемые сроки

Временные шкалы можно поменять местами для пяти различных списков.

2019: темы

В ноябре Twitter представил темы как способ, с помощью которого пользователи могут следить за беседами. При отслеживании темы в ленту добавляются связанные твиты, пользователи, события и реклама.

10 советов по увеличению органического охвата ваших твитов

Попробуйте эти советы, чтобы увеличить охват и занять более высокое место в ленте Twitter.

1. Поддерживать активное присутствие в Твиттере

Все хорошие отношения требуют приверженности. Даже в Твиттере.

Как поясняет компания в своем блоге: «Чем чаще вы твитите, тем больше вероятность, что ваша аудитория увидит ваш контент и заинтересуется им». Чем чаще люди взаимодействуют, тем больше вероятность того, что алгоритм Twitter поделится с ними вашими твитами в будущем.

Недавнее исследование Pew Research Center подтверждает эту теорию. Выяснилось, что у наиболее активных аккаунтов в Twitter в среднем в 70 раз больше фаворитов и в 20 раз больше подписчиков.

Чем реже вы публикуете твиты, тем больше вероятность, что ваша учетная запись станет целью очистки и отмены подписки. Но не переживайте. Мы можем помочь вам запланировать твиты.

2. Твитнуть в нужный момент

Не рассчитывайте, что ICYMI спасет ваш невидимый контент. Очень важно твитнуть в часы пиковой активности, тем более что продолжительность твита короче, чем у серии Friends .

Исследование Hootsuite показывает, что лучшее время для публикации в Twitter — 9:00.м. и 16:00 EST в понедельник или четверг. Но с 11:00 до 13:00 Окно EST имеет тенденцию быть лучшим. Вам также следует проверить Twitter Analytics, чтобы узнать, когда большинство ваших подписчиков в сети и активны.

3. Целенаправленное добавление тегов

Хэштеги — отличный способ привлечь внимание пользователей Twitter, будь то брендированные или другие.

Следите за трендовыми хэштегами. Или, что еще лучше, планируйте заранее, используя самые популярные хэштеги и прогнозы ключевых слов в блоге Twitter. Но не переусердствуйте. Твиттер рекомендует использовать не более двух хэштегов на твит.

Подготовьте контент к весне с этими главными хэштегами 🌸 pic.twitter.com/tn87cFUHcH

— Twitter Business (@TwitterBusiness) 4 марта 2020 г.

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

Этот твит от Time’s Up предлагает мастер-класс (даже если они пробрались по третьему хэштегу). Популярный хэштег? Проверьте.Упоминание? Проверьте. Фото? Проверьте. Теги для фотографий? Проверьте.

С нас хватит неравенства в оплате труда. В этом # IWD2020 мы хотим, чтобы вы громко разговаривали с нами и @USWNTPlayers, потому что наши голоса сильны.

Расскажите нам о своем разрыве в оплате труда: отправьте сообщение EQUAL PAY на номер 306-44 и оставьте нам голосовое сообщение.

Мы поделимся некоторыми из ваших историй на #EqualPayDay. #TIMESUPPAYUP pic.twitter.com/206uWmJN65

— TIME’S UP (@TIMESUPNOW) 8 марта 2020 г.

Такое усиление сигнала обязательно принесет несколько очков алгоритму Twitter.

4. Используйте фото, видео, гифки

Повышение вовлеченности может повысить рейтинг вашего твита с помощью алгоритма Twitter. И хорошо известно, что твиты с фотографиями, видео и GIF-файлами, как правило, привлекают больше внимания.

То есть…

Вышел новый альбом Селин «Courage»! Слушайте везде! 💫🔥 / Новый альбом Céline «Courage» доступен для обслуживания! Écoutez le partout! 💫🔥- Команда Céline
👉🏼 https://t.co/zStYvl3LEf pic.twitter.com/nJLPikW9C3

— Селин Дион (@celinedion) 15 ноября 2019 г.

Ваша реакция, когда вы услышите о новой услуге @ AirCanada для The O.C. 📺☀️ pic.twitter.com/EYyM0Hmjeh

— Международный аэропорт Ванкувера (YVR) (@yvrairport) 4 марта 2020 г.

Данные Twitter показывают, что твиты с GIF-файлами привлекают на 55% больше внимания, чем твиты без них. Твиты с видео? Они видят в 10 раз больше вовлеченности.

Наши данные показывают, что твиты с GIF привлекают на 55% больше внимания, чем твиты без них.

Давайте посмотрим ваши любимые гифки👇 pic.twitter.com/DNk8TTIf8i

— Twitter Business (@TwitterBusiness) 26 февраля 2020 г.

5. Поощряйте последователей к участию

Когда дело доходит до привлечения к участию в Twitter, это просто. Просите, и вы получите.

Задайте вопрос. Попросите обратную связь. Просите ответы в формате GIF или смайликах.

Стратегия

Cashapp #CashAppWisdom собрала 11 тысяч комментариев менее чем за час.

Cash App дает советы, по шесть слов за раз.Напишите нам свой вопрос и $ cashtag. #CashAppWisdom

— Приложение Cash (@CashApp) 10 марта 2020 г.

Аккаунт

Twitter @TwitterBusiness попросил подписчиков придумать жаргон от А до Я. Hootsuite попросил подписчиков поделиться тем, за что они были благодарны в последнее время.

Хостинг в чате или «спросите меня о чем-нибудь» — еще один хороший способ начать движение.

Добро пожаловать в #HootChat всем — поехали! Откуда все присоединяются с сегодняшнего дня? (Следуйте и используйте хэштег, чтобы присоединиться) 👋 рис.twitter.com/GNZp8X3xYi

— Hootsuite (@hootsuite) 21 февраля 2020 г.

Добавьте поощрение с помощью конкурса Twitter. Формат привлечения к участию — это проверенный и верный способ накручивать лайки, ретвиты или комментарии.

🚨 Время конкурса 🚨

Чтобы отпраздновать наши * разовые * тарифы от 9,99 евро в этот День святого Валентина, мы разыгрываем полетный ваучер на 100 евро / фунтов стерлингов прямо здесь, в Twitter.

Чтобы иметь шанс на победу, просто ретвитните этот пост и ответьте гифкой, которая подытожит вашу личную жизнь прямо сейчас 😆 рис.twitter.com/9qQgyssTCj

— Ryanair (@Ryanair) 11 февраля 2019 г.

Очевидно, что если вы просите о помолвке, будьте готовы ее вернуть. Делайте ретвиты соответствующих сообщений. Отвечайте на вопросы. Проявите признательность. Одностороннего разговора не бывает.

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

— Slack (@SlackHQ) 11 марта 2020 г.

6. Попробуйте голосование в Twitter

Еще одна вещь, о которой вы можете попросить: Голоса.Опросы — это быстрый и простой способ попросить вас поделиться мнением. Это может быть что угодно, от тематического опроса о бренде до запроса конкретной обратной связи.

Glossier, опрос:

Утренний душ или ночной душ? 🚿

— Glossier (@glossier) 4 марта 2020 г.

Голосование в Twitter:

Насколько далеко вы планируете свои твиты?

— Twitter Business (@TwitterBusiness) 4 марта 2020 г.

HBO Макс .:

Это #GroundhogDay! Какие сериалы вы бы смотрели снова и снова всю оставшуюся жизнь?

— HBO Max (@hbomax) 2 февраля 2020 г.

Дополнительным преимуществом стратегии звонков и ответов является то, что она предоставляет вам массу отзывов клиентов.Убедитесь, что вы готовы максимально использовать его с такими инструментами прослушивания, как Hootsuite.

7. Рассмотрим ветку Twitter

Почему твитнуть в ветке? Как говорит Twitter: «Саспенс! Интрига! Драма !? »

Нитки просто весело распутывать. Этот формат предлагает брендам увлекательный способ создать тему или повествование. И, конечно же, несколько возможностей для взаимодействия с подписчиками.

Возьмем, к примеру, эту ветку Netflix. Он берет на себя мем Wash Your Lyrics с тематическими песнями из некоторых из его популярных шоу.Если вы поклонник друзей, вам понравится твит друзей. Во все тяжкие? Есть и для вас.

Вымой руки детти поросенок ниткой:

🎞️ Конь Боджек pic.twitter.com/bffwwRzccv

— Netflix Italia (@NetflixIT) 11 марта 2020 г.

А вот Рианна — электрическая зубная щетка Quip. Вы просто не можете отвести взгляд.

Rihanna as quip электрические зубные щетки (резьба) pic.twitter.com/GnPpFQHXwe

— quip (@getquip) 19 апреля 2019 г.

8.Присоединяйтесь к актуальным тенденциям и темам

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

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

Например, Суперкубок — это самый большой период продаж для Лэя, и большая игра, как правило, популярна и в Твиттере.Было бы безумием, если бы Lay’s не присоединился к дискуссии о Суперкубке.

LAY’S FOR SUPER BOWL! pic.twitter.com/8YXZGnNvEz

— LAY’S (@LAYS) 22 января 2020 г.

Французская актриса Адель Хенель начала #MerciAdeleHaenel, когда она вышла из Сезар, чтобы протестовать против награждения осужденного сексуального преступника Романа Полански. В знак поддержки аккаунт « Портрет дамы в огне » в Твиттере, в котором снимается Хенель, разместил клип в Твиттере.

Твит заработал более чем много внимания и признательности. Это дало пользователям Twitter что-то, чем можно поделиться в самый разгар.

Адель навсегда. pic.twitter.com/Fhe9xSLxCK

— Портрет дамы в огне (@Portrait_Movie) 28 февраля 2020 г.

Если вы планируете показывать рекламу в Twitter, используйте таргетинг на беседу, чтобы принять участие в действии.

9. Переупаковка верхнего содержимого

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

Не делайте ретвитов и не копируйте наиболее эффективный контент. Найдите творческие способы переупаковывать и делиться тем, что работает. Оставьте достаточно времени и контраст от оригинала, чтобы не показаться спамом.

В Twitter-аккаунте жителя Нью-Йорка одна и та же статья часто публикуется в разное время. Но они каждый раз выбирают разные цитаты или слоганы, чтобы зацепить вас.

Этой весной на сцене Сара Джессика Паркер и Мэтью Бродерик играют главную роль в возрождении комедии Нила Саймона 1968 года «Plaza Suite.»https://t.co/7umuD3lYu4

— Житель Нью-Йорка (@NewYorker) 29 февраля 2020 г.

Этой весной у Бродвея Клэр Фой и Мэтт Смит из «Короны» воссоединяются в «Легких», портрете Дункана Макмиллана, где пара решает, стоит ли приводить ребенка в мир, которому угрожает экологическая гибель. https://t.co/eb1hzJfo93

— Житель Нью-Йорка (@NewYorker) 29 февраля 2020 г.

10. Используйте данные Twitter Analytics

Когда дело доходит до алгоритмов, не существует универсальных решений.Используйте Twitter Analytics, чтобы отслеживать, что работает, а что нет, и соответствующим образом адаптируйте эти советы для своей учетной записи.

Экономьте время, управляя своим присутствием в Твиттере, используя Hootsuite для обмена видео, планирования публикаций и отслеживания ваших усилий. Попробуйте бесплатно сегодня.

Начало работы

.

Как работает алгоритм LinkedIn и как заставить его работать на вас

Алгоритм

LinkedIn, как правило, остается незамеченным — за исключением прошлогодней вспышки #broetry. Но это не из-за отсутствия новостей.

За последние два года обновление алгоритма LinkedIn привело к увеличению вирусной активности более чем на 50%. Более двух миллионов сообщений, видео и статей теперь фильтруются, ранжируются и отображаются в лентах более 645 миллионов участников LinkedIn.

Чем объясняется этот рост, обусловленный алгоритмами? По словам Пита Дэвиса, старшего директора LinkedIn по управлению продуктами, мантра ленты : «Люди, которых вы знаете, говорят о вещах, которые вам небезразличны. Другими словами, алгоритм Linkedin отдает приоритет личным связям на основе интересов.

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

Бонус: Загрузите бесплатное руководство, которое показывает 11 тактик, которые команда Hootsuite использовала в социальных сетях для увеличения своей аудитории LinkedIn с 0 до 278 000 подписчиков.

Как работает алгоритм LinkedIn

Алгоритм LinkedIn преследует две основные цели:

  1. Расставить приоритеты для релевантного контента
  2. Для содействия вовлечению

Релевантность важнее давности, поэтому канал домашней страницы по умолчанию настроен на «верхние» сообщения.Но у участников все еще есть возможность переключиться на «недавние» сообщения.

Перед последним обновлением (2019 г.) LinkedIn обнаружила, что его алгоритм непреднамеренно создал «эхо-камеру суперзвезды». Мегапользователи, такие как Ричард Брэнсон, легко могли превратить популярность в вирусность. Но обычным пользователям было труднее привлечь внимание.

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

Чтобы устранить неравенство, LinkedIn обновила алгоритм, чтобы показывать участникам сообщения от людей, которых они действительно знают. И контент, относящийся к темам, которые их волнуют (поскольку они не обязательно исключают друг друга).

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

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

Топ-3 рейтинговых сигналов алгоритма LinkedIn

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

1. Личные связи

Вы можете подписаться на Опру Уинфри в Linkedin, но, скорее всего, вы не знаете ее лично. Новый алгоритм LinkedIn нацелен на повышение веса личных связей на .

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

2. Актуальность интересов

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

Согласно блогу LinkedIn Engineering, алгоритм также учитывает язык сообщения, а также компании, людей и темы, упомянутые в нем.

3. Вероятность помолвки

Взаимодействие — ключ к успешной работе алгоритма. Алгоритм LinkedIn ранжирует этот компонент в два этапа.

Сначала алгоритм оценивает вероятность того, что вы поделитесь, прокомментируете или отреагируете на сообщение. Он может измерять это на основе контента, который вам понравился и которым вы поделились в прошлом, а также того, с кем вы чаще всего взаимодействуете. LinkedIn называет это многоцелевой оптимизацией.

Во-вторых, как заявляет LinkedIn, «модель также учитывает своевременную обратную связь с создателями контента». Другими словами, чем быстрее после публикации поста начнутся взаимодействия, тем больше вероятность, что LinkedIn включит его в чужие ленты.

Возможно, вы заметили, что эти факторы имеют много общего с сигналами алгоритмов Instagram.

8 советов, как «обыграть» алгоритм LinkedIn

LinkedIn слишком хорошо знает, что некоторые участники намереваются изменить или перепроектировать алгоритм. По этой причине компания предоставила советы и передовые методы, которые включены здесь, а также еще несколько от меня.

1. Будьте актуальны

Легче сказать, чем сделать, правда? Создатели контента могут оценить релевантность несколькими способами.

Во-первых, главное правило: знай свою аудиторию. Начните с тщательного исследования аудитории. Используйте аналитику, информацию с других ваших платформ или даже аудиторию конкурентов, чтобы сформировать образы, изобразить интересы и лучше понять, что интересует вашу аудиторию. Используйте эти результаты в качестве отправной точки для своей маркетинговой стратегии LinkedIn.

Релевантность может относиться и к форматам. Члены LinkedIn предпочитают использовать мультимедийные материалы. Сообщения с изображениями получают в два раза больше комментариев, чем текстовые сообщения, а видео в пять раз чаще получают комментарии.В целом видео на LinkedIn привлекают в три раза больше внимания, чем текстовые публикации.

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

2. Продвигайте свои сообщения

Один из лучших способов повысить вовлеченность ваших постов — увеличить количество людей, которые его увидят. Создатели могут использовать несколько тактик, чтобы получить дополнительную поддержку в LinkedIn.Помечайте соответствующие компании и участников, используйте ключевые слова стратегически и включайте соответствующие хэштеги.

Фирменные хэштеги также могут иметь здесь большой потенциал. Если вы создадите хэштег, за которым стоит следить, скорее всего, алгоритм покажет сообщения, которые его используют, для подписчиков хэштега. Примеры включают Lyft #LifeAtLyft, Nike #SwooshLife или Adobe #AdobeLife. Google #GrowWithHashtag создает сообщество из более чем 2 000 стажеров, которые могут общаться и делиться опытом на платформе. Дополнительные советы по тегам см. В нашем руководстве по хэштегам LinkedIn.

Не все рекламные акции должны проводиться в LinkedIn. Если вы думаете, что недавний пост может быть интересен сотрудникам или клиентам, поделитесь им в Slack или в своей электронной рассылке. Это может быть отличным способом привлечь неактивных участников LinkedIn к вашему контенту. В свою очередь, участие повысит ваш рейтинг с помощью алгоритма LinkedIn. Это беспроигрышный вариант.

3. Поощряйте участие

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

Конечно, если вы хотите, чтобы участники LinkedIn взаимодействовали с вами, обязательно вернитесь к диалогу. Как объясняет Пит Дэвис: «Как показывает практика, лучшие разговоры должны быть искренними и конструктивными».

4. Занять нишу против широкого

Этот совет прямо из LinkedIn.«Из наших данных мы знаем, что участники больше заинтересованы в углублении в интересующие их темы», — объясняет Дэвис. «Мы постоянно видим, что обсуждаются нишевые идеи лучше».

Это обычное препятствие для компаний, особенно стартапов, которые обещают изменить мир или произвести революцию в отрасли. Запасная гипербола в пользу конкретной конкретики. И не забывайте совет №1: будьте актуальны.

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

Возьмите KLM. Хотя авиакомпания может использовать популярные хэштеги, такие как #travel, она часто выбирает более нишевые теги, такие как #aviation. Это отличное различие, поскольку #travel связывает KLM с теми, кто время от времени испытывает тягу к путешествиям, а #aviation связывает авиакомпанию с постоянной базой #avgeeks.

Это не значит, что вы должны полностью игнорировать общие хэштеги. Найдите правильный баланс, но не переусердствуйте. LinkedIn рекомендует три хэштега максимум .

5. Пост в нужное время

Чем быстрее приходят лайки и комментарии, тем выше рейтинг вашего сообщения в LinkedIn. Один из лучших способов оптимизировать взаимодействие — публиковать сообщения, когда участники LinkedIn находятся в сети.

По данным Hootsuite:

  • Лучшее время для публикации сообщений в LinkedIn — 7:45, 10:45, 12:45 и 17:45. СТАНДАРТНОЕ ВОСТОЧНОЕ ВРЕМЯ.
  • Лучший день для B2B-брендов для размещения сообщений в LinkedIn — среда (затем вторник).
  • Лучшие дни для B2C-брендов для публикации в LinkedIn — понедельник и среда.

Не забудьте сверить эти выводы с собственными аналитическими данными. Например, если значительная часть вашей аудитории проживает в определенном часовом поясе, вы можете обнаружить некоторые различия.

6. Постройте свою сеть стратегически

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

Независимо от того, ведете ли вы личный профиль или страницу в LinkedIn, обязательно:

  • Заполните свой личный профиль и страницу как можно полнее и постоянно обновляйте их.
  • Добавьте контакты (люди, которых вы знаете или думаете, от которых было бы интересно узнать обновления).
  • Поощряйте сотрудников указывать, что они работают в вашей компании, и использовать ваш корпоративный хэштег.
  • Следуйте за другими и привлекайте подписчиков (это отличается от связей в LinkedIn).
  • Участвуйте в группах LinkedIn или создайте свои собственные.
  • Давать и получать рекомендации.
  • Убедитесь, что ваш профиль открыт для всех, чтобы люди могли найти вас, добавить вас и увидеть ваши сообщения.
  • Присоединяйтесь к разговорам и будьте активны в сети в целом.
  • Продвигайте свои страницы LinkedIn на своем веб-сайте и в других соответствующих местах (например, биографии сотрудников, визитные карточки, информационные бюллетени, подписи электронной почты и т. Д.). Для этого полезно настроить индивидуальные URL-адреса. Здесь вы можете найти подходящие логотипы.
  • Рассмотрите возможность создания страницы LinkedIn Showcase.

7. Оптимизируйте с помощью LinkedIn Analytics

Если что-то работает хорошо, скопируйте это. Используйте LinkedIn Analytics или Hootsuite Analytics, чтобы понять, какие публикации работают лучше всего и почему. Может быть, это потому, что вы разместили их все в определенное время. Или, может быть, каждый пост содержал вопрос? Что бы это ни было, узнайте и используйте эти идеи, чтобы усовершенствовать свою контент-стратегию LinkedIn.

8. Будьте личными

Согласно LinkedIn, подлинность является ключевым моментом. «Подлинный разговор о реальном опыте способствует лучшему и более глубокому разговору», — объясняет Дэвис.«Лучшее общение, в свою очередь, ведет к укреплению сообщества и связей».

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

Легко управляйте своей страницей в LinkedIn вместе с другими социальными каналами с помощью Hootsuite. С единой платформы вы можете планировать и обмениваться контентом, включая видео, и задействовать свою сеть.Попробуйте сегодня.

Начать

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *