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