Я пытаюсь рассчитать кратчайший путь между двумя точками, используя алгоритмы Дейкстра и А-Звезды (в направленном графике NetworkX).
В настоящий момент он работает нормально, и я вижу вычисленный путь, но мне хотелось бы найти способ ограничения определенных путей.
Например, если у нас есть следующие узлы:
nodes = [1,2,3,4]
С этими ребрами:
edge = ((1,2), (2,3), (3,4))
Есть ли способ блокировки/ограничения 1 → 2 → 3, но все еще разрешить 2 → 3 и 1 → 2.
Это означает, что:
-
может перемещаться от 1 до 2
-
может перемещаться от 2 до 3
-
не может перемещаться от 1 до 3.. прямо или косвенно (т.е. ограничивать 1- > 2- > 3 путь).
Может ли это быть достигнуто в NetworkX.. если нет, есть еще одна библиотека графов в Python, которая позволила бы это?
Спасибо.