如何从RE中的每种语言显示减少到HP

时间:2014-12-03 19:59:55

标签: turing-machines computation

如果每个L' L被认为是Hard-RE。在RE中,L'到L(L'< = L) 如果L id为Hard-RE且L在RE中,则L被认为是Complete-RE。

如何证明HP是完整的RE?我需要将RE中的每种语言减少到HP ..

1 个答案:

答案 0 :(得分:2)

(假设RE表示recursively enumerable,HP表示halting problem

惠普在RE

中非常简单

考虑图灵机,给定图灵机 M [a] 的描述 a 和一些输入 b ,只需模拟运行 M [a] 输入 b 直到它停止;当它发生时,它输出 TRUE 。如果 M [a] 停止 b ,本机将输出 TRUE ,当 M [a] 时,它将发散发散;因此它是停止问题的部分决定因素。

HP是RE-Hard

也就是说,给定RE中的语言L,它可以减少到HP:因为L在RE中,所以存在图灵机 M [m(L)] ,对于任何输入< em> b , M [m(L)](b)将执行以下操作之一:

  1. 如果 b ∈L,那么 M [m(L)](b)会停止输出 TRUE
  2. b ∉L和 M [m(L)](b)停止输出 FALSE
  3. b ∉L和 M [m(L)](b)分歧
  4. 那么考虑到惠普,我们如何将其变成适当的L决策者呢?十分简单!只需在(m(L),b)

    上运行HP oracle
    • 如果 HP(m(L),b)返回 TRUE ,我们知道 M [m(L)](b)收敛,所以只需运行它并返回 TRUE / FALSE 回答结果。
    • 如果 HP(m(L),b)返回s_FALSE_,我们知道 M [m(L)](b)发散,只允许如果 b ∉L(见上面的案例3)。那么我们运行 M [m(L)](b);相反,我们只输出 FALSE

    因此,HP是RE-Complete

    Q.E.D。