[英]Proving NP-Completeness
给定图形的任意两个顶点之间的m个最短路径。 确定我们是否可以选择k个最短路径,使其联合覆盖所有边缘。
我确信减少必须来自封面,但我没有办法如何将其减少到这个问题。 请帮帮我
提示:请看下面的图表。 从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
更新不知道集合封面也是NP完全的。 没有必要做任何事情来使原件适合精确的套装,所以我做的wlog假设是没有必要的。 但我也意识到我的证据的基本思想是错误的 :它表明当前问题是另一个问题的一个特例,这使得它更容易,而不是更难。 完整而正确的答案由mjqxxxx在https://math.stackexchange.com/q/2047262上给出。
让我们的wlog假设没有单个顶点属于多于1个路径(即路径对应于不同的顶点集)。
然后
这个问题是一个
精确的
覆盖问题(NP完全)
扩展到找到所有精确的覆盖而不是只有任何一个(然后检查其中一个是否有精确的
k
元素 - 这个检查一般有点棘手)案件)。
https://en.wikipedia.org/wiki/Exact_cover
https://en.wikipedia.org/wiki/Set_cover_problem
集合X
包含图形的所有顶点,集合S
包含与给定路径集合对应的顶点集合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.