令 A 为 NP-complete,B 为 NP-hard。 B 可以多项式时间简化为 A 吗?

Let A be NP-complete and B be NP-hard. Can B be polynomial time reducible to A?

设 A 是 NP 完全的,B 是 NP 难的。 B 可以多项式时间简化为 A 吗?

答:我知道不可能。强有力的理由是,因为 NP-Complete 是 NP-Hard 的子集?

先来看看NP HardNP Completewikipedia)的命名约定:

NP-hard
Class of decision problems which are at least as hard as the hardest problems in NP. Problems that are NP-hard do not have to be elements of NP; indeed, they may not even be decidable.

NP-complete
Class of decision problems which contains the hardest problems in NP. Each NP-complete problem has to be in NP.

NP-hard(B) 至少和 NP 中最难的问题一样难。
NP 最难的问题是 NP-complete(A).

从这两个陈述中,我们可以说 B 至少和 A 一样难。

简单来说,这意味着 B 的任何算法都会立即给出 A 的算法。但反之则不然,知道如何解决 A 并不能告诉我们如何解决 B。这个关系是不对称。

这就是 NP-hard 不能还原为 NP-complete 的原因。