L2 = {<M> : M is a TM and there exists an input string w such that M halts within 10 steps on input w}
你好。我正在创建一个算法来显示 L2 以上是可判定的。提示如下:
为了证明 L2 是可判定的,在所有长度不超过 10 的输入字符串上测试给定的 TM M,每个字符串执行 10 步。请注意,要测试的此类字符串数量有限,因此该算法将始终终止。如果 M 在 10 步内停止在任何输入字符串 w 上,则令 w' 是长度为 10 的 w 的前缀。M 也会在 10 步内停止输入 w',因此上述决策算法会找到它。
我只是无法理解这个提示。
M(w)
let w be w1,w2,... such that w=w1,w2,...,wn
for i=1,2,...,10
run m on wi for 10 steps
if it accepts
let w' be prefix of w of length 10 and w' be w1,w2,... such that w'=w'1,w'2,...,w'n
for t=1,2,...,10
run m on w't for 10 steps
end for
end if
end for
end M(W)
正如你在上面看到的我所做的算法,我不知道从上面的那些 L2 定义和提示中做出正确的算法。
我需要正确编写它的帮助(请使用您编写算法的风格。如果主要思想是正确的,我认为风格并不重要。我不明白的是它的想法。)
如果你能帮助我,非常感谢。