在没有改变单词的情况下在单带图灵机上找到回文

时间:2011-04-01 13:10:50

标签: graph metaprogramming turing-machines

很容易找到两端的回文替换字母(Φ)。

 ΦabaΦ
 ΦΦbaΦ
 ΦΦbaΦ
 ΦΦbaΦ
 ΦΦbaΦ
 ΦΦbaΦ
 ΦΦbΦΦ
 ΦΦbΦΦ
 ΦΦbΦΦ
 ΦΦΦΦΦ
 ΦΦΦΦΦ
 ΦΦΦΦΦ YES

可以将a更改为A,并在任务结束时将A更改为a。但是,有没有人有一个想法,如何在不使用其他标志的情况下实现这一目标?

3 个答案:

答案 0 :(得分:1)

移动结束字符可以提供帮助:

 ΦΦabaΦΦ
 ΦaΦbaΦΦ
 ΦaΦbΦaΦ YES

 ΦΦabbaΦΦ
 ΦaΦbbaΦΦ
 ΦaΦbbΦaΦ
 ΦabΦbΦaΦ
 ΦabΦΦbaΦ YES

答案 1 :(得分:0)

您可以将a更改为A,将b更改为B,并将结束字符更改为大写字母。 (取ascia值,如果它落在大写范围内,你知道结束) 假设您的输入完全是小写的。

答案 2 :(得分:0)

对于磁带上的每个可能符号(我假设它是从有限集中绘制的),您需要一个状态,我称之为“$ X_LOOKING”。从左端开始,将状态设置为“$ X_LOOKING”,找到您在那里找到的符号$ X.向右移动直到你到达终点并查看它是否与$ X匹配。

当你向后移动时,你必须停在第二个字母而不是第一个字母。为此,您可以跟踪您在磁带另一个区域看到的字母数。

相关问题