Hubbry Logo
search
logo

Communication complexity

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Communication complexity

In theoretical computer science, communication complexity studies the amount of communication required to solve a problem when the input to the problem is distributed among two or more parties. The study of communication complexity was first introduced by Andrew Yao in 1979, while studying the problem of computation distributed among several machines. The problem is usually stated as follows: two parties (traditionally called Alice and Bob) each receive a (potentially different) -bit string and . The goal is for Alice to compute the value of a certain function, , that depends on both and , with the least amount of communication between them.

While Alice and Bob can always succeed by having Bob send his whole -bit string to Alice (who then computes the function ), the idea here is to find clever ways of calculating with fewer than bits of communication. Note that, unlike in computational complexity theory, communication complexity is not concerned with the amount of computation performed by Alice or Bob, or the size of the memory used, as we generally assume nothing about the computational power of either Alice or Bob.

This abstract problem with two parties (called two-party communication complexity), and its general form with more than two parties, is relevant in many contexts. In VLSI circuit design, for example, one seeks to minimize energy used by decreasing the amount of electric signals passed 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 surveys of the field, see the textbooks by Rao & Yehudayoff (2020) and Kushilevitz & Nisan (2006).

Let where we assume in the typical case that and . Alice holds an -bit string while Bob holds an -bit string . By communicating to each other one bit at a time (adopting some communication protocol which is agreed upon in advance), Alice and Bob wish to compute the value of such that at least one party knows the value at the end of the communication. At this point the answer can be communicated back so that at the cost of one extra bit, both parties will know the answer. The worst case communication complexity of this communication problem of computing , denoted as , is then defined to be

As observed above, for any function , we have . Using the above definition, it is useful to think of the function as a matrix (called the input matrix or communication matrix) where the rows are indexed by and columns by . The entries of the matrix are . Initially both Alice and Bob have a copy of the entire matrix (assuming the function is known to both parties). 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 .

More formally, a set is called a (combinatorial) rectangle if whenever and then . Equivalently, is a combinatorial rectangle if it can be expressed as for some and . Consider the case when bits are already exchanged between the parties. Now, for a particular , let us define a matrix

Then, , and it is not hard to show that is a combinatorial rectangle in .

We consider the case where Alice and Bob try to determine whether or not their input strings are equal. Formally, define the Equality function, denoted , by if . As we demonstrate below, any deterministic communication protocol solving requires bits of communication in the worst case. As a warm-up example, consider the simple case of . The equality function in this case can be represented by the matrix below. The rows represent all the possibilities of , the columns those of .

See all
User Avatar
No comments yet.