<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
%Communication Complexity Scribe Notes template

\ifx\CompleteCourse\relax
\ClassScribeSetupA
\else
\documentclass[11pt]{article}

% 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&lt;\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{Tasos Zouzias and Toniann Pitassi}    % Who is the scribe?
\def\classdate{Spring, 2022} % Date of the class
\def\classnumber{2}     % 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{Communication Complexity and Applications}}
\def\classid{\textup{Lecture \#\classnumber: \classdate}}

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

% Reverse Index (remove before final edition)
% Remove the following
%\usepackage[active]{srcltx}


\newcommand{\eps}{\varepsilon}
\newcommand{\ignore}[1]{}
\def\C   {\mathcal{C}}
\def\RR  {\mathbb{R}}
\renewcommand{\SS}{\mathbb{S}}
\def\EE  {\mathbb{E}}

\newtheorem{definition}{Definition}
\newtheorem{theorem}{Theorem}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{question}{Question}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{observation}[theorem]{Observation}
\newtheorem{fact}[theorem]{Fact}
\newtheorem{example}{Example}
%\newtheorem{algorithm}{Algorithm}
\newtheorem{assumption}[theorem]{Assumption}
\newtheorem{remark}{Remark}
\newtheorem{problem}{Problem}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[backref=page]{hyperref}
\hypersetup{
    unicode=false,          % non-Latin characters in Acrobatâ€™s bookmarks
    pdftoolbar=true,        % show Acrobatâ€™s toolbar?
    pdfmenubar=true,        % show Acrobatâ€™s menu?
    pdffitwindow=true,      % page fit to window when opened
    pdftitle={Introduction to Communication Complexity},    % title
    pdfsubject={Communication Complexity},   % subject of the document
    pdfcreator={Toniann Pitassi},   % creator of the document
    pdfproducer={}, % producer of the document
    pdfkeywords={}, % list of keywords
    pdfnewwindow=true,      % links in new window
    colorlinks=false,       % false: boxed links; true: colored links
    linkcolor=red,          % color of internal links
    citecolor=green,        % color of links to bibliography
    filecolor=magenta,      % color of file links
    urlcolor=cyan          % color of external links
}




% 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.

%\nocite{CC}



\section{Nondeterministic Communication and Rectangle Covers}


\begin{definition}
Let $f:X\times Y \to \{0,1\}$ be a function: 
\begin{enumerate}
\item
$C^P(f)=$ minimum number of leaves in a \emph{protocol tree} for $f$.
This is also called the protocol number.
\item
$C^D(f)=$ minimum number of monochromatic rectangles in a (rectangular disjoint) \emph{partition} of $X\times Y$. This is called the partition number.
\item
$C(f)=$ minimum number of monochromatic rectangles that \emph{covers} $X\times Y$. This called the cover number.
\item
$C^z(f)=$ minimum number of monochromatic rectangles needed to cover the $z$-inputs\footnote{The $z$-inputs of a function $f$ is the set $\{ (x,y)\ |\ f(x,y)\ =\ z\}$.} of $f$.
\end{enumerate}
\end{definition}

The measure $C^z(f)$ has a natural interpretation in terms of the
nondeterministic communication complexity of $f$.
More precisely, the deterministic communication complexity
of $f$, denoted by $N^1(f)$ is equal to $\log_2 C^1(f)$.
And similarly, the conondeterministic communication
complexity of $f$, $N^0(f)$ is equal to $\log_2 C^0(f)$.

\begin{proposition}
For all $f:X\times Y \to \{0,1\}$: 
\begin{itemize}
\item
$C(f) \leq C^D(f) \leq C^P(f) \leq 2^{D(f)}$.
\item
$C(f) = C^0(f) + C^1(f)$.
\end{itemize}
\end{proposition}


%\begin{lemma}[Balancing Protocols]
%Let $f$ a function. Then
%\[\log C^P (f) \leq D(f) \leq 2\log_{3/2} C^P(f)\]
%\end{lemma}
%\begin{proof}
%The lower bound on $D(f)$ is immediate. For the upper bound, it suffices to show that given any deterministic protocol $P$ that computes $f$ with $s$ leaves, we are able to create a new protocol $P'$ for $f$ with deterministic communication complexity $O(\log s)$. 
%
%By hypothesis, we know that the protocol tree $T$ has $s$ leaves. The proof relies heavily on the following claim.
%\begin{claim}
%For any tree $T$ with $s$ leaves, $|T|=s$, there exists a node $v$ of $T$, such that for the sub-tree $T_v$ rooted at $v$ the following inequality holds,
%\[ \frac{s}{3}\leq |T_v|\leq \frac{2s}{3}.\]
%\end{claim}
%The input of the new protocol $P'$ is the protocol tree $T$, the input pair $(x,y)$, and the number of leaves $s$.
%\begin{enumerate}
 %\item Alice and Bob determine a node $v$ such that $\frac{s}{2} \leq |T_v| \leq \frac{2s}{3}$.
% \item Both decide if $(x,y)\in R_v$\footnote{$R_v$ is the rectangle that corresponds to the sub-tree $T_v$}, by sending one bit each of them, in total $2$ bits.
 %\item If yes, recurse on the rectangle $R_v$.
 %\item If no, recurse on the tree $T_{new}$, where $T_{new}$ is the same tree as $T$, except that the sub-tree $T_v$ is replaced by a single node/leave with value $0$.
%\end{enumerate}
%Let's analyse the above protocol. Let $Q(s)$ be the number of bits that are communicated by the above protocol when the input tree has $s$ leaves. It is easy to see that the following recursion on $Q(s)$ holds,
%\begin{eqnarray*}
 %Q(s) &amp;\leq&amp; 2 + Q(\frac{2s}{3}),
%\end{eqnarray*}
%where $2$ is the bits that are communicated at the current step and $Q(2s/3)$ the number of bits that will be communicated in the next (recursive) step in worst case. Also note that $Q(1)=0$.
%Applying the above inequality repeatedly we get
%\begin{eqnarray*}
%Q(s) &amp;\leq&amp; \underbrace{2+2+\dots +2}_{i}  + Q(\frac{2^i s}{3^i}), \quad \text{by setting }i=\log_{3/2}s,\\
      %&amp;=&amp; 2\log_{3/2} s.
%\end{eqnarray*}
%Setting $s=C^{P}(f)$, i.e., the minimum number of leaves for a protocol that computes $f$, and notice that $D(f)=Q(C^{P}(f))$, gives the lemma.
%\end{proof}


The following theorem states that the deterministic
communication complexity of any Boolean function is at most the
product of the nondeterministic and conondeterministic communication
complexities of the function.
The proof (also due to Yannakakis) is similar to the proof showing
that the log of the partition number is polynomially related to the deterministic
communication complexity.

\begin{theorem}
For every function $f: X \times Y \rightarrow \{0,1\}$, $D(f) = O(N^0(f) N^1(f)).$
\end{theorem}

\begin{proof}
There are two proofs of this theorem presented in
Kushilevitz-Nisan. We present the first "algorithmic" one.

First observe that if $R=S \times T$ is a 0-monochromatic
rectangle of $f$, and $R' = S' \times T'$ is a 1-monochromatic rectangle
of $f$, then either $S \cap S' = \emptyset$ or $R \cap R' = \emptyset$.

Now suppose that for some input $(x,y)$, $f(x,y)=1$ so that
$(x,y)$ is in a 1-rectangle, $R$.
Then either $R$ intersects in rows with at most half
of the 0-rectangles, or $R$ intersects in columns with
at most half of the 0-rectangles.
(If not, then by the pigeonhole principle, there must
exist some 0-rectangle that intersects with $R$, which is a contradiction.)

%The idea behind the construction of the deterministic protocol
%for $f$ is as follows. On input $(x,y)$, Alice and Bob 
%will search for a 0-monochromatic rectangle that contains $(x,y)$,
%and if they fail, they will conclude that $f(x,y)=1$. At each phase
%of the protocol, they will exchange $\log C^1(f)$ many bits and reduce the
%total number of 0-rectangles that are left to be considered by half.
%Thus there are $\log C^0(f)$ many phases, for a total
%communication complexity cost of $O(N^0(f) N^1(f))$ as claimed.

Phase $1$ of the protocol is as follows.
Alice and Bob will try to find a 1-rectangle that could be
the rectangle containing $R'$ and that intersects with at most half
of the 0-rectangles in rows, or that intersects with at most half of
the 0-rectangles in columns. If $(x,y)$ is in a 1-rectangle, then
such an $R'$ will always exist (for $R'$ equal to the rectangle containing $(x,y)$
it will have this property)
and so they wll find it.
Thus, if no such rectangle is found,
then they can conclude that $(x,y)$ cannot be in a 1-rectangle,
so they can conclude that $f(x,y)=0$.
To carry this out, first Alice looks for a 1-rectangle that contains
row $x$ and that intersects in rows with at most half of the 0-rectangles.
If she finds such a rectangle, $R'$, she sends its name to Bob and
this phase then terminates.
If she fails to find such a 1-rectangle, then Bob looks for a 1-rectangle
that contains row $y$ and that intersects in columns with at most half 
of the 0-rectangles. If he finds such a rectangle $R'$, he sends its name
to Alice, and then this phase terminates.
If neither find such a rectangle, then they conclude $f(x,y)=0$ and the
protocol ends.
If the protocol does not end after phase 1, then they have a rectangle $R'$ that
either intersects in columns with at most half of the 0-rectangles or
intersects in rows with at most half of the 0-rectangles.
This allows them to prune the space of possible 0-rectangles:
If $R'$ intersects in rows with at most half of the 0-rectangles, remove
those 0-rectangles that do not intersect in rows; otherwise if $R'$ intersects in columns
with at most half of the 0-rectangles, then remove
those 0-rectangles that do not intersect in columns. This removes at least half
of the 0-rectangles altogether.

In phase $i$, they continue as above.
Alice considers the set of all 0-rectangles that are
still under consideration at phase $i$.
If there are no such rectangles she outputs $f(x,y)=1$.
Otherwise, she looks for a 1-rectangle that contains
row $x$ and that intersects in rows with at most half of the 0-rectangles
that are still under consideration. If she finds such a rectangle, $R'$,
she sends its name to Bob and the phase is completed. 
The set of 0-rectangles that remain active for the
next phase $i+1$ are those that intersect in rows with $R'$.
Otherwise she tells Bob that no such
rectangle exists.

If phase $i$ hasn't terminated yet, then
Bob looks for a 1-rectangle that contains column $y$
and that intersections in columns with at most half of the
0-rectangles that are still under consideration. If such
a rectangle, $R'$ exists, then Bob sends its name to Alice
and the phase is completed. The set of 0-rectangles that remain
active for the next phase $i+1$ are those that intersect
in columns with $Q$. Otherwise Bob outputs $f(x,y)=0$.

For runtime, the number of phases is at most
log of the number of 0-rectangles ($\log N^0(f)$), and at each phase they
send  $O(\log N^1(f))$ many bits, for a total of
$O(\log N^0(f) \log N^1(f))$ bits.

For correctness, first suppose that
$(x,y)$ is in a 1-rectangle. Then at each phase,
Alice and Bob will find $R'$ and thus the protocol will run
for all phases until all $0$-rectangles have been eliminated,
at which point the protocol will say $f(x,y)=1$.
Next suppose that $(x,y)$ is in a 0-rectangle, $Q$.
Then we claim that this 0-rectangle $Q$ will never be pruned/removed,
and thus at some phase they must not find a good $R'$ and
therefore they will output $f(x,y)=0$ at this phase.
Suppose that $(x,y)$ is in the 0-rectangle, $Q$.
There are two ways for $Q$ to be removed:
(i) there is some 1-rectangle $R'$ that contains $x$ and
that does not intersect $Q$ in any rows -- but this is impossible since
it must intersect $Q$ in row $x$; (ii) there is a 1-rectangle $R'$
that contains $y$ and that does not intersect $Q$ in any columns -- again
impossible since they intersect in row $y$.
\end{proof}

\bibliography{refs}
%\bibliographystyle{plain}

\end{document}


</pre></body></html>