Domain of a function: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>JoergenB
Relativising illustration explanation; cf Range.
en>D.Lazard
Reverted good faith edits by Maurice Carbonaro (talk): Unnecessary WP:TECHNICAL: "abscissa" is defined in terms of "x-axis". (TW)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:


The notion of '''communication complexity''' was introduced by [[Andrew Yao|Yao]] in 1979,<ref name=yao1979>{{Citation
  | last = Yao
  | first = A. C.
  | title = Some Complexity Questions Related to Distributed Computing
  | journal = Proc. of 11th STOC
  | volume = 14
  | pages = 209–213
  | year = 1979 }}</ref>
who investigated the following problem involving two separated parties ([[Alice and Bob]]). Alice receives an n-[[bit]] string x and Bob another n-bit string y, and the goal is for one of them (say Bob) to compute a certain function f(x,y) with the least amount of [[communication]] between them. Note that here we are not concerned about the number of computational steps, or the size of the [[computer memory]] used. Communication [[complexity]] tries to quantify the amount of communication required for such [[distributed computation]]s.


Of course they can always succeed by having Alice send her whole n-bit string to Bob, who then computes the [[Function (programming)|function]], but the idea here is to find clever ways of calculating f with fewer than n bits of communication.
[http://www.simplywoodrings.com/ simplywoodrings.com]A diamond engagement ring ought to cause you to feel much like a princess, as well as a princess-slice diamond ring is the ideal way to enjoy your romantic relationships inside of a regal fashion. A princess-trim precious stone is rectangular and provides extensive brilliance. Princess-trim engagement rings are not as well contemporary neither also ancient-fashioned; these wedding rings reach a wonderful balance and help you highlight your motivation in design. Princess-lower engagement rings can be bought in a variety of models, and the stones deviate in top quality, measurements and cost. If princess-reduce diamonds have trapped your eyesight, use our details to choose unique engagement rings, [http://princesscutengagementrings.info/unique-engagement-rings/ http://princesscutengagementrings.info/], if the treasure suits your engagement ring.<br><br>Buying Princess-cut Engagement Rings:<br><br>- Status devices for princess-minimize diamonds change from research laboratory to laboratory. Several gemstones use a rigid ranking scale, but princess-reduce gemstones are interpreted in a different way by unique laboratories. Other appraisers and laboratories use a number of requirements, although the Approved Treasure Appraisers, the American Jewel Modern society and the European Treasure Labs grade princess diamonds firmly. Take this into account when researching a superior-top quality princess-slice diamond engagement ring or wedding band.<br><br>- The princess cut is a current precious stone selection. Princess-cut engagement rings only have existed because the 1960s, when princess diamonds ended up primary specially designed. This will make the princess-lower diamond engagement ring an modern and exhilarating preference when searching for diamond wedding event and wedding rings jewelry.<br><br>- Most princess-slice gemstones have the similar variety of components as round brilliant diamonds. The rounded outstanding diamonds ring is considered the normal in regards to diamond engagement rings, using its 58 components showing many lighting. Most people don't understand that most princess-trim diamonds also have 58 elements, giving princess-minimize jewelry the identical brilliance as around-amazing diamond engagement rings. This really is more commonly obtained in old-fashioned princess engagement rings, even though some princess-trim gemstones in engagement rings have 49 components rather then 58 aspects.<br><br>- Princess-trim gemstones use 80 % on the first rock. This provides princess gemstones a benefit when it comes to cost, given that around-outstanding diamonds only use about fifty percent on the genuine material. Which means you may get the identical natural beauty and splendour from the princess-trim precious stone for less than a circular-brilliant diamonds the exact same measurements.
 
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 <math> f</math>: X <math>\times</math> Y <math>\rightarrow</math> Z where we assume in the typical case that <math> X=Y=\{0,1\}^n </math> and <math> Z=\{0,1\}</math>. Alice draws an n-bit string  <math>x</math> <math>\in</math> X while Bob draws an n-bit string  <math>y</math> <math>\in</math> Y. By communicating to each other one [[bit]] at a time (adopting some [[Protocol (computing)|''communication protocol'']]), Alice and Bob want to compute the value of <math>f(x,y)</math> 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 protocol, denoted as <math> D(f) </math>, is then defined to be
 
:<math> D(f) = </math> 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 <math>f</math> as a [[Matrix (mathematics)|matrix]] <math>A</math> (called the ''input matrix'') where each row of the matrix corresponds to <math>x</math> <math>\in</math> X and each column corresponds to <math>y</math> <math>\in</math> Y. An entry in the input matrix is <math>A_{\mathrm{x,y}}=f(x,y)</math>. Initially both Alice and Bob have a copy of the entire matrix A (assuming the function <math>f</math> 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 <math>x</math> and <math>y</math>. 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. <math>2^{2n}</math>. 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 <math>\subseteq</math> X <math>\times</math> Y is called a ''(combinatorial) rectangle'' if whenever <math>(x_1,y_1)</math> <math>\in</math> R and <math>(x_2,y_2)</math> <math>\in</math> R then <math>(x_1,y_2)</math> <math>\in</math> R. Equivalently, R can also be viewed as a submatrix of the input matrix A such that R = M <math>\times</math> N where M <math>\subseteq</math> X and N <math>\subseteq</math> Y. Consider the case when <math>k</math> bits are already exchanged between the parties. Now, for a particular <math>h</math> <math>\in</math> <math>\{0,1\}^k</math>, let us define a matrix
 
:<math>T_{\mathrm{h}} = \{ (x, y) : </math> the k-bits exchanged on input <math> (x , y)</math> is <math>h\}</math>
 
Then, <math>T_{\mathrm{h}}</math> <math>\subseteq</math> X <math>\times</math> Y,  and <math>T_{\mathrm{h}}</math> 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 <math>x</math> is equal to <math>y</math>.  It is easy to prove that the equality problem (EQ) will always require you to communicate <math>n</math> bits in the worst case if you want to be absolutely sure <math>x</math> and <math>y</math> are equal.
Consider the simple case of <math>x</math> and <math>y</math> being 3 bits.  The equality function in this case can be represented by the matrix below.  The rows representing all the possibilities of <math>x</math>, the columns those of <math>y</math>.
 
<center>
{| border=1 cellspacing=0 cellpadding=5
| EQ
| 000
| 001
| 010
| 011
| 100
| 101
| 110
| 111
|-
| 000
| 1
| 0
| 0
| 0
| 0
| 0
| 0
| 0
|-
| 001
| 0
| 1
| 0
| 0
| 0
| 0
| 0
| 0
|-
| 010
| 0
| 0
| 1
| 0
| 0
| 0
| 0
| 0
|-
| 011
| 0
| 0
| 0
| 1
| 0
| 0
| 0
| 0
|-
| 100
| 0
| 0
| 0
| 0
| 1
| 0
| 0
| 0
|-
| 101
| 0
| 0
| 0
| 0
| 0
| 1
| 0
| 0
|-
| 110
| 0
| 0
| 0
| 0
| 0
| 0
| 1
| 0
|-
| 111
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 1
|-
|}
</center>
 
As you can see, the function only evaluates to 1 when <math>x</math> equals <math>y</math> (i.e., 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 <math>y</math> is 1, you only need to consider half of the columns (where <math>y</math> can equal 100, 101, 110, or 111).
 
'''Theorem: <math>D(EQ) = n</math>.'''<br>
Proof. Assume that <math>D(EQ) \leq n-1</math>.  This means that there exists an <math>(x, x)</math> and an <math>(x', x')</math> having the same history, <math>h</math>.  Since this history defines a rectangle, <math>f(x, x')</math> must also be 1.  By definition <math>x \neq x'</math> and we know that equality is only true for <math>(a, b)</math> when <math>a = b</math>.  Thus, we have a contradiction.
 
Intuitively, for <math>D(EQ)</math> less than <math>n</math>, 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 communication complexity ==
In the above definition, we are concerned with the number of bits that must be ''deterministically'' transmitted between two parties. If both the parties are given access to a random number generator, can they determine the value of <math>f</math> with much less information exchanged? Yao, in his seminal paper<ref name=yao1979/>
answers this question by defining randomized communication complexity.
 
A randomized protocol <math>R</math> for a function <math>f</math> has two-sided error.
 
:<math>
\Pr[R(x,y) = 0] > \frac{1}{2}, \textrm{if }\, f(x,y) = 0
</math>
 
:<math>
\Pr[R(x,y) = 1] > \frac{1}{2}, \textrm{if }\, f(x,y) = 1
</math>
 
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.
 
Note that in the probability inequalities above, the outcome of the protocol is understood to depend ''only'' on the random string; both strings ''x'' and ''y'' remain fixed. In other words, if R(x,y) yields g(x,y,r) when using random string ''r'', then g(x,y,r) = f(x,y) for at least half of all choices for the string ''r''.
 
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 <math>z \in \{0,1\}^n</math>. Alice computes <math>z \cdot x</math> and sends this bit (call it ''b'') to Bob. (The <math>(\cdot)</math> is the [[dot product]] in [[finite field#Some small finite fields|GF(2)]].) Then Bob compares ''b'' to <math>z \cdot y</math>. If they are the same, then Bob accepts, saying ''x'' equals ''y''. Otherwise, he rejects.
 
Clearly, if <math>x = y</math>, then <math>z \cdot x = z \cdot y</math>, so <math>Prob_z[Accept] = 1</math>. If ''x'' does not equal ''y'', it is still possible that <math>z \cdot x = z \cdot y</math>, which would give Bob the wrong answer. How does this happen?
 
If ''x'' and ''y'' are not equal, they must differ in some locations:
 
:<math>x = c_1 c_2 \ldots p  \ldots p'  \ldots x_n </math>
:<math>y = c_1 c_2 \ldots q  \ldots q'  \ldots y_n </math>
:<math>z = z_1 z_2 \ldots z_i \ldots z_j \ldots z_n </math>
 
Where <math>x</math> and <math>y</math> agree, <math>z_i * x_i = z_i * c_i = z_i * y_i</math> so those terms affect the dot products equally. We can safely ignore those terms and look only at where <math>x</math> and <math>y</math> differ. Furthermore, we can swap the bits <math>x_i</math> and <math>y_i</math> without changing whether or not the dot products are equal. This means we can swap bits so that <math>x</math> contains only zeros and <math>y</math> contains only ones:
 
:<math>x' = 0  0  \ldots 0  </math>
:<math>y' = 1  1  \ldots 1  </math>
:<math>z' = z_1 z_2 \ldots z_{n'} </math>
 
Note that <math>z' \cdot x' = 0</math> and <math>z' \cdot y' = \Sigma_i z'_i</math>. Now, the question becomes: for some random string <math>z'</math>, what is the probability that <math>\Sigma_i z'_i = 0</math>?  Since each <math>z'_i</math> is equally likely to be <math>0</math> or <math>1</math>, this probability is just <math>1/2</math>. Thus, when <math>x</math> does not equal <math>y</math>,
<math>Prob_z[Accept] = 1/2</math>. 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 <math>EQ(x,y)</math>. 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 versus 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 <math>n</math>-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 <math>R</math> be <math>100n</math> strings of length ''n'', numbered <math>r_1, r_2, \dots, r_{100n}</math>. Given such an <math>R</math>, define a new protocol <math>P'_R</math> which randomly picks some <math>r_i</math> and then runs ''P'' using <math>r_i</math> as the shared random string. It takes ''O''(log&nbsp;100''n'') = ''O''(log&nbsp;''n'') bits to communicate the choice of <math>r_i</math>.
 
Let us define <math>p(x,y)</math> and <math>p'_R(x,y)</math> to be the probabilities that <math>P</math> and <math>P'_R</math>  compute the correct value for the input <math>(x,y)</math>.
 
For a fixed <math>(x,y)</math>, we can use [[Hoeffding's inequality]] to get the following equation:
 
:<math>\Pr_R[|p'_R(x,y) - p(x,y)| \geq 0.1] \leq 2 \exp(-2(0.1)^2 \cdot 100n) < 2^{-2n}</math>
 
Thus when we don't have <math>(x,y)</math> fixed:
 
:<math>\Pr_R[\exists (x,y):\, |p'_R(x,y) - p(x,y)| \geq 0.1] \leq \sum_{(x,y)} \Pr_R[|p'_R(x,y) - p(x,y)| \geq 0.1] < \sum_{(x,y)} 2^{-2n} = 1</math>
 
The last equality above holds because there are <math>2^{2n}</math> different pairs <math>(x,y)</math>. Since the probability does not equal 1, there is some <math>R_0</math> so that for all <math>(x,y)</math>:
 
:<math>|p'_{R_0}(x,y) - p(x,y)| < 0.1</math>
 
Since <math>P</math> has at most 0.1 error probability, <math>P'_{R_0}</math> can have at most 0.2 error probability.
 
== Quantum communication complexity ==
 
Quantum communication complexity tries to quantify the communication reduction possible by using quantum effects during a distributed computation.
 
At least three quantum generalizations of communication complexity have been proposed; for a survey see the suggested text by G. Brassard.
 
The first one is the [[Quantum entanglement|qubit-communication model]], where the parties can use quantum communication instead of classical communication, for example by exchanging [[photons]] through an [[optical fiber]].
 
In a second model the communication is still performed with classical bits, but the parties are allowed to manipulate an unlimited supply of quantum entangled states as part of their protocols. By doing measurements on their entangled states, the parties can save on classical communication during a distributed computation.
 
The third model involves access to previously shared entanglement in addition to [[qubit]] communication, and is the least explored of the three quantum models.
 
== Nondeterministic communication complexity ==
 
In nondeterministic communication complexity, Alice and Bob have access to an oracle.  After receiving the oracle's word, the parties communicate to deduce ''f(x,y)''.  The nondeterministic communication complexity is then the maximum over all pairs ''(x,y)'' over the sum of number of bits exchanged and the coding length of the oracle word.
 
Viewed differently, this amounts to covering all 1-entries of the 0/1-matrix by combinatorial 1-rectangles (i.e., non-contiguous, non-convex submatrices, whose entries are all one (see Kushilevitz and Nisan or Dietzfelbinger et al.)).  The nondeterministic communication complexity is the binary logarithm of the ''rectangle covering number'' of the matrix: the minimum number of combinatorial 1-rectangles required to cover all 1-entries of the matrix, without covering any 0-entries.
 
Nondeterministic communication complexity occurs as a means to obtaining lower bounds for deterministic communication complexity (see Dietzfelbinger et al.), but also in the theory of nonnegative matrices, where it gives a lower bound on the [[Nonnegative rank (linear algebra)|nonnegative rank]] of a nonnegative matrix.<ref>{{Cite journal|author=Yannakakis, M. |title=Expressing combinatorial optimization problems by linear programs|journal=J. Comput. System Sci.|volume=43 |issue=3 |pages=441–466 |year=1991}}</ref>
 
== Open problems ==
 
Considering a 0/1 input matrix <math>M_f=[f(x,y)]_{x,y\in \{0,1\}^n}</math>, the minimum number of bits exchanged to compute <math>f</math> deterministically in the worst case, <math>D(f)</math>, is known to be bounded from below by the logarithm of the [[Rank (linear algebra)|rank]] of the matrix <math>M_f</math>. The log rank conjecture proposes that the communication complexity, <math>D(f)</math>, of <math>M_f</math> is bounded from above by a constant power of the logarithm of the rank of <math>M_f</math>. Since D(f) is bounded from above and below by polynomials of log rank<math>(M_f)</math>, we can say D(f) is polynomially related to log rank<math>(M_f)</math>. Since the rank of a matrix is polynomial time computable in the size of the matrix, such an upper bound would allow the matrix's communication complexity to be approximated in polynomial time. Note, however, that the size of the matrix itself is exponential in the size of the input.
 
For a randomized protocol, the number of bits exchanged in the worst case, R(f), is conjectured to be polynomially related to the following formula:
 
: <math>\min(\textrm{rank}(M'_f): M'_f\in \mathbb{R}^{2^n\times 2^n}, (M_f - M'_f)_\infty\leq 1/3).</math>
 
Such log rank conjectures are valuable because they reduce the question of a matrix's communication complexity to a question of linearly independent rows (columns) of the matrix. This reveals that the essence of the communication complexity problem, for example in the EQ case above, is figuring out where in the matrix the inputs are, in order to find out if they're equivalent.
 
== Applications ==
Lower bounds in communication complexity can be used to prove lower bounds in [[decision tree complexity]], [[VLSI circuit]]s, data structures, [[streaming algorithms]], [[space–time tradeoff]]s for Turing machines and more.
 
== References ==
* Kushilevitz, E. and [[Noam Nisan|N. Nisan]]. Communication complexity. Cambridge University Press, 1997.
* Brassard, G. Quantum communication complexity: a survey. [http://arxiv.org/abs/quant-ph/0101005 http://arxiv.org/abs/quant-ph/0101005]
* Dietzfelbinger, M., J. Hromkovic, J., and G. Schnitger, "A comparison of two lower-bound methods for communication complexity", Theoret. Comput. Sci. 168, 1996. 39-51.
* [[Ran Raz|Raz, Ran]]. "Circuit and Communication Complexity." In Computational Complexity Theory. Steven Rudich and Avi Wigderson, eds. American Mathematical Society Institute for Advanced Study, 2004. 129-137.
* A. C. Yao, "Some Complexity Questions Related to Distributed Computing", Proc. of 11th STOC, pp.&nbsp;209–213, 1979. 14
* I. Newman, Private vs. Common Random Bits in Communication Complexity, Information Processing Letters 39, 1991, pp.&nbsp;67–71.
 
== Notes ==
{{Reflist}}
 
{{DEFAULTSORT:Communication Complexity}}
[[Category:Quantum information science]]
[[Category:Communication]]
[[Category:Computational complexity theory]]
[[Category:Quantum complexity theory]]

Latest revision as of 10:26, 11 December 2014


simplywoodrings.comA diamond engagement ring ought to cause you to feel much like a princess, as well as a princess-slice diamond ring is the ideal way to enjoy your romantic relationships inside of a regal fashion. A princess-trim precious stone is rectangular and provides extensive brilliance. Princess-trim engagement rings are not as well contemporary neither also ancient-fashioned; these wedding rings reach a wonderful balance and help you highlight your motivation in design. Princess-lower engagement rings can be bought in a variety of models, and the stones deviate in top quality, measurements and cost. If princess-reduce diamonds have trapped your eyesight, use our details to choose unique engagement rings, http://princesscutengagementrings.info/, if the treasure suits your engagement ring.

Buying Princess-cut Engagement Rings:

- Status devices for princess-minimize diamonds change from research laboratory to laboratory. Several gemstones use a rigid ranking scale, but princess-reduce gemstones are interpreted in a different way by unique laboratories. Other appraisers and laboratories use a number of requirements, although the Approved Treasure Appraisers, the American Jewel Modern society and the European Treasure Labs grade princess diamonds firmly. Take this into account when researching a superior-top quality princess-slice diamond engagement ring or wedding band.

- The princess cut is a current precious stone selection. Princess-cut engagement rings only have existed because the 1960s, when princess diamonds ended up primary specially designed. This will make the princess-lower diamond engagement ring an modern and exhilarating preference when searching for diamond wedding event and wedding rings jewelry.

- Most princess-slice gemstones have the similar variety of components as round brilliant diamonds. The rounded outstanding diamonds ring is considered the normal in regards to diamond engagement rings, using its 58 components showing many lighting. Most people don't understand that most princess-trim diamonds also have 58 elements, giving princess-minimize jewelry the identical brilliance as around-amazing diamond engagement rings. This really is more commonly obtained in old-fashioned princess engagement rings, even though some princess-trim gemstones in engagement rings have 49 components rather then 58 aspects.

- Princess-trim gemstones use 80 % on the first rock. This provides princess gemstones a benefit when it comes to cost, given that around-outstanding diamonds only use about fifty percent on the genuine material. Which means you may get the identical natural beauty and splendour from the princess-trim precious stone for less than a circular-brilliant diamonds the exact same measurements.