Summary: Pseudorandom Generators for Regular Branching Programs
We give new pseudorandom generators for regular read-once branching programs of small
width. A branching program is regular if the in-degree of every vertex in it is either 0 or 2.
For every width d and length n, our pseudorandom generator uses a seed of length O((log d +
log log n + log(1/ )) log n) to produce n bits that cannot be distinguished from a uniformly
random string by any regular width d length n read-once branching program, except with
We also give a result for general read-once branching programs, in the case that there are
no vertices that are reached with small probability. We show that if a (possibly non-regular)
branching program of length n and width d has the property that every vertex in the program
is traversed with probability at least on a uniformly random input, then the error of the
generator above is at most 2 /2
Finally, we show that the set of all binary strings with less than d non-zero entries forms a
hitting set for regular width d branching programs.