Я использую следующий пример кода на Python для расчета потока между каждой парой узлов на графике ниже, чтобы определить, является ли график 2-связным. Возвращает, что граф 2-связный и все пары узлов имеют поток >=2
, что неверно, поскольку отмеченная область имеет разрезной узел. Я не могу определить, что я делаю неправильно. Может ли кто-нибудь помочь мне с этим?
for edge in list(T.edges()):
T[edge[0]][edge[1]]['capacity']=1
T[edge[1]][edge[0]]['capacity']=1
flow3 =[]
for d in V:
tempvert =[]
tempvert = set(V) - set([d])
for a in tempvert:
flow_value = nx.maximum_flow_value(T, a, d,capacity = '1')
@Joel Большое спасибо за ваш отзыв! Есть ли способ, которым я . может исправить это?
Попробуйте использовать nx.node_connectivity(G)
. Вот документация.
Проблема в том, что в узле разреза есть два ребра внутри и снаружи. Определенная вами емкость находится на грани. Таким образом, поскольку у него есть 2 ребра из каждого региона, этот узел имеет достаточную пропускную способность для переноса 2 единиц чего бы то ни было между двумя регионами.