Отказ от ответственности: я не обладаю обширными знаниями о литературе по этой теме. Однако в прошлом я делал несколько подобных вещей (а именно, отслеживал происхождение источника звука)
Простая вещь, когда вы хотите преследовать цель, это идти прямо к ней. Это то, что ты сделал. Тем не менее, цель будет двигаться в то же время. Поэтому алгоритм оптимален только тогда, когда цель не двигается.
Первый элемент сложности, который мы можем иметь, состоит в том, что цель имеет фиксированную траекторию (которая неизвестна преследователю). Я вполне уверен, что если траектория цели может быть любой функцией, то нет лучшего алгоритма, чем предыдущий простой. Однако вы всегда можете сделать некоторые разумные предположения (скорость цели не может изменяться слишком быстро, т. Е. Ее ускорение ограничено), что позволяет вам придумывать лучшие алгоритмы.
Итак, в качестве первого шага я бы реализовал фильтр Калмана . Это дает вам оценку траектории цели. Вы можете сделать несколько быстрых вычислений, и это даст вам траекторию, которую преследователь должен пройти, чтобы перехватить его за минимальное время.
Теперь, если вы хотите что-то более изощренное (на данный момент я не рекомендую), вы можете попытаться изучить траекторию цели (но зачем вам это? Фильтры Калмана часто бывают оптимальными). Таким образом, вы можете оценить его траекторию с помощью нейронных сетей, алгоритмов повышения и т. Д. Но я, честно говоря, не верю, что это было бы полезно.
Я сказал, что это первый уровень сложности. Второй уровень сложности состоит в том, чтобы считать, что цель адаптирует свою траекторию в соответствии с тем, что делает преследователь. Это привело бы к некоторому состязательному поиску. Это может быть интересно, но я недостаточно уверен в этой теме, чтобы говорить об этом подробнее.