繁体   English   中英

证明NP完整性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM