 
Summary: Derandomization, witnesses for Boolean matrix
multiplication and construction of perfect hash functions
Noga Alon
Moni Naor
To appear in Algorithmica, final version
Abstract
Small sample spaces with almost independent random variables are applied to de
sign efficient sequential deterministic algorithms for two problems. The first algorithm,
motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path
problem using fast matrix multiplication, solves the problem of computing witnesses for
the Boolean product of two matrices. That is, if A and B are two n by n matrices, and
C = AB is their Boolean product, the algorithm finds for every entry Cij = 1 a witness:
an index k so that Aik = Bkj = 1. Its running time exceeds that of computing the
product of two n by n matrices with small integer entries by a polylogarithmic factor.
The second algorithm is a nearly linear time deterministic procedure for constructing
a perfect hash function for a given nsubset of {1, . . . , m}.
Part of this paper was presented at the IEEE 33rd Symp. on Foundations of Computer Science
Incumbent of the Florence and Ted Baumritter Combinatorics and Computer Science Chair, Depart
