Как найти кратчайший путь в динамической ситуации

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

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

$2Проблема в том, что все агенты одновременно ходят в окружающей среде (которая может быть смоделирована неориентированным взвешенным графом), и у нас не должно быть никаких столкновений. Я думал об этом, но я не мог найти оптимальный путь для всех них. Но наверняка есть слишком много эвристических идей для этой проблемы.3Предположим, что вводом является граф G (V, E), m агентов, которые находятся в: S4$m$5Проблема в том, что все агенты одновременно ходят в окружающей среде (которая может быть смоделирована неориентированным взвешенным графом), и у нас не должно быть никаких столкновений. Я думал об этом, но я не мог найти оптимальный путь для всех них. Но наверняка есть слишком много эвристических идей для этой проблемы.6$m в конце. Также может быть конфликт в узлахSi или жеDi, ... но эти конфликты не важны, они не должны иметь конфликтов, когда они находятся на своих внутренних узлах своего пути.

Если их путь не должен иметь одинаковый внутренний узел, это будет своего родаk-disjoint paths проблема в том, что NPC, но в этом случае пути могут иметь одинаковые узлы, но агент не должен находиться в одном узле в одно и то же время. Я не знаю, могу ли я сказать точное постановка проблемы или нет. Если это сбивает с толку, скажите мне в комментариях, чтобы отредактировать его.

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

Ответы на вопрос(2)

Ваш ответ на вопрос