构建一个非确定性图灵机

constructing a non deterministic turing machine

画出决定语言的两带非确定性图灵机M的图

L={w∈Σ* | w=uuu ∈Σ* }

如果我能得到帮助来解释如何构建 NDTM(语言上)的步骤,我相信我可以画出图表,但我无法给出答案..

谢谢

通过 u*u*u(在编辑历史中查看),我假设您想要的是 u^3 形式的所有单词的语言(u 重复三次),其中 u 是字母表中的任何字符串.

我们的 NDTM 需要至少以一种方式接受语言中的字符串,并且绝不能接受任何非语言中的字符串。特别是,关键是 NDTM 可以拒绝语言中的字符串,只要通过 NDTM 的某些路径确实接受语言中的每个字符串。

鉴于此,我们的第一步可以猜测 u 的长度。 NDTM 可以通过从状态 q0 非确定性过渡到 q1 然后在任意点 q2 来标记三个磁带符号(例如,通过写入带下划线的符号版本)。然后,我们可以重置磁带头并使用确定性 TM 来回答问题:我们在第一步中猜测的拆分结果是否为 u^3?

形式的字符串

这是确定性的,因为我们知道零件的轮廓。我们可以检查前两部分(比如,通过前后弹跳并标记我们已经处理过的符号),然后检查后两部分(使用相同的技术,但应用于第二和第三部分)。

我们已将问题简化为检查字符串是否为我们知道拆分的 w|w 形式。这种确定性 TM 更容易提出。当我们把它放在猜测如何拆分初始输入的 NDTM 之后时,我们得到一个 NDTM,它可以(并且对于一个猜测,确实)接受 u^3 形式的任何字符串,但不可能接受任何东西别的。这就是我们所追求的,我们已经完成了。