证明RAM机可在T(n)中计算的布尔函数在DTIME(T(n)^ 2)中
问题是Arora-Barak的书《计算复杂性-一种现代方法》中的练习1.9 : 将RAM Turing计算机定义为具有随机访问内存的Turing计算机。我们将其形式化如下:机器具有一个初始化为所有空格的无限数组A。它按如下方式访问此数组。机器的工作磁带之一被指定为地址磁带。机器还具有两个用R和W表示的特殊字母符号,以及一个用q_access表示的附加状态。每当机器进入q_access时,如果其地址带包含“ i” R(其中“ i”表示i的二进制表示形式),那么值A [i]就会写入R符号旁边的单元格中。如果其磁带包含“ i” Wa(其中a是机器字母中的某些符号),则将A [i]设置为值a。 证明如果布尔函数可在RAM TM的时间(对于某个时间可构造的)内计算,则它在。fffT(n)T(n)T(n)TTTDTIME(T(n)2)DTIME(T(n)2)\mathrm{DTIME}(T(n)^2) 使用附加的磁带记录对(地址,值)的简单解决方案结果是,因为该磁带的大小可以为用对,而每对中的地址可以是尺寸的。DTIME(T(n)3)DTIME(T(n)3)\mathrm{DTIME}(T(n)^3)O(T(n)2)O(T(n)2)O(T(n)^2)O(T(n))O(T(n))O(T(n))O(T(n))O(T(n))O(T(n))