用于回文的图灵机

时间:2016-09-11 12:50:49

标签: turing-machines

用一条磁带和两条磁带描述TM,它决定了回文的语言(单词只有'1'和'0'符号)。估计每个TM的工作时间。

1 个答案:

答案 0 :(得分:4)

一条录音带:

读取第一个符号并移至状态A(如果为0)或状态B(如果为1)。替换为空白。向右移动到磁带的末尾(第一个空白符号)。向左移动一个符号。如果此符号为0并且您处于状态A,或者它是1并且您处于状态B,则将其设为空白并一直返回到左边,直到找到空白符号,然后向右移动一个符号。否则,这个词不是回文,你停止拒绝。以这种方式继续,直到你停止拒绝或磁带上的所有符号都被空白替换,在这种情况下你停止接受。这将采取大致(n + 1)+ n + ... + 1~O(n ^ 2)移动。

两个录音带:

将输入磁带的磁头移动到末尾,然后向后读到输入磁带的开头。当你去的时候,在第二个磁带上按顺序写下磁带符号,这样你就可以在第二个磁带上反转输入磁带了。重置两个磁带头,然后将每个磁带头移动到磁带的末端,在每个步骤比较每个磁头指向的符号。如果您找到符号不同的位置,则输入不是回文并且您停止拒绝。如果你到达最后(结尾处的第一个空白符号)而没有发现不匹配,那么它就是一个回文并且你停止接受。