Jeremy Ting edited p6.tex  about 10 years ago

Commit id: 7be86419687d95894bd160ab6e66b8cce1b2f1c6

deletions | additions      

       

\em{Consistent}: If you fix the \em{M}, the $m(y)$ formula will give you the same value for the same number $y$ since the formula will never change as along as you keep the same \em{M}.  \em{Random}: We need to show that if you randomly sample a number $x$, it has an equal probability of landing at any of the indices for the hashing table. Since there are 256 different indices we need to show for any 32 bit number it has a $\frac{1}{256}$ or $\frac{1}{2}^8$ $(\frac{1}{2})^8$  chance of landing at any particular spot. The hashing function takes s 32 bit number and transforms it into an 8 bit number and there are 256 different 8 bit numbers. So we just need to show that using the m(y) formula all of the 32 bit numbers are uniformly distributed into the range of 8 bit numbers. The m(y) formula takes a randomly sampled 32 bit vector and then multiplies it to the Matrix M to make this 8 bit number. So each bit of the 8 bit vector is determined by the dot product of two 32 bit vectors and then taking mod2 of that number.  So if we can show that the dot product of two random 32 bit numbers and then taking mod2 of that number results in a 1/2 chance of 0 and 1/2 chance of 1 we can prove randomness. We can prove this because for each spot of the 8 bit number if there is a 1/2 chance of being 1 or 0 that means the probability of being any particular number is 1/2^8 which is what we were looking for.