【问题标题】:Is a problem being undecidable equivalent to saying it's in NP-hard?一个不可判定的问题是否等同于说它是 NP 难的?
【发布时间】:2018-12-03 21:03:03
【问题描述】:

我了解如何证明停止问题是不可判定的。但是,我对为什么它是 NP-hard 感到困惑。一个不可判定的问题是否等同于说它是 NP-hard 问题?

【问题讨论】:

    标签: np-hard


    【解决方案1】:

    如果从每个 NP 问题到该问题都存在多时间缩减,则称该问题为“NP 难”。

    停机问题确实是 NP-hard,原因如下:

    令 L 是一个 NP 问题,因为 L 在 NP 中,所以它是可判定的——因此有一个确定性的图灵机来判定 L,记为 M。现在我们可以创建 M',它模拟 M 并停止 i.f.f M接受 x(其中 x 是输入)。输入 x 的归约结果为 (M', x)。

    将归约表示为 R 并且确实 x 在 L i.f.f R(x) 在 H 中。

    (M(x) = 1 => M'(x) 停止 => (M', x) 在 H.
    M(x) = 0 => M'(x) 不会停止 => (M', x) 不在 H)

    为什么是约简多项式? M 的描述的大小可能非常大,但它是固定的。因此创建 M' 需要恒定的时间(可以将其视为 M' 在 R 中“硬编码”),因此减少是线性的,因此是多项式的。

    由于归约的传递性(即,如果存在从 L1 到 L2 以及从 L2 到 L3 的(多项式/计算)归约(必须是相同的归约类型!),则存在从 L1 到 L3 的归约)足以证明从已知的 NP-hard 问题到新问题的简化,以证明新问题是 NP-hard,这是这样做的常用方法。在这个例子中,直接从定义中证明是很方便的。

    对于您的另一个问题,答案是否定的。存在一个不可判定的问题,它不是 NP 难的。 你可以在这里看到一个证明: https://math.stackexchange.com/questions/642726/are-all-undecidable-problems-np-hard

    请注意,如果 P=NP,则每个问题(平凡集除外)都是 NP 难的。所以证明假设 P != NP。

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多