Роевой интеллект: сначала домен, потом алгоритм
Почему в задачах роевого интеллекта сначала нужно понять систему и только потом выбирать алгоритм — на примере складских роботов и LogiFlex.
Одна из ключевых сложностей — и одновременно трендов — в работе с роевым интеллектом сегодня звучит так: сначала домен, потом алгоритм. Недостаточно взять Ant Colony Optimization, Particle Swarm Optimization или другой красивый подход и попытаться встроить его в бизнес-задачу.
Сначала нужно понять саму систему: что в ней является агентом, какие у него ограничения, как агенты взаимодействуют и что вообще считается хорошим результатом. И только после этого выбирать алгоритм. Роевой интеллект не знает, что такое хороший маршрут, эффективный склад или правильная координация роботов, — он лишь ищет решение внутри пространства, которое мы для него спроектировали.
Пример: склад с автономными роботами
Можно сразу сказать: «Давайте применим swarm intelligence». Но сначала нужно понять физику процесса:
- 01Что переносим и где могут ехать роботы
- 02Где возникают пробки
- 03Как роботы заряжаются
- 04Какие задания приоритетнее
- 05Что считается хорошим результатом
Только после этого появляется математическая постановка: агент, состояние, допустимые действия, ограничения, целевая функция.
А уже затем можно решать, нужен ли здесь вообще рой. Возможно, задачу лучше решит классическая оптимизация. Возможно — генетический алгоритм. Возможно — несколько простых эвристик. А возможно, действительно нужна система, где множество агентов локально принимают решения и вместе создают глобальное поведение.
Как это было в LogiFlex
Мы уже сталкивались с похожей логикой при разработке LogiFlex — системы оптимизации укладки товаров в грузовой транспорт. Сначала изучили структуру складов, категории товаров и реальные сценарии логистов, затем формализовали размеры, вес, совместимость товаров и другие ограничения — и только после этого построили решение на генетическом алгоритме.
В итоге система перебирает более 10 000 вариантов расстановки с учётом физических ограничений груза и рассчитывает заполнение примерно за 10 секунд.
Поэтому наше правило для подобных R&D-задач довольно простое:
Не ищем задачу для красивого алгоритма. Сначала понимаем задачу — потом выбираем алгоритм.