Nisan (Combinatorica'92) constructed a pseudorandom generator for length n , width n read-once branching programs (ROBPs) with error and seed length O ( log 2 n + log n log (1 )) . A major goal in complexity theory is to reduce the seed length, hopefully, to the optimal O ( log n + log (1 )) , or to construct improved hitting sets, as these would yield stronger derandomization of BPL and RL , respectively. In contrast to a successful line of work in restricted settings, no progress has been made for general, unrestricted, ROBPs. Indeed, Nisan's construction is the best pseudorandom generator and, prior to this work, also the best hitting set for unrestricted ROBPs.
In this work, we make the first improvement for the general case by constructing a hitting set with seed length O ( log 2 n + log (1 )) . That is, we decouple and n , and obtain near-optimal dependence on the former. The regime of parameters in which our construction strictly improves upon prior works, namely, log (1 ) log n , is well-motivated by the work of Saks and Zhou (J.CSS'99) who use pseudorandom generators with error = 2 − ( log n ) 2 in their proof for BPL L 3 2 . We further suggest a research program towards proving that BPL L 4 3 in which our result achieves one step.
As our main technical tool, we introduce and construct a new type of primitive we call pseudorandom pseudo-distributions. Informally, this is a generalization of pseudorandom generators in which one may assign negative and unbounded weights to paths as opposed to working with probability distributions. We show that such a primitive yields hitting sets and, for derandomization purposes, can be used to derandomize two-sided error algorithms.