考虑语言?= {a 3 n ; n> = 0}。
构造TM的状态图。
答案 0 :(得分:0)
n> = 0的任何字符串a ^(3 ^ n)都有一个数字a,该数字可以为1或被3整除。我们可以如下利用它:
此想法的实现如下
Q T Q' T' D comment
q0 a q1 A right ensure at least one a
q1 a q2 a right if multiple a, keep going
q1 # h_a # left if one a, halt accept
q2 a q2 a right scan all the way to the end
q2 # q3 # left go to last a
q3 a q4 # left erase it, go to new last a
q4 a q5 # left erase it, go to new last a
q5 a q5 a left scan back to the first marked a
q5 A q6 A right
q6 a q2 A right have another a, start scanning again
q6 # q7 # left no more a, reset tape
q7 A q7 a left scan to beginning, unmarking all a
q7 # q0 # right start process over from the beginning
此TM的工作方式是将输入磁带a ^(3 ^ n)迭代地转换为a ^(3 ^(n-1)),直到它成为a ^ 1或在某个阶段没有平均分配为止。 / p>
示例:
001 002 003 004
#aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaaa#
^ ^ ^ ^
q0 q1 q2 q2
005 006 007 008
#Aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaaa#
^ ^ ^ ^
q2 q2 q2 q2
009 010 011 012
#Aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaaa# #Aaaaaaaa##
^ ^ ^ ^
q2 q2 q3 q4
013 014 015 016
#Aaaaaaa### #Aaaaaaa### #Aaaaaaa### #Aaaaaaa###
^ ^ ^ ^
q5 q5 q5 q5
017 018 019 020
#Aaaaaaa### #Aaaaaaa### #Aaaaaaa### #Aaaaaaa###
^ ^ ^ ^
q5 q5 q5 q6
021 022 023 024
#AAaaaaa### #AAaaaaa### #AAaaaaa### #AAaaaaa###
^ ^ ^ ^
q2 q2 q2 q2
025 026 027 028
#AAaaaaa### #AAaaaaa### #AAaaaaa### #AAaaaa####
^ ^ ^ ^
q2 q2 q3 q4
029 030 031 032
#AAaaaa#### #AAaaaa#### #AAaaaa#### #AAaaa#####
^ ^ ^ ^
q5 q5 q5 q5
033 034 035 036
#AAaaa##### #AAAaa##### #AAAaa##### #AAAaa#####
^ ^ ^ ^
q6 q2 q2 q2
037 038 039 040
#AAaaa##### #AAAa###### #AAA####### #AAA#######
^ ^ ^ ^
q3 q4 q5 q6
041 042 043 044
#AAA####### #AAa####### #Aaa####### #aaa#######
^ ^ ^ ^
q7 q7 q7 q7
045 046 047 048
#aaa####### #Aaa####### #Aaa####### #Aaa#######
^ ^ ^ ^
q0 q1 q2 q2
049 050 051 052
#Aaa####### #Aa######## #A######### #A#########
^ ^ ^ ^
q3 q4 q5 q6
053 054 055 056
#A######### #a######### #a######### #a#########
^ ^ ^ ^
q7 q7 q0 q1
049
#a#########
^
h_a