Circuit and Communication Complexity
Karchmer – Wigderson Games Given The communication game G f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find i s.t.
The deterministic communication complexity of a game G: Depth(C): The longest path from input to output in a boolean circuit C Depth(f): The minimal depth of a circuit that computes f has a boolean circuit C that computes it. The minimal CC of a protocol for G. CC of a protocol: the maximal number of bits (over all inputs) exchanged when running the protocol Boolean circuits using AND,OR,NOT gates with fan-in=2
CC(G f ) = Depth( f ) Lemma 1: Proof: Alice and Bob can simply answer: i (No need to exchange bits) C : circuit with minimal depth that computes f - by induction on Depth(C) Base: Depth(C )=0 then f(z) is z i or z i for some i
f 1, f 2 : the functions computed by C 1, C 2 By inductive hypothesis: Induction step: look at C’s top gate f 1 (x) = f 2 (x) = 1 f 1 (y) = 0 or f 2 (y) = 0 f(x)=1f(x)=1 f(y)=0f(y)=0 CC(G f ) = Depth(f)
f 1 (x) = f 2 (x) = 1 f 1 (y) = 0 or f 2 (y) = 0 f(x)=1f(x)=1 f(y)=0 Protocol for G f : Bob sends a value in {1,2} indicating whether f 1 (y) = 0 or f 2 (y) = 0 - If Bob sends 1, Alice and Bob know: f 1 (y) = 0, f 1 (x) = 1 Bob and Alice can apply a protocol for - If Bob sends 2, Alice and Bob know: f 2 (y) = 0, f 2 (x) = 1 Bob and Alice can apply a protocol for CC(G f ) = Depth(f)
Either way, we get a protocol for G f with one additional bit f 1 (x) = 1 or f 2 (x) = 1 f 1 (y) = f 2 (y) = 0 f(x)=1 f(y)=0 By the same idea, Alice sends a value in {1,2} indicating whether f 1 (x) = 1 or f 2 (x) = 1 CC(G f ) = Depth(f)
We’ll define a more general communication game: For any two disjoint sets: G A,B is: Alice gets Bob gets Goal: Find i s.t. G f is the same as f -1 (1)={x | f(x)=1} f -1 (0)={y | f(y)=0}
CC(G f ) = Depth(f) Claim: if CC(G A,B )=d then there’s a functionsuch that: f(x)=1 for every f(y)=0 for every f separates A from B For, such a function is f itself Hence, We’ll prove the claim by induction on d =CC(G A,B )
CC(G f ) = Depth(f) Base: d=0 Bob and Alice don’t need to exchange bits So there’s i such that for every and every, The functions f=z i or f= satisfy the claim requirements. For both, Depth(f )=0.
Assume Alice sends the first bit. Induction step: We have a protocol P with CC(P)=d for G A,B This bit partitions A into two disjoint sets All x in A for which the first bit Alice sends is 0 All x in A for which the first bit Alice sends is 1 If Alice sends 0, the rest of the protocol is a protocol for If Alice sends 1, the rest of the protocol is a protocol for For and we have protocols P 1, P 2 s.t. CC(G f ) = Depth(f)
By the inductive hypothesis, we have f 0 and f 1 that satisfy: f 0 (x)=1 for every f 1 (x)=1 for every f 0 (y)= f 1 (y)=0 for every We defineThen: f satisfies the requirements. for every, we have CC(G f ) = Depth(f)
Similarly, if Bob sends the first bit, B is partitioned into two disjoint sets The rest of the protocol is either for or (depending on the bit Bob sent) By the inductive hypothesis, we have g 0 and g 1 that satisfy: g 0 (y)=0 for every g 1 (y)=0 for every g 0 (x)= g 1 (x)=1 for every
We define Then: g satisfies the requirements. for every, we have CC(G f ) = Depth(f) We have seen:, =>CC(G f ) = Depth( f )
Example: Alice gets a graph x on n vertices that contains a clique of size n/2. Bob gets a graph y on n vertices that doesn’t contain a clique of size n/2 Goal: Find an edge in x that doesn’t exist in y (or vice versa) By lemma 1: the Communication Complexity of this game = the circuit depth of the (n/2)-Clique function. By proving lower bounds on the CC of such games, It would be possible to find lower bounds for certain functions’ circuit depth.
Monotone Complexity Monotone functions: is a monotone function if for every implies, iffFor every i This order (called Hamming partial order) can be thought of as the containment order between sets: A vectorcorresponds to the set iff
Letbe a monotone function. A minterm of f iss.t. f(x) = 1 and for every x’< x, f(x’) = 0 A maxterm of f iss.t. f(y) = 0 and for every y’> y, f(y’) = 1
Example: (0,0,…,0,1), (0,1,0,…,0) are maxterms 0 1otherwise f(x)= (1,1,0,…,0), (1,0,…,0,1) are minterms
Monotone boolean circuit: A circuit which uses only AND and OR gates Monotone circuits can’t compute all functions: it’s impossible to simulate NOT by using AND and OR Monotone circuits can compute all monotone functions. For example, this can be done by taking the DNF of all 1’s in all minterms, or the CNF of all 0’s in all maxterms is monotone iff it can be computed by a monotone circuit
For a monotone function : Mon-Size(f ): the minimal size of a monotone circuit for f Mon-Depth(f ): the minimal depth of a monotone circuit for f For a monotone function f,
Several lower bounds were proved for the monotone size and the monotone depth of certain functions. For the non-monotone case, there are no non-trivial lower bounds. There is no lower bound better than linear for the circuit size of any explicit function, and no lower bound better than logarithmic for the circuit depth of any explicit function.
Monotone Karchmer – Wigderson Games Given a monotone function The communication game M f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find i s.t. That is: Find i s.t. x i =1 and y i =0 The goal is always achievable, otherwise, which means
Lemma 2: for every monotone function CC(M f ) = Mon-Depth(f ) Proof: similar to the non-monotone case with the following modifications: Base case: if Depth(f ) = 0, f(z) = z i. So x i =1, y i =0, and Alice and Bob always answer: i Induction step: When dividing the circuit into two sub-circuits, each is monotone and has a suitable protocol. Bob or Alice (depending on the top gate) send the first bit, and decide which of the two monotone games to solve. When constructing a protocol from a given circuit:
When constructing a circuit from a given protocol: Base case: if there is no communication, Alice and Bob both know an i for which x i >y i, so the circuit is f(z)=z i Induction step: Each communication bit splits the game Into two sub-games of smaller CC. Since the original game is monotone, so are the two sub-games. The circuits for these games are monotone. Since we only add an AND or an OR gate, the entire circuit Remains monotone.
Example: Alice gets a graph x on n vertices that contains a clique of size n/2 Bob gets a graph x on n vertices that doesn’t contain a clique of size n/2 Goal: find an edge in x that doesn’t exist in y By lemma 2: the Communication Complexity of this game = the monotone circuit depth of the (n/2)-Clique function. A lower bound of was proved for the monotone depth of the (n/2)-Clique function
Alice gets s.t. x is a minterm of f (so f(x)=1) Bob gets s.t. y is a maxterm of f (so f(y)=0) Goal: Find i s.t. Monotone KW Game, Given a monotone function The communication game : That is: Find i s.t. x i =1 and y i =0
is a restriction of to a subset of inputs. Hence, any protocol for is also a protocol for So: In fact, for every monotone We have to prove
: Given a protocol for, we will construct a protocol for with the same communication complexity. Alice gets x s.t. f(x)=1, and finds a minimal x’ s.t. And f(x’)=1. x’ is a minterm This is done by successively changing 1’s to 0’s in x In the same way, Bob finds a maxterm
Sinceandwe have x i =1 and y i =0 Alice and bob run the protocol for on x’ and y’, and find i s.t. x’ i = 1 and y’ i = 0 We get: for every monotone
Lower Bound for Matching We will prove a lower bound of for the monotone depth of the Matching function. The function Match: Let n=3k, and x a graph on n vertices. Match(x) =1x contains k independent edges 0otherwise
The monotone KW game M 0 for Match : Alice gets a graph x on n vertices that contains a k-matching Bob gets a graph y on n vertices that doesn’t contain a k-matching Goal: find an edge in x that doesn’t exist in y By Lemma 2: To prove a lower bound for Mon-Depth(Match) it’s enough to prove a lower bound for CC(M 0 )
The game M 1 : Alice gets k independent edges x on n vertices (k-matching) Bob gets a set y of k-1 vertices Goal: find an edge in x that doesn’t touch any of the vertices in y Claim: Proof: Every k-matching is a minterm of Match Every set of k-1 vertices is a maxterm of Match, by considering all edges that touch y. Every protocol for M 0 can by applied on x,y to solve the game M 1.
We get: To prove a lower bound for Mon-Depth(Match) it’s enough to prove a lower bound for CC(M 1 ) P- a protocol for M 1. We can assume that P outputs each possible answer with the same probability. Alice and Bob can use a common random string to permute the vertices before applying P
The game M 2 : Alice gets a k-matching x Bob gets a set y of k vertices Goal: output 1 if there’s an edge in x that doesn’t touch any of the vertices, and 0 otherwise. Claim: for any there exists a constant a s.t. The minimal CC of a probabilistic protocol P for which: Pr[P answers right]
Proof: Claim: for any there exists a constant a s.t. Assume we have a deterministic protocol P 1 for M 1 We will construct a probabilistic protocol P 2 for M 2, with the same CC as P 1 Bob has a set y of k vertices, and will randomly choose and remove it. Bob is left with a set y’ of k-1 vertices. Alice and Bob can apply P 1 for M 1 on (x,y’) and get That doesn’t touch any of the vertices in y’.
If the edge e doesn’t touch v then P 2 outputs 1. If e touches v then P 2 outputs 0. Analysis: If P 2 outputs 1: e doesn’t touch v or any other vertex in y. e doesn’t touch any vertex in y P 2 assumes all edges in x touch y In this case, there is no mistake If P 2 outputs 0: there may be an edge e’ in x that doesn’t touch any of the vertices in y, P 1 outputs e that touches v.
Since the edges are independent, there’s at most one edge e that touches v. We are analyzing the case where there’s at least one edge e’ that doesn’t touch any of the vertices in y. An error occurs if e was output instead of any e’. e’ v e y y’
The probability of that is at most 1/2 P 1 outputs each answer with the same probability. If there are m answers, the probability is 1/m. To reduce the error probability, we can repeat this protocol any number of times. for any error prob. there exists a constant a s.t.
We have: We’ll show: The 3-Distinctness problem: Alice and Bob each get a string of n letters from {a,b,c} Goal: decide whether or not there’s i s.t. x i =y i. The communication complexity of this problem is To prove the lower bound for M 2, We’ll show a reduction from the 3-distinctness problem. ?
Alice and Bob convert their input from the 3-distinctness Problem to the following graph: For each coordinate construct an independent triangle with vertices labeled a,b,c. Denote each edge by the same letter as the vertex it doesn’t touch a a b b c c
Alice interprets her n coordinates of x as the corresponding n edges in the n triangles. Example: Alice’s input is {a,c,…,b} Bob interprets his n coordinates of y as the corresponding n vertices in the n triangles. Example: Bob’s input is {b,b,…,a} aa a b b c c 1 2 n a b b c c a a b bc c a a b b c c a a b b c c a a b bc c
We’ll call Alice’s set of edges x’, and Bob’s set of vertices y’ There’s an edge in x’ that doesn’t touch y’ iff there’s a coordinate i such that x i =y i In each triangle, vertex d doesn’t touch edge d We’ve obtained a lower bound of for the Probabilistic communication complexity of M 2
CC(3-Distinctness) is In the disjointness problem: Alice gets Bob gets Goal: return 1 iff there’s i s.t. x i =y i =1 To get a 3-distinctness problem: By reduction from the Disjointness problem, which has CC : Alice turns each 0 to b and each 1 to a and gets x’ Bob turns each 0 to c and each 1 to a and gets y’ There’s i for which x i =y i =1 iff there’s i for which x’ i =y’ i !