我多次听说如果我们可以在多项式时间内将问题A减少到问题B,那么问题B至少和问题A一样难。这个陈述有多精确?我相信我们应该以这种方式理解它:如果A可以将多时间缩减为B,那么如果有一个B的多时间算法,那么它必须存在于A中。
我的观点是A实际上可能比B更难(可以有更高的时间复杂度,例如O(n ^ 100),与B-O(n ^ 4)相比,因为多时间缩减本身可以是因此,减少所需的O(n ^ 4)和时间的总和可以给出A的算法,该算法将是O(n ^ 100)。所以每次我读A时并不比B更难在这个上下文中当B有一个时,A不可能没有多项式时间算法。这是正确的吗?
答案 0 :(得分:3)
正确。
一般来说,我会说这句话中的“硬”一词对应于complexity class,而不是多项式的程度。或者,问题的“硬度”是包含此问题的最小复杂性类别。
也就是说,如果A 至少和B一样难,那么B的最小复杂度类将被A的最小复杂度类所取代。
答案 1 :(得分:0)
正如@Inspired指出的那样,这个陈述与复杂性类有关,而不是两个问题的实际时间复杂度,这个陈述一般用于NP完全问题。