中国邮递员问题:寻找奇数节点之间的最佳联系


9

我正在编写一个程序,以无方向的方式解决中国邮递员问题(也称为路线检查问题),并且目前正面临该问题,以找到最佳的附加边来连接奇数度的节点,因此我可以计算出一个欧拉回路。

可能存在(考虑要解决的图形的大小)需要计算和评估的边的巨大组合。

作为示例,存在奇数度节点。最佳组合可能是:A,B,C,D,E,F,G,H

  1. AB,,,E F G HCDEFGH
  2. AC,,,E H F GBDEHFG
  3. AD,,,E G F HBCEGFH
  4. AE ....

其中表示“节点与节点之间的边缘”。A BABAB

因此,我的问题是:是否有一种已知的算法能以比纯暴力破解更好的复杂性来解决该问题(对它们全部进行计算和评估)?

€:经过一番研究,我找到这篇有关“爱德蒙兹最小长度匹配算法”的文章,但找不到该算法的任何伪代码或学习者说明(或者至少我不认识它们,因为Google提供了许多热门歌曲,并且匹配了J. Edmonds的算法)


4
维基百科说,有一个针对中国邮递员问题的算法O(n3)
hugomg

我知道,但是我仍然好奇如何做到这一点。
Sim

2
这些讲义处理了中国邮递员问题:win.tue.nl/~nikhil/courses/2WO08/lec4.pdf
亚历克斯·十·布林克

辛,我对您的软件感兴趣,因为我面临映射问题:help.openstreetmap.org/questions/13197/…祝您的项目好运。下午在pmbooks dot com

试试我链接的文章,它描述了最小长度匹配算法,但是由于我缺乏经验和缺少伪代码,令人遗憾的是我无法实现它。
2012年

Answers:


1

如评论中所述,Wikipedia 从路线检查减少到最小重量匹配。弗拉基米尔·柯尔莫哥洛夫(Vladimir Kolmogorov)用C ++ 发表了埃德蒙兹(Edmonds)开花算法加权版本的快速实现 [1]。

[1] V. Kolmogorov,Blossom V:最低成本完美匹配算法的新实现数学规划计算,1(1):43–67,2009。


1
而且,我们不要称其为“中国邮递员问题”。与中国的唯一联系是关美光提出的,而他的国籍与问题无关。将其命名为“中国人”表明,关于他的最重要的事情是他的族裔。例如,我们没有将众所周知的用于计算图形中最短路径的算法称为“荷兰算法”,或更糟的是将其称为“白人算法”。(是的,出于同样的原因,我反对“中国余数定理”,但那匹马在很久以前就被拴住了。)
David Richerby 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.