Trading Time and Space in Catalytic Branching Programs

Ian Mertz

University of Toronto

June 16, 2022, 12:20 in S6


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-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^n−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}.