Received: October 6, 2004
Revised: May 5, 2005
Published: October 5, 2005
DOI: 10.4086/toc.2005.v001a008
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 &epsilon > 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=(aij)ni,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.)