Trading Time and Space in Catalytic Branching Programs
An m-catalytic branching program (Girard, Koucký, McKenzie 2015) is a set of m distinct branching programs for f which are permitted to share internal (i.e. non-source non-sink) nodes. While originally introduced as a non-uniform analogue to catalytic space, this also gives a natural notion of amortized non-uniform space complexity for f, namely the smallest value |G|/m for an m-catalytic branching program G for f (Potechin 2017).
Potechin (2017) showed that every function f has amortized size O(n), witnessed by an m-catalytic branching program where m = 2^(2ⁿ-1). We recreate this result by defining a catalytic algorithm for evaluating polynomials using a large amount of space but O(n) time. This allows us to balance this with previously known algorithms which are efficient with respect to space at the cost of time (Cook, Mertz 2020, 2021). We show that for any ε ≥ 2n^(-1), every function f has an m-catalytic branching program of size O_ε(mn), where m = 2^(2^(ε n)). We similarly recreate an improved result due to Robere and Zuiddam (2021), and show that for d ≤ n and ε ≥ 2d^(-1), the same result holds for m = 2^binom(n, ≤ ε d) as long as f is a degree-d polynomial over 𝔽₂. We also show that for certain classes of functions, m can be reduced to 2^(poly n) while still maintaining linear or quasi-linear amortized size.
In the other direction, we bound the necessary length, and by extension the amortized size, of any permutation branching program for an arbitrary function between 3n and 4n-4.
complexity theory
branching programs
amortized
space complexity
catalytic computation
Theory of computation~Computational complexity and cryptography
8:1-8:21
Regular Paper
https://eccc.weizmann.ac.il/report/2022/026/
The authors would like to thank Toniann Pitassi, Robert Robere, Jeroen Zuiddam, and Aaron Potechin for many helpful discussions.
James
Cook
James Cook
Independent Researcher, Toronto, Canada
Ian
Mertz
Ian Mertz
University of Toronto, Canada
Partially funded by NSERC.
10.4230/LIPIcs.CCC.2022.8
Eric Allender, Anna Gál, and Ian Mertz. Dual VP classes. Comput. Complex., 26(3):583-625, 2017.
David A. Mix Barrington. Bounded-width polynomial-size branching programs recognize exactly those languages in nc¹. J. Comput. Syst. Sci., 38(1):150-164, 1989.
Michael Ben-Or and Richard Cleve. Computing algebraic formulas using a constant number of registers. SIAM J. Comput., 21(1):54-58, 1992.
Harry Buhrman, Richard Cleve, Michal Koucký, Bruno Loff, and Florian Speelman. Computing with a full memory: catalytic space. In Symposium on Theory of Computing, STOC 2014, New York, NY, USA, May 31 - June 03, 2014, pages 857-866. ACM, 2014.
James Cook and Ian Mertz. Catalytic approaches to the tree evaluation problem. In Proccedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2020, Chicago, IL, USA, June 22-26, 2020, pages 752-760. ACM, 2020.
James Cook and Ian Mertz. Encodings and the tree evaluation problem. Electron. Colloquium Comput. Complex., page 54, 2021. URL: https://eccc.weizmann.ac.il/report/2021/054.
https://eccc.weizmann.ac.il/report/2021/054
Stephen A. Cook, Pierre McKenzie, Dustin Wehr, Mark Braverman, and Rahul Santhanam. Pebbles and branching programs for tree evaluation. ACM Trans. Comput. Theory, 3(2):4:1-4:43, 2012.
Vincent Girard, Michal Koucky, and Pierre McKenzie. Nonuniform catalytic space and the direct sum for space. Electronic Colloquium on Computational Complexity (ECCC), 138, 2015.
Frank Gray. Pulse code communication. https://patents.google.com/patent/US2632058A/en, 1953. US Patent 2632058A.
https://patents.google.com/patent/US2632058A/en
E.I. Nečiporuk. A boolean function. Dokl. Akad. Nauk SSSR, 169(4), 1966.
Aaron Potechin. A note on amortized branching program complexity, 2017.
Robert Robere and Jeroen Zuiddam. Amortized circuit complexity, formal complexity measures, and catalytic algorithms. In FOCS, pages 759-769. IEEE, 2021.
James Cook and Ian Mertz
Creative Commons Attribution 4.0 International license
https://creativecommons.org/licenses/by/4.0/legalcode