Я определил узлы и ребра для графа, которые я хочу использовать для определения пути, используя алгоритм A *. У меня есть алгоритм A *, который, кажется, работает, но теперь мне нужно предотвращать развороты. Это не дороги с двумя или более полосами движения, это только одно направление, хотя два узла образуют два ребра (по одному в любом направлении).
Так, например, если я хочу вычислить маршрут из 1114-1105, алгоритм выдаст мне 1114-1112-1105. Это недопустимо, поскольку включает разворот с 1112 на 1105. Результат, который я хочу достичь, был бы больше похож на 1114-1110-1111-1113-1112-1105.
Я наивно думал, что смогу вычислить угол между предыдущим, текущим и следующим узлами, который в этом случае будет равен 0, а затем добавить большое число к значению 'f'. Но, похоже, это ничего не делает.
Есть предложения, как это реализовать? Спасибо