如何解决我在python中使用Christofide的算法来求解TSP,将节点与奇数边缘配对时,最小权重完美匹配意味着什么?
我一直在努力解决python中的Traveling Salesman问题,并且达到了一个令人困惑的地步。我对这类算法和图论并不陌生,因此我对最小权重完美匹配感到困惑。我使用Kruskal算法创建了路径为黑色的最小生成树,而我对最小权重完美匹配的解释为橙色。 Picture of current progress但是,似乎橙色线条似乎无法为边缘奇怪的节点提供最完美的匹配。
我对最小权重完美匹配的解释是基于Kruskal算法。
for e in edges:
if e.x.needMatch == True and e.y.needMatch == True and (e not in e.x.connections and e not in e.y.connections):
e.x.needMatch = False
e.y.needMatch = False
e.x.connections.append(e)
e.y.connections.append(e)
e.perfectMatch()
我已经按照从最短的长度到最长的长度对边缘进行了排序,就像我实现Kruskal算法时所做的那样。我遍历了边缘,如果内容2个节点的边缘数为奇数,则将它们定义为“完全匹配”。
有人可以在这个方向上指导我正确的方向吗?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。