给定图形的任意两个顶点之间的m个最短路径。确定我们是否可以选择k个最短路径,使其联合覆盖所有边缘。
我确信减少必须来自封面,但我没有办法如何将其减少到这个问题。请帮帮我
答案 0 :(得分:2)
提示:请看下面的图表。从A到B有很多不同的最短路径。你能用这样的图形和一组路径编码集合覆盖吗? (好吧,你可能需要稍微修改图表,但这是一般的想法)。
o o o o o o o o o o o o o
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
A o o o o o o o o o o o o B
\ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /
o o o o o o o o o o o o o
答案 1 :(得分:1)
更新也不知道套装也是NP-complete。没有必要做任何事情来使原件适合精确的套装,所以我做的wlog假设是没有必要的。但我也意识到我的证据的基本思想是错误的:它表明当前问题是另一个问题的一个特例,这使得它更容易,而不是更难。完整而正确的答案由https://math.stackexchange.com/q/2047262 mjqxxxx给出。
让我们w.l.o.g。假设没有单个顶点属于多于1个路径(即路径对应于不同的顶点集)。
然后这个问题是完全封面问题(NP-complete)扩展到找到所有精确的封面而不是只有任何一个(和然后检查其中一个是否有确切的 https://en.wikipedia.org/wiki/Set_cover_problem k
元素 - 这种检查在一般情况下有点棘手)。 https://en.wikipedia.org/wiki/Exact_cover
集X
包含图的所有顶点,集合S
包含与给定路径集对应的顶点集。