We consider a fundamental problem in computational learning theory: learning an arbitrary Boolean function which depends on an unknown set of k out of n Boolean variables. We give an algorithm for learning such functions from uniform random examples which runs in time roughly (nk) +1 , where < 2.376 is the matrix multiplication exponent. We thus obtain the first polynomial factor improvement on the naive nk time bound which can be achieved via exhaustive search. Our algorithm and analysis exploit new structural properties of Boolean functions. Supported by NSF grant 99-12342. Supported by an NSF Mathematical Sciences Postdoctoral Research Fellowship and by NSF grant CCR98-77049. This research was performed while the third author was at Harvard University.
Elchanan Mossel, Ryan O'Donnell, Rocco A. Servedio