
%Communication Complexity Scribe Notes template

\ifx\CompleteCourse\relax
\ClassScribeSetupA
\else
\documentclass[11pt]{article}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{homework}{Homework}
\newenvironment{definition}{\begin{trivlist}\item[]{\bf Definition}\ }%
{\end{trivlist}}
\newenvironment{fact}{\begin{trivlist}\item[]{\bf Fact}\ }%
{\end{trivlist}}
\newenvironment{example}{\begin{trivlist}\item[]{\bf Example}\ }%
{\end{trivlist}}
\newenvironment{proof}{\begin{trivlist}\item[]{\bf Proof}\ }%
{\end{trivlist}}
% Make the page large
\addtolength{\textwidth}{1.50in}
\addtolength{\textheight}{1.00in}
\addtolength{\evensidemargin}{-0.75in}
\addtolength{\oddsidemargin}{-0.75in}
\addtolength{\topmargin}{-.50in}

% \vdashsub{X}  makes a turnstyle with subscript "X"
% \vdashsup{X}  makes a turnstyle with superscript "X"

\newdimen\srbdimenA
\newcommand{\vdashsupsub}[2]{ \mathop{
  \setbox251 = \hbox{$\scriptstyle #1$}
  \setbox252 = \hbox{$\scriptstyle #2$}
  \ifdim \wd251<\wd252 \srbdimenA = \wd252 \else \srbdimenA = \wd251 \fi
  \setbox255 = \hbox {${\srbAvdash \vphantom( \kern -\srbdimenA \kern +.05em}
                  ^{\hbox to\srbdimenA{\hfill \box251\hfill}}
                  _{\hbox to\srbdimenA{\hfill \box252\hfill}}$}
  \box255 \kern .05em}}
\newcommand{\srbAvdash}{\hbox{ \vrule height1.4ex width0.02em
                                \dimen255 = \srbdimenA
                                \advance\dimen255 by 0.1em
                              \vbox{\hrule width\srbdimenA height0.02em
                                    \kern .65ex  }}}
\newcommand{\vdashsup}[1]{\vdashsupsub{{#1}}{\mbox{~}}}
\newcommand{\vdashsub}[1]{\vdashsupsub{\mbox{~}}{#1}}
\fi

%   FOR THE SCRIBE: CUSTOMIZE THE ENTRIES BELOW:
%   Fill in the following information particular to these scribe notes:

\def\scribeone{Lila Fontes} % Who was the scribe?
\def\classdate{20 October 2009} % Date of the class
\def\classnumber{6}     % Is this the first, second, ...?

% Here are some commands that stay the same for the whole class.

\def\classinstructor{Toniann Pitassi}
\def\classtitle{Communication Complexity}
\def\doctitle{\textup{CS 2429 - Foundations of Communication Complexity}}
\def\classid{\textup{Lecture \#\classnumber: \classdate}}

%   Put your macros for these scribe notes HERE
\usepackage{amsmath,amssymb}
\usepackage{synttree}
\newcommand{\cc}{\textrm{cc}}
%  It is best to use as few as possible.
%  environments for "theorem", "corollary", "lemma", "fact" "definition"
%   "homework", "proof", "example", "proposition"
%   are already defined above.

% Start the document

\ifx\CompleteCourse\relax
\ClassScribeSetupB
\else
\def\makeatletter{\catcode`\@=11\relax}
\def\makeatother{\catcode`\@=12\relax}
\makeatletter
\def\ps@scribeheadings{\let\@mkboth\@gobbletwo
\def\@oddhead{\sl\doctitle \hfill \classid
}\def\@oddfoot{\hfil \rm \thepage \hfil}\def\@evenhead{\@oddhead}%
\def\@evenfoot{\@oddfoot}\def\sectionmark##1{}\def\subsectionmark##1{}}
\makeatother
\pagestyle{scribeheadings}
\begin{document}
\bibliographystyle{siam}
\fi

\begin{center}
\Large\bf\doctitle\\[1em]
\Large\bf\classid\\[1em]
{\large\bf Lecturer: \classinstructor}\\[.5em]
{\large\bf Scribe Notes by: \scribeone}
\end{center}

\vspace*{.4in}

% HERE IS WHERE YOUR SCRIBE NOTES SHOULD START
%  DELETE ALL OF ROB'S TEXT AND ENTER YOUR OWN.


\section{Applications of Communication Complexity}

There are many applications of communication complexity lower
bounds. In my survey article with Arkadev Chattopadhyay, we give
many such applications via reductions to two-party lower bounds
for set disjointness. 
They include: streaming, data structures, proof complexity, and
circuit complexity.
Today we will discuss several of the easy ones.
(See the paper with Arkadev for more details.)

\subsection{Turing machine time-space tradeoff}

Consider a multitape Turing machine, with a read-only input tape and several read-write work tapes.

\begin{lemma}
 Let $f : \{ 0,1\}^n \times \{ 0,1\}^n \rightarrow \{0,1\}$.
 Let $M$ be a multitape Turing machine running in time $T(n)$ and space $S(n)$ that computes $f$ on inputs of size $m=3n$,
 such that
	\begin{itemize}
	 \item $M$ accepts $\{ x 0^n y | f(x,y)=1 \}$
	 \item $M$ rejects $\{ x 0^n y | f(x,y)=0 \}$
	\end{itemize}
 Then $D(f) = O\big( \frac{T(n) S(n)}{n} \big)$.
\end{lemma}

In particular, if $f$ has $O(n)$ communication complexity, then $T(n) S(n) \geq O(n^2)$.

Why? 

We'll show that, given a Turing machine, we can construct a communication complexity protocol simulating it.

The input tape of $M$ looks like: 
$\begin{array}{|c|c|c|} \hline x & 0^n & y \\ \hline \end{array}$.
Alice simulates $M$'s computation until input tape head moves over to $y$, then sends the state and the tapes' contents to Bob (for a cost of $O(S(n))$ bits).
Bob simulates $M$'s computation until the input tape head moves over to $x$, then transfers the state and tapes' contents to Alice.
They continue in this manner until the simulated computation has halted.

The number of transfers is at most $T(n)/n$, since the middle pad of $n$ zeroes forces Alice and Bob to do a lot of work.
(If the zeroes were not there, then we would consider the number of reversals\ldots)
Each transfer uses $O(S(n))$ bits, for a total deterministic protocol cost of $D(f) = O\big( \frac{T(n)S(n)}{n} \big)$.


\subsection{Circuit depth lower bounds}
This material is from Karchmer and Wigderson.

Consider a function $f: \{0,1\}^n \rightarrow \{0,1\}$ and the relation
$$ R_f = \{ (x,y,i) \; | \;  x \in f^{-1}(1)\text{, } y \in f^{-1}(0)\text{, } x_i \neq y_i \}$$

Define $cc(R_f)$ as the minimum number of bits of communication required in a protocol in which 
player 1 gets $x \in f^{-1}(1)$ and player 2 gets $y \in f^{-1}(0)$.
The protocol outputs an $i$ such that $x_i = y_i$.

\begin{theorem}
 For any boolean function $f : \{0,1\}^n \rightarrow \{0,1\}$, the minimum depth of a circuit over $\{ \wedge, \vee, \neg\}$ is equal to $D(R_f)$.
\end{theorem}

 The main idea is that a circuit over $\{ \wedge, \vee, \neg\}$ can be easily transformed into a 2-player protocol, and vice-versa.
We will prove this theorem next class.



In order to get circuit lower bounds, we need to extend our notion
of 2-party communication complexity so that it can compute relations.

\begin{definition}A relation $R$ is a subset $R\subseteq X\times Y\times Z$\end{definition}Given
a relation $R$ the cc problem associated with $R$ follows:

Alice gets $x\in X$

Bob gets $y\in Y$

Alice and Bob must both compute (and output) some $z$ s.t. $(x,y,z)\in R$\\
\\
A protocol for relations is the same as a protocol for functions,
in each step it must specifiy which party sends a message and the
value of that message.

Note that for a given relation there may be more than on $z$ satisfying
the above property, Alice and Bob only need to give one such $z$.
In general, lower bounds are harder to prove for relations as we need
to show it is hard for Alice and Bob to compute \emph{any} $z$.

\begin{definition}For any boolean function $f:\{0,1\}^{n}\rightarrow\{0,1\}$
and $X=f^{-1}(1)$, $Y=f^{-1}(0)$. We define $R_{f}\subseteq X\times Y\times\{1,2,...n\}$
to be the associated relation where,

\begin{itemize}
\item $R_{f}=\left\{ (x,y,i)|x\in X,y\in Y,x_{i}\neq y_{i}\right\} $
\end{itemize}
$R_{f}$ is the set of all $(x,y,i)$ where $f(x)=1$, $f(y)=0$ and
$x$ and $y$ differ on bit $i$. Similarly if $f$ is monotone then

\begin{itemize}
\item $M_{f}\subseteq X\times Y\times\{1,2,...n\}$ is the set of all $(x,y,i)$
such that $x\in X$, $y\in Y$ and $x_{i}=1$, $y_{i}=0$. 
\end{itemize}
(Recall that for a monotone boolean function $f$, $f(x)=1$ implies
that for all $x'$ where $x'_{i}\geq x_{i}$ on every $i$, $x'$
is also a 1 of the function.)

\end{definition}

Communication complexity lower bounds on $M_{f}$ give bounds on monotone
circuit depth of $f$ and lower bounds on $R_{f}$ give circuit depth
bounds for general circuits.\\


Let $d(f)$ and $d^{monotone}(f)$ denote the min depth of a circuit
computing $f$ over $\wedge,\,\vee,\,\lnot$, and the min depth of
a monotone circuit computing $f$ over $\wedge,\,\vee$ respectively.
In both cases the circuits must have bounded fan-in.

\begin{theorem}(Karchmer and Widerson '80s)

\begin{enumerate}
\item For every boolean function $f:\{0,1\}^{n}\rightarrow\{0,1\}$, $cc(R_{f})=d(f)$
\item For $f$ monotone, $cc(M_{f})=d^{monotone}(f)$.
\end{enumerate}
\end{theorem}

For formulas it is known that $2^{d(f)}=\mbox{formula-size}(f)$ so
proving lower bounds on communication complexity of relations is also
equivalent to proving formula size lower bounds.

It is a major open problem to get even super log-depth lower bounds
for the general case. But for the monotone case the method above has
been used to show that $NC_{monotone}^{i}\neq NC_{monotone}^{i+1}$
for all $i$ {[}see Theorem 2 and 3].

\begin{proof}\textbf{of Theorem 1 {}``$\Rightarrow$''}

Let $C$ be a circuit for $f$, depth$(C)=d$. We can assume that
all the negations in the circuit are at the leaves. (If not, the negations
can be pushed to the leaves without affecting depth in any circuit
by repeated application of DeMorgan's laws.)

We want to use the circuit to obtain a protocol for $R_{f}$.\\


The protocol will involve Alice and Bob taking a particular path down
the circuit with Alice, deciding the branch to take at $OR$ gates
and Bob deciding at $AND$ gates. As long as the two parties maintain
the invariant that at each subnode $v$ $C_{v}(x)=1$ while $C_{v}(y)=0$
then the leaf reached is a bit $i$ where $x_{i}\neq y_{i}$. \\


\textbf{The protocol follows:}

Starting from the top of the circuit, for each each node $v$ with
children $v_{L}$, $v_{R}$

~~~~if the gate is an $OR$ Alice says $0$ if $C_{v_{L}}(x)=1$
and $1$ otherwise.

~~~~if the gate is an $AND$ Bob says $0$ $C_{v_{L}}(y)=1$ and
$1$ otherwise.

At the end of the exchange, both Alice and bob recurse on $v_{L}$
if the message sent was $0$ and $v_{R}$ if the message sent was
1.\\


Clearly at the top of the circuit, for any inputs $(x,y)$, $C(x)\neq C(y)$.
Suppose at some point during the protocol Alice and Bob are at some
inner node $v$ where $C_{v}(x)\neq C_{v}(y)$.

\underbar{Case 1} $v$ is an or node.

Then $C_{v}(y)=0$ implies that both $C_{v_{L}}(y)$ and $C_{v_{R}}(y)$
are also 0. By choosing the subcircuit for which her input evaluates
to 1, Alice ensures that the recursion continues on a subcircuit where
the two inputs differ.

\underbar{Case 2} $v$ is an and node.

Likewise, $C_{v}(x)=1\Rightarrow C_{v_{L}}(x)=C_{v_{R}}(x)=1$ so
by choosing the subcircuit for which his input evaluates to $0$ Bob
can also maintain the above invariant.

By induction, when the protocol reaches a leaf, both $A$ and $B$
know an $i$ at which their inputs differ. The total number of bits
sent is bounded by the depth of the circuit. If $C$ was monotone
the same protocol reaches a left where $x_{i}=1$.\\
\\
\\

\end{proof}

\begin{example}

\begin{center}
\synttree[OR[AND[OR[x1][!x2]][AND[x1][x3]]][OR[AND[x3][c5]][AND[!x4][OR[x2][x3]]]]]
\par\end{center}

Suppose Alice and Bob have inputs $(01101)$ and $(01010)$ respectively.
Then on the circuit above the sequence of bits sent would be.

~~$Alice:0$ (go right)

~~$Bob:1$(go left)

~~$Alice:0$ (go left)

At which point they reach $x_{3}$ a bit on which they differ. 

\end{example}

\begin{proof}\textbf{of Theorem 1 {}``$\Leftarrow$''}

Given a protocol for $R_{f}$ we can construct a circuit computing
$f$ of bounded depth.

Consider a protocol tree $T$ for $R_{f}$. Convert $T$ into a circuit
as follows:

\begin{enumerate}
\item For each node where the message is sent by Alice, replace the node
with an $OR$ gate
\item For each node where the message is sent by Bob, replace the node with
an $AND$ gate
\item At each leaf of the protocol tree, with associated monochromatic rectangle
$A\times B$ and input bit $i$\\
\textbf{Claim }Exactly one of the following hold

\begin{enumerate}
\item $\forall\alpha\in A$, $\alpha_{i}=1$ and $\forall\beta\in B$, $\beta_{i}=0$
\item $\forall\alpha\in A$, $\alpha_{i}=0$ and $\forall\beta\in B$, $\beta_{i}=1$
\end{enumerate}
\end{enumerate}
~~~~~~~~Assign the leaves in case (a) to be $z_{i}$ and and
the leaves in case (b) to be $\bar{z_{i}}$.\\


Given the claim we can prove by induction that the circuit thus constructed
calculates $f(z)$.

\begin{proof}\textbf{of Claim}

Let $\alpha\in A$, $\alpha_{i}=\sigma$. Then for every $\beta\in B$,
$\beta_{i}=\bar{\sigma}$ which in turn implies that $\forall\alpha\in A$,
$\alpha_{i}=\sigma$.

\end{proof}

\end{proof}

\begin{theorem}(KW)

The monotone depth of $st$-connectivity is $\Omega(\log^{2}n)$.

\end{theorem}

Theorem 2 separates monotone $NC^{1}$ from monotone $NC^{2}$. A
similar lower bound proved for clique separates $monotone-P$ from
$monotone-NP$. 

\begin{theorem}Theorem(Raz, McKenzie)

For every $i$ there exists a monotone function in monotone-$NC^{i+1}$
but not in monotone-$NC^{i}$.

\end{theorem}


\section{{\normalsize NOF (Number on Forehead) Communication Complexity}}

~~~~Thus far, we have looked at 2-party communication complexity.
One extention of this model to a multi-party problem is the Number
on Forehead model.

In an NOF cc problem, there are $k$ players where player $i$ receives
$x_{i},$ $|x_{i}|=n$. We can imagine each player wearing their input
on their forehead. Thus player $i$ can see all inputs except $x_{i}$
and players communicate on a shared blackbord to compute some function
$f(x_{1},...x_{k})$. Note that when $k=2$ this reduces to the 2-party
model.

Intuitively, this model can be more powerful than the 2-party model
since more players (k-1 to be exact) have access to each bit.

\begin{example} The multi party Equality problem $EQ_{n}^{k}(x_{1},...x_{k})=1$
iff $x_{1}=...=x_{k}$ 

In the first lecture, we showed using Fooling Sets that for $k=2$
$D(EQ_{n}^{2})=n+1$. \\


In contrast, for any $k\geq3$ it only takes 2 bits under the following
protocol

~~~~Step 1. Player 1 sends $1$ iff $x_{2}=...=x_{k}$

~~~~Step 2. Player 2 sends $1$ iff $x_{1}=x_{3}$.

\end{example}


\subsection{Importance of NOF model (Connection to ACC)}

\begin{definition}ACC is the family of unbounded fan-in circuits
of constant depth and polysize over $\vee,\,\wedge,\,\lnot,\mbox{MOD}_{m}$
for some fixed $m$. ($\mbox{MOD}_{m}(x_{1},...x_{n})=1\Longleftrightarrow\sum_{i}x_{i}=0\mbox{ mod}m$)\end{definition}

When $m$ is a power of a prime, we know lower bounds for $ACC$ but
otherwise very little is known even for $m$ as small as 6. We will
show that lower bounds for any explicit function $f(x_{1},...x_{k})$
for polylog$n$ values of $k$ imply super polynomial lower bounds
for the class $ACC$. 

\begin{definition}$SYM^{+}$ is the family of depth 2 circuits where
the top gate is a symmetric function and the bottom level consists
of $AND$ gates with fan-in $d=\mbox{polylog}n$. The overall size
is $2^{\mbox{polylog}n}$.\end{definition}

\begin{theorem}(Yao, Beigel, Tarui)

$ACC\subseteq SYM^{+}$

\end{theorem}

\begin{lemma}

Let $f$ be a boolean function computed by $C\in SYM^{+}$, where
$C$ has size $S$ and bottom fan-in $d$. 

Then there exists a $d+1$ player NOF protocol for computing $f$
(under any partition of the inputs) that sends $O(d\log S)$ bits. 

\end{lemma}

Given the lemma, if we can prove that a function $f$ requires super
polylog computational complexity for polylog players then $f\notin SYM^{+}\Rightarrow f\notin ACC$.
Furthermore, finding such an $f\in P$ would imply that $P\neq ACC$. 

\begin{proof}\textbf{of Lemma}

Each $AND$ gate can have fan-in at most $d$ so there must be at
least one $x_{i}$ in a $d+1$ partion of the input such that the
$AND$ gate does not depend on inputs from $x_{i}$ by the pigeon
hole principal. The $i^{th}$ player can compute the this and gate
without any communication from other players simply by looking at
the bits available to him.

A priori, we can agree on a partition of the $AND$s into $d+1$ groups
where group $j$ are $AND$ functions that can be evaluated by $j$. 

During the protocol, each party $i$ need only send the number of
$AND$ gates in group $i$ that evaluate to true. In fact, the evaluation
of the $AND$s and sending of this number can be done in parallel.
Since the top gate is symmetric, this information is sufficient for
each $i$ to know the value of the circuit. 

Each number sent has at most $\log S$ bits so we get the $O(d\log S)$
bound immediately. 

\end{proof}


\end{document}
