Поиск пути - A * с наименьшим количеством поворотов

Можно ли изменить A *, чтобы вернуть кратчайший путьс наименьшим количеством оборотов?

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

Но главная проблема, с которой я сталкиваюсь, состоит в том, как обработать число поворотов до частичной стоимости пути (г). Если я умножу g на количество пройденных поворотов (t), происходят странные вещи, например: более длинный путь с N витками в конце предпочтительнее более короткого пути с N витками в начале.

Другое менее оптимальное решение, которое я рассматриваю, заключается в следующем: после вычисления кратчайшего пути я мог бы выполнить вторую итерацию A * (с другой формулой стоимости пути), на этот раз ограниченную в диапазоне x / y кратчайшего пути, и вернуть путь с наименьшим количеством поворотов. Есть другие идеи?

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

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