我知道有很多类似的话题。但是他们中的大多数人在我的案例中给我留下了一些疑问。我想要做的是找到完美匹配(或者尽可能接近完美匹配当然没有完美匹配)然后从所有匹配中找到你能够匹配n个顶点中的k(其中k是最高的) ),我想选择尽可能高的总重量。 所以简单地说我所说的是优先考虑的事情:
我听说过Ford-Fulkerson算法。它是按我描述的方式工作还是需要其他算法?
答案 0 :(得分:5)
如果您自己实现此功能,则可能需要使用Hungarian algorithm。存在更快的算法,但不易理解或实施。
Ford-Fulkerson是一种最大流算法;您可以轻松地使用它来解决未加权的匹配问题。将其转换为加权匹配算法需要额外的技巧;有了这个技巧,你最终会使用匈牙利算法。
您还可以使用最低成本流算法进行加权二分匹配,但它可能无法正常工作。还有网络单纯形法,但似乎主要是历史兴趣。