我想嵌入3个NP-Complete问题(其中2个被称为NP-Complete,其中1个是我自己的想法)。我看到了“this question”,并在理论上重新解释了嵌入问题:
这部分是嵌入2个NP-Complete问题。
我的想法是,更多的物品意味着更多的包重量。更多的包重量使得小偷成倍减速。因此,小偷的另一个目标应该是尽可能快地完成抢劫。
此时,我不确定我的想法实际上是NP-Complete。也许,“引力”不仅仅是NP完全问题。但也许正是在旅行推销员和背包问题的背景下。
所以我的问题是:
小偷NP完全放慢了吗?
是否可以将这三个嵌入式问题简化为简单的NP完全问题?
答案 0 :(得分:2)
好的,这只是一个位很难遵循,但我想我已经得到了要点。
XKCD卡通片向您展示了如何轻松地完成NP-complete的真实问题。 (当然,由于大多数菜单都有少量商品和一套统一的价格,因此也很容易证明有一个简单的答案。)
我认为你所指的“嵌入”NP完全问题的想法是找到一个多时间减少;我在其他地方written that up pretty completely。
答案 1 :(得分:1)
这有点令人困惑,但这是我对一些可能问题的答案。
两个NP完全问题的组合将是NP完全的。事实上,NP完全问题与任何其他问题的结合将是NP完全的。
我不知道如何评估重力问题是否完全是NP完全的,因为它不是单独的。如果点之间的时间取决于距离和背包重量,那么它是NP完全的,因为它是旅行推销员问题的一部分。如果没有,那么正确的解决方案是拾取最轻到最重的物体。
综合问题是两个问题的组合(要偷的对象,要采取的路线),并且对我来说看起来并不比两个分别更有趣,因为你可以解决一个而不用担心另一个。添加与重量相关的延迟可以解决问题,因此它们不是独立的,但除了可以提供最佳盗窃的速度之外,还需要评估功能(最佳盗窃是其自身的问题,然后它只是一个经过修改的TSP)。
你也不会能够解决问题,结合它们,使它们复杂化,然后提出一个更简单的问题。
答案 2 :(得分:0)
老实说,我不知道你在问什么。但是,你可能会问你如何通过将一个问题转化为另一个NP完全问题来证明NP问题的完整性。
答案是你编写了一个算法,该算法在多项式时间运行,将问题转换为已知的NP完全问题,然后再用另一个多项式算法将问题转换回来。
有关详细信息,请阅读一本体面的教科书或查看Wikipedia page。
答案 3 :(得分:0)
感谢您提供有用的评论,卡通给了我一个关于嵌入问题的想法。我写作的时候有点匆忙,所以写了很多错误。我的主要语言也不是英语,所以编辑们让我的问题更容易理解。我还想要更多头脑风暴的评论。
查理·马丁,谢谢你的链接。
答案 4 :(得分:0)
携带额外重量的成本本身并不是问题,而是您的旅行商问题边缘权重的参数化。
这个问题的决定版本仍然是NP完全的,因为a)我们仍然可以快速检查一个给定的游览是否花费低于k,因此它在NP中,并且b)哈密尔顿循环仍然减少到我们的TSP携带成本(因为我们只是将所有边权重设置为1,并且在减少中将所有承载成本设置为0)。
换句话说,携带成本只会让我们的TSP变得更难,所以它仍然是NP难的(并且可以用来解决任何NP完全问题),但它并不足以让我们无法快速检查决策问题的建议解决方案:“这次旅行的费用是否低于c?”,因此它仍然是NP完整的。
背包问题的(NP完全)决策版本是独立的,可以通过TSP问题顺序解决。
所以整个问题是NP完全的,如果我们减少TSP问题和背包 对SAT的问题(通常在这个方向上没有减少,但理论上可行),然后我们可以将两者编码为一个SAT实例。