
Revised: May 5, 2005
Published: October 5, 2005
Abstract: [Plain Text Version]
We give an exponential lower bound for the size of any linear-time Boolean branching program computing an explicitly given function. More precisely, we prove that for all positive integers k and for all sufficiently small ϵ>0, if n is sufficiently large then there is no Boolean (or 2-way) branching program of size less than 2ϵn which, for all inputs X⊆{0,1,…,n−1}, computes in time kn the parity of the number of elements of the set of all pairs ⟨x,y⟩ with the property x∈X, y∈X, x<y, x+y∈X.
For the proof of this fact we show that if A=(ai,j)ni=0,j=0 is a random n by n matrix over the field with 2 elements with the condition that “A is constant on each minor diagonal,” then with high probability the rank of each δn by δn submatrix of A is at least cδ|logδ|−2n, where c>0 is an absolute constant and n is sufficiently large with respect to δ.
(A preliminary version of this paper has appeared in the Proceedings of the 40th IEEE Symposium on Foundations of Computer Science.)