Почему Networkx и Igraph возвращают разные значения для функции Mincut? - PullRequest
0 голосов
/ 05 апреля 2019

Я тестирую функции минимального сокращения как для Networkx, так и для Igraph, но я столкнулся с ситуацией, когда они возвращают разные значения для своих соответствующих функций mincut, учитывая точно такой же график.

G = nx.Graph()
graph = ig.Graph()
#LINES[1 - 3] are just src dest weights from a file. I did not include the parsing code for clarity purposes.
G.add_edge(lines[1], lines[2], weight=int(lines[3]))
graph.add_vertex(lines[1])
graph.add_vertex(lines[2])
graph.add_edge(lines[1], lines[2], weight=int(lines[3]), capacity=int(lines[3]))
ans = nx.stoer_wagner(G)
print("MinCut Val: ", ans[0])
print(graph.mincut())

Мой вывод из командной строки выглядит следующим образом:

 MinCut Val:  744
 Graph cut (0 edges, 1024 vs 31232 vertices, value=0.0000)

Есть ли причина такого несоответствия? Как это возможно для mincut быть 0 для одного и 744 для другого?

Спасибо!

...