 
Summary: Com S 633: Randomness in Computation
Lecture 3 Scribe: Aaron Sterling
1 Communication Complexity
Last time, we introduced a communication complexity problem: Alice and
Bob each have an nbit string (say x = x 1 x 2 : : : x n and y = y 1 : : : y n ), and
they want to determine whether x = y while interchanging as few bits as
possible. (It suÆces to assume x and y are the same length, as Alice only
has to send Bob log n bits to ensure both strings are of length n, which is
low overhead.) This question has application to database consistency: two
copies of the database are separately updated, and we want to ensure the
two copies are the same.
It is too expensive for Alice to send Bob the entire string, which is what
would be required by a deterministic algorithm. However, there is a simple
randomized algorithm that does the job with low probability of error.
Algorithm 1. Translate x into a number N x and y into a number N y
such that N x ; N y 2 n for some n. Alice then randomly picks a prime
p 2 f1; : : : ; n 3 g, and sends the pair (N x (mod p); p). Bob asserts x = y i
N x (mod p) N y (mod p).
It requires 3 log n bits to represent p, and 3 log n bits for N x (mod p), so
Algorithm 1 requires O(log n) communication bits.
