如何解决anbncn / n> = 1的图灵机示例?

时间:2014-04-28 06:02:20

标签: turing-machines

任何人都能告诉我这个图灵机的例子我的答案是否正确吗?

Q值。构建图灵机L = {anbncn / n> = 1}

Ans:字符串aabbcc的转换函数

^(q1,a)=(X,q2,R)
^(q2,a)=(a,q2,R)
^(q2,b)=(Y,q3,R)
^(q3,b)=(b,q3,R)
^(q3,c)=(Z,q4,L)
^(q4,b)=(b,q4,L)
^(q4,Y)=(Y,q4,L)
^(q4,a)=(a,q4,L)
^(q4,X)=(X,q1,R)
^(q1,a)=(X,q2,R)
^(q2,Y)=(Y,q2,R)
^(q2,b)=(Y,q3,R)
^(q3,Z)=(Z,q3,R)
^(q3,c)=(Z,q4,L)
^(q4,Z)=(Z,q4,L)
^(q4,Y)=(Y,q4,L)
^(q4,Y)=(Y,q4,L)
^(q4,X)=(X,q1,R)
^(q1,Y)=(Y,q2,R)
^(q2,Y)=(Y,q2,R)
^(q2,Z)=(Z,q2,R)
^(q2,Z)=(Z,q2,R)
^(q2,B)=(B,q5,N)

谁能告诉我它是否正确? 或者我是否应该对其进行更改?

1 个答案:

答案 0 :(得分:0)

看来是对的 这个想法是: 将第一个 a 转到X,然后右转找到第一个 b ,将其转为 Y ,向右找到第一个 > c ,将其转为 Z ,再次返回第一个 a 。 该过程一直持续到头部下面的第一个字母是 Y 而不是 a 。这意味着所有 a 已与 b c 匹配。 然后头部需要向右移动,通过 Y Z ' s直到它变成空白。