Edmonds开花算法,用于无向图中的最大权重匹配
该库实现了Blossom算法,该算法计算O(节点数** 3)中无向图的最大加权匹配。
它从Joris van Rantwijk编写的python代码移植而来,该代码包含在NetworkX图形库中并进行了修改。
入门
将必要的依赖项添加到您的项目中:
[ageneau/blossom " 0.1.4 " ]
[aysylu/loom " 1.0.2 " ]
用法
( ns test.blossom
( :require [blossom.max-weight-matching :as mwm]
[blossom.matching :as m]
[loom.graph :as lg]))
( def edges [[ 1 2 2 ][ 1 3 -2 ][ 2 3 1 ][ 2 4 -1 ][ 3 4 -6 ]])
( def g ( -> ( lg/weighted-graph ) ( lg/add-edges* edges)))
; ; Compute a maximum weig
1