2010-11-02 91 views
2

我正在尋找Python中用於流動網絡(有向圖)的s-t切割算法的實現。Python中的s-t切割算法

是否有Vertex Cut算法的版本?

+0

您是否檢查過http://code.google.com/p/python-graph/? – Constantin 2010-11-02 09:25:45

回答

1

igraph有它:

>>> from igraph import Graph 
>>> from random import randint 
>>> g = Graph.GRG(100, 0.2)  # generate a geometric random graph 
>>> g.es["capacity"] = [randint(0, 1000) for i in xrange(g.ecount())] 
>>> cut = g.maxflow(0, 99, "capacity") 

cut.membership然後給你的每個頂點(0-1向量)的成員,cut[0]讓你在切口的一側的頂點,cut[1],使另一方,cut.value給切割的價值。

+0

任何方式來獲得頂點切割集?除了邊緣切割集的終點的簡單回答之外。我們是否也可以找到最小頂點切割集? – Shatu 2012-05-25 20:35:08