Cumulative memory -- the sum of space used over the steps of a computation -- is a fine-grained measure of time-space complexity that is a more accurate measure of cost for algorithms with infrequent spikes in memory usage in the context of technologies such as cloud computing that allow dynamic allocation and de-allocation of resources during their execution. We give the first lower bounds on cumulative memory complexity that apply to general sequential classical algorithms. We also prove the first such bounds for bounded-error quantum circuits. Among many possible applications, we show that any classical sorting algorithm with success probability at least $1/\text{poly}(n)$ requires cumulative memory $\tilde \Omega(n^2)$, any classical matrix multiplication algorithm requires cumulative memory $\Omega(n^6/T)$, any quantum sorting circuit requires cumulative memory $\Omega(n^3/T)$, and any quantum circuit that finds $k$ disjoint collisions in a random function requires cumulative memory $\Omega(k^3n/T^2)$. More generally, we present theorems that can be used to convert a wide class of existing time-space tradeoff lower bounds to matching lower bounds on cumulative memory complexity.
翻译:累积内存 -- -- 计算各个步骤所使用的空间总和 -- -- 是一种细微的时空复杂性测量方法,它更精确地测量了在诸如云计算等技术背景下,记忆使用量不常增长的算法的成本,这些技术允许动态分配和转移资源。我们给出了适用于一般顺序古典算法的累积内存复杂性的第一个较低界限。我们也证明了对受约束器量子电路的第一个此类界限。在很多可能的应用程序中,我们显示任何成功概率至少为1/\text{poly}(n)的经典排序算法都需要累积内存$\tilde\Omega(n ⁇ 2)$,任何典型矩阵倍增算法都需要累积内存$\tilde\Omega(n_6/T)$,任何量子排序电路都需要累积内存 $(n_3/T) $,以及任何在随机函数中发现美元断裂碰撞的量子电路需要累积内存$\Omega(k_n/text{poly}(n)$) $。更一般地说,我们展示的缩缩缩缩缩缩缩缩交易需要将现有的累缩成。