如果找到用于NP完全问题的多项式时间算法,这是否意味着所有NP问题的时间复杂度都相同?

问题描述 投票:0回答:1

如果找到了用于NP完全问题的多项式时间算法,则假设其O(n ^ 2),这是否意味着所有NP问题都有O(n ^ 2)解?我知道这意味着所有NP问题都有一个多项式解,但是必然是O(n ^ 2)吗?

algorithm complexity-theory
1个回答
1
投票

不一定

NP中的问题x在且仅当每个 NP中的其他问题很快就会出现(即多项式时间) 转换为x。

因此,解决一个NP完全问题的算法意味着我们可以通过将NP转化为该问题的实例并对其进行求解来解决NP中的任何其他问题。但是,只要我们满足多项式的条件,变换就可以是任何复杂性。

因此,对于您的问题,答案不是,用于解决NP-完全问题的O(N ^ 2)算法并不意味着所有NP问题都可以在O(N ^ 2)时间内解决,它仅保证存在一个多项式时间算法来解决。

即O(N ^ 2)+ T(N),其中T(N)是转换问题实例的复杂度

© www.soinside.com 2019 - 2024. All rights reserved.