Современные роботизированные системы представляют собой несколько устройств-роботов, каждый из которых осуществляет конкретное автоматизированное действие, при этом они вместе выполняют одну глобальную задачу. Так, например, действуют системы пожаротушения: один робот фиксирует возгорание, другой ловит этот сигнал и направляет тушащую смесь в конкретную точку, третий защищает соседние конструкции и т.д. Другой пример — работа роботов в складских помещениях, где несколько устройств передвигают и расставляют коробки. Во всех этих случаях критически важен порядок действий — чтобы каждый робот своевременно выполнял свою задачу.
Обычно порядок действий контролирует центральный сервер, к которому подключены роботы. Но что, если он внезапно выйдет из строя? Для таких случаев используются децентрализованные алгоритмы, основанные на том, что каждое устройство действует в соответствии с собственным аппаратным временем — внутренними часами. Таким образом, роботы могут обмениваться этими показателями друг с другом и в соответствии с этим координировать действия. Но проблема в том, что эти внутренние часы могут сбиваться из-за изменений температуры или других производственных факторов, у каких-то устройств они могут спешить или отставать — в этом случае снова появляется риск, что порядок действий будет нарушен.
Ученые и раньше пытались решить эту проблему — например, за счет общего среднего или максимального времени. Новый алгоритм Softmax, разработанный исследователями Центра искусственного интеллекта и науки о данных СПбГУ, поможет решить проблему монотонности действий, которая часто сбивается при стремлении к общему среднему или максимальному значению. Об этом «Научной России» рассказал Иван Архипов, специалист Центра ИИ и НоД СПбГУ.
«Обычно для синхронизации времени существует центральный сервер – выделяется определенный узел сети, который диктует другим узлам свое время. Мы ставили задачу организовать работу системы без единого центра. Как это работает? Узлы обмениваются своим логическим временем, и в соответствии с этим каждый из них правит свое время. И здесь есть несколько подходов. Самый очевидный — это создание протокола локального голосования, который берет среднее значение – над ним сейчас работает группа Олега Николаевича Граничина (д.ф.-м.н., профессор кафедры системного программирования математико-механического факультета СПбГУ. — Примеч. ред.). Но этот подход неприменим для нашей задачи, потому что довольно часто возникают ситуации, когда время становится немонотонным. А это важно для логов (системный файл, в котором записываются все действия в хронологическом порядке. — Примеч. ред.), для причинно-следственных связей, чтобы не было путаницы на самих узлах. Второй алгоритм, который мы рассматривали — это взятие максимума. Здесь, с одной стороны, монотонность гарантирована — все узлы стремятся к максимальному значению, то есть к самому быстрому узлу. Но с другой — в какой-то момент часы из-за этого начинают бесконечно ускоряться: один узел подправляет свою скорость, чтобы догнать, и в итоге перегоняет, второй узел из-за этого снова начинает ускоряться, и так далее по кругу. Поэтому мы взяли алгоритм Softmax — это промежуточная функция между средним и максимумом. Получается компромисс. С одной стороны, у нас гораздо меньше ситуаций, когда приходится уменьшать локальное время, с другой — за счет максимума соблюдается монотонность», — объяснил Иван Архипов.
По словам специалиста, именно в монотонности и заключается основная инновация: более ранние подходы к созданию алгоритмов без центрального узла основывались на немонотонном времени, из-за чего и возникали сбои в системе.
Новость подготовлена при поддержке Министерства науки и высшего образования РФ



















