繁体   English   中英

是否必须“在多项式时间内完成问题的减少”才能完成NP?

[英]Is it compulsory that the 'reduction of p‌r‌o‌b‌l‌e‌m be done in polynomial time' for it to be NP complete?

对于NP完全的问题,它必须属于NP类,并且必须有多项式时间算法将其减少为NP完全问题。

现在如果我们只有一个指数时间算法来减少。 这个问题仍然会被称为NP完全吗? 还是没有这样的问题?

编辑:还请告诉我是否有任何这样的问题,如果它存在,那么它属于哪个类?

如果在多项式时间内可以将其他NP问题减少到它,则只能考虑NP完全。 这是一个有用的定义的原因是,如果我们找到一个多项式时间算法,它会自动为所有NP问题提供一个。 如果我们允许指数时间减少,但找到了减少问题的多项式时间解决方案,那实际上不会帮助我们解决我们减少它的问题。

希望这可以帮助。

Are such problems NP-complete?

不。证明:

让你的问题= A.

让NP完全问题减少到(至少)指数时间= B.“至少”因为你可以做额外的琐碎工作来达到指数时间,或遵循一个不太理想的方法(证明那里不存在更有效的减少策略可能相当困难,可能在与N!= NP相同的球场中,到目前为止,尚未解决)。

由于B是NP完全的, NP中的每个问题都可以在多项式时间内简化为B”

如果A在NP中,那么它必须是多项式时间可以减少到B.但它不是,所以它不在NP中。

因此它不能是NP完全的。

更简单地说 - NP中的任何问题都需要最多和A一样难,而且显然不是。

Are there such problems?

我认为这可能是一个问题:(递归背包 )(我不介意一两个评论是否由某人聪明)

给定一组具有权重和值的项目,找到具有最大总权重A的子集,并且还找到具有一些最大总权重C的该子集内的子集,目标是最大化两者的值的总和。子集。

To which class does it belong?

我很确定没有专门针对这些的名称,但我认为它们中的许多(或全部?)都是NP难的 证明:(至少对于上述问题,假设是这样的问题)

定义: “问题H是NP难的,如果...(一个NP完全问题)L可以在多项式时间由oracle机器用oracle求解H”

让我们假设上面的例子是一个问题,让它= H.所以假设我们有一个可以在恒定时间内解决上述问题的oracle。 但是背包问题只是上面的一个特例(C = 0),因此我们可以使用oracle在恒定时间(多项式时间)内解决背包问题。

不确定是否一般地证明它。 但是任何给定的问题都可以通过将给定问题减少到上述问题或通过减少给定问题减少到背包问题的问题来解决。

编辑:哦,看起来他们可能确实有一个名字, 2-EXPTIME

复杂性理论的完整性总是针对特定类型的约简来定义,有时从上下文中已知,因此未明确提及。 由于理查德拉斯特在答案中给出的原因,着名的NP完全问题被定义为完全用于多项式时间缩减。

您可以为EXPTIME减少定义NP完全问题的类,但这个类不是很有趣。 如果允许减少指数时间,则它可以完全解决原始问题并产生目标问题的平凡实例。 这意味着NP中的每个问题都可以通过这种类型的减少而减少到所有其他问题,因此NP中的每个问题都是NP-完全的指数时间减少。

简短版本:减少只有在(至少据称)弱于减少的问题类别时才有意义。

正如之前提到的那样,你的问题的方向是错误的。 如果NP中的每个问题B都可以在多项式时间内减少到问题A,则问题A是NP完全的。所以我假设你的问题是减少是否必须是多项式而不是指数时间。

如果允许指数时间减少:采取以下决策问题X:“输入是否是?” 这几乎是最简单的决策问题。 如果输入为YES,则答案为YES,如果输入不是YES,则答案为NO。 但NP中的每个问题都可以在指数时间内减少到问题X. 当然我们不想把问题X称为“NP-complete”。 因此,不允许指数时间减少,因为允许它会使术语“NP完全”完全没有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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