In theoretical informatics, communication complexity studies the amount of communication needed to solve a problem whose parameters are distributed between two or more parties. This concept was introduced by Andrew Yao in 1979 [1] , who investigated the following problem for two participants, traditionally called Alice and Bob . Alice receives an n- bit string x, and Bob receives an n -bit string y , and their goal is for one of them (for example, Bob) to calculate a function known and known to both participants , with the least amount of communication between them. Of course, they can always calculate as follows: Alice sends all of her n-bit string to Bob, which then evaluates the function . Therefore, in this statement of the problem, it is interesting for what functions f there is a way to calculate passing less than n bits. It is important to note that in this problem we are not interested in the complexity of the calculations performed by Alice or Bob, or the size of the memory used for these calculations.
This abstract problem with two participants (called communication complexity with two participants) and its general form with a large number of participants occurs in various fields of computer science: for example, when designing circuits of large integrated circuits, it is necessary to minimize the energy used by reducing the number of electrical signals between different components during distributed computing. Communication complexity is also used in the study of data structures and algorithms, in the optimization of computer networks, in the theory of computational complexity and complexity of evidence, and in other areas.
Formal Definition
Let some function be given initially where in the most typical setting
. Alice gets the item
Bob gets
. By exchanging messages with each other on one bit (using some predefined communication protocol ), Alice and Bob want to calculate the value
so that at the end of the conversation at least one of them knows the meaning
.
Communication complexity of function calculation are designated
, is defined as the minimum number of bits of communication, which is enough to solve the problem in the worst case (that is, this number of bits should be enough for any pair
)
Based on this definition, it is convenient to think of the function f as a function given by the matrix A in which the rows are indexed by elements , and columns, respectively, by elements
. In each cell of this matrix indexed by the elements x and y , the corresponding value of f is written, i.e.
. Alice and Bob know the function f , and therefore they know the matrix A. Next, Alice is given the row number x , and Bob is given the column number y , and their task is to determine the value written in the corresponding cell. Therefore, if at some point one of the players knows both the column number and the line number, then he will know the value in the corresponding cell. At the beginning of communication, each player does not know anything about the number of the other player, so from the point of view of Alice, the answer can be any value in the line with number x , and from the point of view of Bob, any value in the column y . In the process of communication with each transmitted bit, new information appears, which allows players to cut off part of the possible cells. For example, if at some point Alice transmits bit b , then from Bob’s point of view all Alice’s possible inputs at that moment are divided into two sets: those for which Alice would send , and those for whom Alice would send . Knowing the value of bit b, Bob cuts off part of Alice's possible inputs and thus narrows the set of cells possible from his point of view. Moreover, from the point of view of the external observer, after each message, either the set of possible rows or the set of possible columns narrows, and thus the set of possible cells narrows to some submatrix of matrix A.
More formally, we will call the set is called a (combinatorial) rectangle if from and , follows that and . Then each submatrix of A is associated with a combinatorial rectangle R such that where and . Now consider a situation where k bits have already been transmitted between participants. Let these first k bits be given as a string . Then you can define many pairs of inputs on which the first k are equal
- -bit communication at the inputs is equal to
Then is a combinatorial rectangle, that is, it defines a submatrix of the matrix A.
Example: EQ Function
Let be . Consider a problem in which Alice and Bob want to determine if they are given the same lines, that is, they want to check that . It is easy to show that to solve this problem of checking equality (EQ), you need to transfer n bits in the worst case, if we want to be able to learn how to answer this question exactly for all possible pairs x and y .
For case strings x and y consist of three bits. The equality function in this case is determined by the following matrix, in which the rows are indexed by Alice's inputs, and the rows are indexed by Bob's entries.
| Eq | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
|---|---|---|---|---|---|---|---|---|
| 000 | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 001 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 |
| 010 | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 |
| 011 | 0 | 0 | 0 | one | 0 | 0 | 0 | 0 |
| 100 | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 |
| 101 | 0 | 0 | 0 | 0 | 0 | one | 0 | 0 |
| 110 | 0 | 0 | 0 | 0 | 0 | 0 | one | 0 |
| 111 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | one |
As we can see, the function equals 1 only in cells where x is equal to y (i.e., on the diagonal).
Theorem:
Evidence. Let's pretend that , that is, there is a protocol that solves the problem of checking equality for all pairs of bit strings of length n , transmitting no more than bit. Let’s for each possible pair of identical lines (for them ) write in the line all the bits that were sent in the protocol. Total of such various pairs smooth , and various bit strings of length no more than Total . By the Dirichlet principle, there are two pairs and for which the same lines were obtained, that is, the same bits were sent in the protocol. Since many pairs of strings for which identical bits were sent sets a rectangle, then and must also be equal to 1, which contradicts the fact that . Therefore, our assumption is false, which means
In other words, if less than n , then we must be able to cover all the units of the matrix EQ with less solid rectangles (all cells of which are marked with units). However, in the matrix EQ exactly one, and no two can lie in the same monochrome rectangle, since then cells marked with zeros will inevitably get into this rectangle. Therefore, such coverage does not exist, which means at least n .
Notes
- ↑ Yao, AC (1979), "Some Complexity Questions Related to Distributed Computing", Proc. of 11th STOC T. 14: 209–213
Literature
- Kushilevitz, Eyal. Communication complexity / Eyal Kushilevitz, Noam Nisan. - Cambridge University Press, 2006. - ISBN 978-0-521-02983-4 .
- Razborov A.A. Communication complexity . - ICMMO, 2012 .-- 24 p. - ISBN 978-5-4439-0202-9 .
- Vereshchagin N.K., Schepin E.V. Information, coding and prediction. - M .: FMOP, ICMMO, 2012 .-- 238 p. - ISBN 978-5-94057-920-5 .