| Communication Complexity |
Article Index for Communication |
Website Links For Communication |
Information AboutCommunication Complexity |
| CATEGORIES ABOUT COMMUNICATION COMPLEXITY | |
| complexity classes | |
|
Of course they can always succeed by having Alice send her whole n-bit string to Bob, who then computes the Function , but the idea here is to find clever ways of calculating f with less than n bits of communication. This abstract problem is relevant in many contexts: in VLSI circuit design, for example, one wants to minimize energy used by decreasing the amount of electric signals required between the different components during a distributed computation. The problem is also relevant in the study of data structures, and in the optimization of computer networks. For a survey of the field, see the book by Kushilevitz and Nisan. FORMAL DEFINITION Let : X Y Z where we assume in the typical case that and . Alice draws a n-bit string X while Bob draws a n-bit string Y. By communicating to each other one bit at a time (adopting some Communication Protocol ), Alice and Bob want to compute the value of such that at least one party knows the value at the end of the communication. It is trivial to see that once one party knows the answer, with one more bit exchange, both parties know the answer. The worst case communication complexity of this communication protocol, denoted as , is then defined to be : minimum number of bits exchanged between Alice and Bob in the worst case Using the above definition, it is useful to think of the function as a Matrix (called as the input matrix) where each row of the matrix corresponds to X and each column Y. An entry in the input matrix is . Initially both Alice and Bob have a copy of the entire matrix A (assuming the function is known to both). Then, the problem of computing the function value can be rephrased as "zeroing-in" on the corresponding matrix entry. This problem can be solved if either Alice or Bob knows both and . At the start of communication, the number of choices for the value of the function on the inputs is the size of matrix, i.e . Then, as and when each party communicates a bit to the other, the number of choices for the answer reduces as this eliminates a set of rows/columns resulting in a Submatrix of A. More formally, a set R X Y is called a rectangle if whenever R and R then R. Equivalently, R can also be viewed as a submatrix of the input matrix A such that R = M N where M X and N Y. Consider the case when bits are already exchanged between the parties. Now, for a particular , let us define a matrix : the k-bits exchanged on input is } Then, X Y, and is a rectangle and a submatrix of A. Example: EQ We consider the case where Alice and Bob try to determine if they both have the same string. That is, we are trying to determine if is equal to . It is easy to prove that the equality problem (EQ) will always require you to communicate bits in the worst case if you want to be absolutely sure and are equal. Consider the simple case of and being 3 bits. The equality function in this case can be represented by the matrix below. The rows representing all the possibilities of , the columns those of . As you can see, the function only holds where equals (on the diagonal). It is also fairly easy to see how communicating a single bit divides your possibilities in half. If you know that the first bit of is 1, you only need to consider half of the columns (where can equal 100, 101, 110, or 111). Theorem: . Proof. Assume that . This means that there exists an and an having the same history, . Since this history defines a rectangle, must also be 1. By definition and we know that equality is only true for when . Thus, we have a contradiction. Intuitively, for less than , we need to be able to define a rectangle in the EQ matrix greater in size than a single cell. All of the cells in this rectangle must contain 1 for us to be able to generalize that this rectangle equals 1. It is not possible to form such a rectangle in the equality matrix. RANDOMIZED CC In the above definition, we are concerned with the number of bits that must be ''detereministically'' transmitted between two parties. If both the parties are given access to a random number generator, can they determine the value of with much less information exchanged? Yao, in his seminal paper {Link without Title} answers this question by defining randomized communication complexity. A randomized protocol for a function has two-sided error. : : A randomized protocol is a deterministic protocol that uses an extra random string in addition to its normal input. There are two models for this: a ''public string'' is a random string that is known by both parties beforehand, while a ''private string'' is generated by one party and must be communicated to the other party. A theorem presented below shows that any public string protocol can be simulated by a private string protocol that uses O(log n) additional bits compared to the original. The randomized complexity is simply defined as the number of bits exchanged in such a protocol. Note that it is also possible to define a randomized protocol with one-sided error, and the complexity is defined similarly. Example: EQ Returning to the previous example of ''EQ'', if certainty is not required, Alice and Bob can check for equality using only O(log n) messages. Consider the following protocol: Assume that Alice and Bob both have access to the same random string . Alice computes and sends this bit (call it b) to Bob. (The is the Dot Product in GF(2) .) Then Bob compares b to . If they are the same, then Bob accepts, saying x equals y. Otherwise, he rejects. Clearly, if , then , so . If x does not equal y, it is still possible that , which would give Bob the wrong answer. How does this happen? If x and y are not equal, they must differ in some locations: : : :
: : : Note that and . Now, the question becomes: for some random string , what is the probability that ? Since each is equally likely to be or , this probability is just . Thus, when does not equal , . The algorithm can be repeated many times to increase its accuracy. This fits the requirements for a randomized communication algorithm. This shows that ''if Alice and Bob share a random string of length n'', they can send one bit to each other to compute . In the next section, it is shown that Alice and Bob can exchange only O(log n) bits that are as good as sharing a random string of length n. Once that is shown, it follows that ''EQ'' can be computed in O(log n) messages. Public Coins vs. Private Coins It is easier to create random protocols when both parties have access to the same random string (shared string protocol). It is still possible to use these protocols even when the two parties don't share a random string (private string protocol) with a small communication cost. Any shared string random protocol using an -bit string can be simulated by a private string protocol that uses an extra O(log n) bits. Intuitively, we can find some set of strings that has enough randomness in it to run the random protocol with only a small increase in error. This set can be shared beforehand, and instead of drawing a random string, Alice and Bob need only agree on which string to choose from the shared set. This set is small enough that the choice can be communicated efficiently. A formal proof follows. Consider some random protocol P with a maximum error rate of 0.1. Let be strings of length , numbered . Given such an , define a new protocol which randomly picks some and then runs P using as the shared random string. It takes O(log 100n) = O(log n) bits to communicate the choice of . Let us define and to be the probabilities that and compute the correct value for the input . For a fixed , we can use Hoeffding's Inequality to get the following equation: |
|
|