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