Pseudorandom Generators for Sliding-Window Algorithms

01/18/2023
by   Augusto Modanese, et al.
0

A sliding-window algorithm of window size t is an algorithm whose current operation depends solely on the last t symbols read. We construct pseudorandom generators (PRGs) for low-space randomized sliding-window algorithms that have access to a binary randomness source. More specifically, we lift these algorithms to the non-uniform setting of branching programs and study them as a subclass thereof that we call sliding-window branching programs (SWBPs), accordingly. For general SWBPs, given a base PRG G_base with seed length d_base that ε_base-fools width-w, length-t (general) branching programs, we give two PRG constructions for fooling any same-width SWBP of length n and window size t (where we assume w ≥ n). The first uses an additional d_base + O(log(n/t) log(1/ε_base)) random bits, whereas the second has a seed length of O((d_base + loglog(n/t) + log(1/ε_base)) log(d_base + log(1/ε_base))). Both PRGs incur only a (n/2t)^O(1) multiplicative loss in the error parameter. As an application, we show how to decide the language of a sublinear-time probabilistic cellular automaton using small space. More specifically, these results target the model of PACAs, which are probabilistic cellular automata that accept if and only if all cells are simultaneously accepting. For (sublinear) T(n) = Ω(log n)^1.01, we prove that every language accepted by a T-time one-sided error PACA (the PACA equivalent of 𝖱𝖯) can be decided using only O(T) space. Meanwhile, forgoing the previous requirement on T, we show the same holds for T-time two-sided error PACA (the PACA equivalent of 𝖡𝖯𝖯) if we use Õ(T) + O(log n) space instead (where the Õ notation hides only 𝗉𝗈𝗅𝗒𝗅𝗈𝗀(T) factors).

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset