Я работаю над проектом, цель которого состоит в том, чтобы найти способ с меньшими затратами времени отправить X муравьев из точки A в точку B с ограничением, что только один муравей за раз может стоять на «промежуточных платформах» - не надо. Я не знаю, как сказать это по-английски - за исключением пунктов А и Б.
Я уже смотрел на такие алгоритмы, как A * или Dijkstra, но они сосредоточены только на кратчайшем пути, чтобы добраться из точки A в точку B, что в некоторых случаях не является лучшим, так как вы бы предпочли выбрать 2 более длинных пути. и отправить больше муравьев за один ход.
И вот где ты мне нужен. Вы знаете такой алгоритм?
Надеюсь, я прояснил свой вопрос и с нетерпением жду ответов. Спасибо.
РЕДАКТИРОВАТЬ: Вот пример того, где A * не будет работать:
-L-M-N-O-P-S-T-U-V-W-X-Y-Z--| Going from one letter
| | | to another costs 1 turn
H-----I-----J------K |
| | |
START--A-B-C-D-E-F-G-------END
Если у меня 17 муравьев, лучший вариант - отправить 2 муравьев за раз в следующих направлениях:
- START-H-I-J-K-W-X-Y-Z-END
- START-A-B-C-D-E-F-G-END
а не все в START-H-I-J-K-G-END, поскольку A * предлагает как лучший вариант.