\documentclass[11pt]{article}

\usepackage{amsmath,amssymb,complexity}

\textwidth=6in
\oddsidemargin=0.25in
\evensidemargin=0.25in
\topmargin=-0.1in
\footskip=0.8in
\parindent=0.0cm
\parskip=0.3cm
\textheight=8.00in
\setcounter{tocdepth} {3}
\setcounter{secnumdepth} {2}
\sloppy


\newtheorem{example}{Example}
\newtheorem{open-problem}{Open Problem}

\newcommand{\ATIME}{\ComplexityFont{ATIME}}
\newcommand{\ASPACE}{\ComplexityFont{ASPACE}}
\newcommand{\defeq}{\stackrel{\text{\tiny def}}{=}}

\begin{document}
\input{preamble.tex}
\lecture{17}{May 11, 2009}{Jayalal Sarma M.N.}{Hao Song}

In this lecture, we will continue our discussion on randomization.

\section{$\BPP$ and the Polynomial Hierarchy}
In this section, we will prove that the complexity class $\BPP$ is actually
contained in $\PH$, more specifically, we will prove that $\BPP$ is contained
in $\Sigma_{2}^{\P}\cap\Pi_{2}^{\P}$.

The following sketch illustrates some of the containment relationships about
randomized complexity classes we've learnt so far
% FIXME

\begin{theorem}
$\BPP\subseteq\Sigma_{2}^{\P}\cap\Pi_{2}^{\P}$
\end{theorem}
\begin{proof}
From the definition of $\BPP$, it's trivial to show that $\BPP=\coBPP$.
Thus we only have to show that $\BPP\subseteq\Sigma_{2}^{\P}$ and get
$\BPP=\coBPP\subseteq\Pi_{2}^{\P}$ as an immediate corollary.

From the definition of $\BPP$, we know that if a language $\lang{L}$ is
in $\BPP$, then there's a PTM $\mathcal{M}$ which uses up to $m$ random
bits such that
\begin{eqnarray*}
  x\in\lang{L} & \Rightarrow & Pr_{y\in\{0, 1\}^{m}}[\mathcal{M}(x,y)=1]\geq 1-\frac{1}{2m} \\
  x\notin\lang{L} & \Rightarrow & Pr_{y\in\{0, 1\}^{m}}[\mathcal{M}(x,y)=1]\leq \frac{1}{2m}
\end{eqnarray*}

Let's define
$$S_{x}\defeq\{y~:~\mathcal{M}(x,y)=1\}$$
then the above definition translates to
\begin{eqnarray*}
  x\in\lang{L} & \Rightarrow & |S_{x}|\geq 2^{m}(1-\frac{1}{2m}) \\
  x\notin\lang{L} & \Rightarrow & |S_{x}|\leq 2^{m}\frac{1}{2m}
\end{eqnarray*}

If we consider a bitstring $u\in\{0,1\}^{m}$, we can define the co-set of $S_{x}$ induced by $u$ to be $u\oplus S_{x}\defeq\{u\oplus v~:~v\in S_{x}\}$. Then, intuitively, $|S_{x}|$ is large if and only if we can cover the whole space $\{0, 1\}^{m}$ with only a ``small'' number of co-sets of $S_{x}$. To make that statement concrete, we claim that
\begin{equation}
x\in\lang{L} ~ \Leftrightarrow ~ \exists u_{1}, u_{2}, \ldots u_{m}\in\{0, 1\}^{m}
~ \mbox{s.t.} ~ \bigcup_{i=1}^{m}(u_{i}\oplus S_{x})=\{0, 1\}^{m}
\label{eqn:coset-cover}
\end{equation}
The ``backward'' direction of this claim can be trivially proved using a
counting argument. Thus we will only prove the ``forward'' direction here.
We will choose $u_{1}, \ldots, u_{m}$ independently and uniformly at random
from $\{0, 1\}^{m}$, and say that
\begin{equation}
Pr_{u_{1}, \ldots, u_{m}}[\exists r\in\{0, 1\}^{m}\mbox{ s.t. }r\not\in\bigcup_{i=1}^{m}(u_{i}\oplus S_{x})]<1
\label{eqn:union-bound}
\end{equation}
To prove this, consider any $r\in\{0, 1\}^{m}$, let's compute the probability
that $r$ is not covered by all those $m$ co-sets of $S_{x}$.
\begin{eqnarray*}
  Pr_{u_{1}, \ldots, u_{m}}[r\mbox{ is not covered}] 
  & = & Pr_{u_{1}, \ldots, u_{m}}[\forall i ~ r\not\in u_{i}\oplus S_{x}] \\
  & = & Pr_{u_{1}, \ldots, u_{m}}[\forall i ~ u_{i}\not\in r\oplus S_{x}] \\
  & = & (\frac{1}{2m})^{m} \\
  & < & \frac{1}{2^{m}}
\end{eqnarray*}
Because there're $2^{m}$ different $r$'s, by the \emph{union bound}, we can
say that the probability that any of them is not covered is (strictly) less
than $1$, hence equation (\ref{eqn:union-bound}). This means that there is
at least one choice of $u_{1}, \ldots, u_{m}$ such that the $m$ co-sets of
$S_{x}$ induced by $u_{1}, \ldots, u_{m}$ cover the whole space of $\{0, 1\}^{m}$.

Further note that the fact that a bitstring $r\in\{0, 1\}^{m}$ is covered 
by a co-set $u_{i}\oplus S_{x}$ can be equivalently stated as 
$r\oplus u_{i}\in S_{x}$, or $\mathcal{M}(x, r\oplus u_{i})=1$. Thus we can
rephrase equation (\ref{eqn:coset-cover}) as
\begin{eqnarray*}
  x\in\lang{L} & \Leftrightarrow & \exists u_{1}, \ldots, u_{m}\in\{0, 1\}^{m} \\
  & & \mbox{s.t. }\forall r\in\{0, 1\}^{m} ~ \bigvee_{i=1}^{m}\mathcal{M}(x, r\oplus u_{i})=1
\end{eqnarray*}
This matches the alternating quatifiers formulation of $\Sigma_{2}^{\P}$
exactly, which means $\BPP\subseteq\Sigma_{2}^{\P}$. This concludes the
prove.
\end{proof}

This corollary follows immediately from the above theorem
\begin{corollary}
$\NP=\P ~ \Rightarrow ~ \BPP=\P$
\end{corollary}
We don't believe that $\NP$ is equal to $\P$, but a lot of people do believe
that $\BPP=\P$.

\section{Problems about $\BPP$}
\subsection{Is There a Complete Problem for $\BPP$?}
A natural question to ask about the $\BPP$ class is if there's a problem that is
$\BPP$-complete. Unfortunately, we don't know any thus far. One reason for this
difficulty is that the defining property of $\BPTIME$ machines is \emph{semantic},
namely, that for \emph{every} string they either accept with probability at least
$2/3$ or reject with probability at least $1/3$. Given the description of a PTM,
even testing whether it has property is \emph{undecidable}. By contrast, the defining
property of an NTM is \emph{syntactic}: given a string it is easy to determine
if it is a valid encoding of an NTM. Completeness seems easier to define for syntactically
defined classes than for semantically defined ones.

We do know a language $\lang{L}$ that is $\BPP$-hard
$$
\lang{L}\quad\defeq\quad\{\langle M, x \rangle~:~Pr[M(x)=1]\geq 2/3\}
$$
But it is not known to be in $\BPP$.

\subsection{Does $\BPTIME$ Have a Hierarchy Theorem?}
Unlike the $\DTIME$ and $\NTIME$ class families, we don't know about a hierarchy theorem
for the $\BPTIME$ family, at least for now. The problem is that our proves for the
hierarchy theorems we've known so far are all based on the diagonalization technique,
which, in turn, relies on the existence of an enumeration of the corresponding class
of machines. But because of the same reason we explained above, it is unlikely that such
an enumeration exists.

\section{Randomized Reductions}
\begin{definition}
We say that there is a \emph{randomized reduction} from language $\lang{A}$ to
language $\lang{B}$ if there is a PTM $\mathcal{M}$ such that
$$
Pr_{y}[x\in\lang{A}~\Leftrightarrow~\mathcal{M}(x, y)\in\lang{B}]\geq\frac{2}{3}
$$
\end{definition}

And if the PTM runs in polynomial time, we say that $\lang{A}\leq_{r}^{\P}\lang{B}$.

This definition of \emph{randomized reduction} is modelled after the complexity
class $\BPP$. We can similarly define randomized reductions modelled after
$\RP$, $\coRP$. Also note that this kind of randomized reduction is analogous to
the \emph{many-one} reductions introduced in previous lectures.

People often define complexity classes based on randomized reductions. For
example, the complexity class $\BP\cdot\NP$ is defined as
$$
\BP\cdot\NP \quad \defeq \quad \{\lang{L}~:~\lang{L}\leq_{r}^{\P}3\SAT\}
$$

we claim that
\begin{proposition}
$\coNP\subseteq\BP\cdot\NP$
\end{proposition}

\section{Randomized Circuits}
We can also introduce randomized inputs into other computation models, e.g. circuits.
The randomzied analogue of the classical $\NC$ circuit class, $\RNC$, can be defined
as follows

\begin{definition}
A language $\lang{L}$ is said to be in $\RNC$, if there are three positive constants
$c$, $d$, $r$ such that $\lang{L}$ can be decided by a family of circuits $\{C_{n}\}$
where $C_{n}$ has size $O(n^{c})$ and depth $O(\log^{d}{n})$, and takes, in addition to
a length $n$ instance $x$ of $\lang{L}$, a random string of length $n^{r}$ as input. And the output
of the circuit should be correct with probability at least $\frac{2}{3}$ (with respect
to a uniform distribution of the random strings) for every instance of $\lang{L}$.
\end{definition}

We know that
\begin{proposition}
$\RNC\subseteq\mbox{non-uniform }\NC$
\end{proposition}

As an example of a problem in the $\RNC$ class, let's consider the \emph{Perfect Matching} problem,
abbreviated as \lang{PM}. This problem is to determine if there is a perfect matching in a given bipartite
$n$ by $n$ graph $G$. It's easy to see that this graph can be represented by a $n$ by $n$ adjacency matrix
$M=(a_{i,j})$ ($i,j\in[n]$).
$$
a_{i,j}=\left\{
\begin{array}{l l}
1 & \mbox{if the }i\mbox{th vertex on one side is adjacent to the }j\mbox{th vertex on the other side} \\
0 & \mbox{otherwise}
\end{array}
\right. 
$$
We can construct a new matrix $M'=(a'_{i,j})$ on a set of $n^{2}$ variables $x_{i,j}$ ($i, j\in[n]$) as
$a'_{i,j}=a_{i,j}x_{i,j}$. We claim that
\begin{claim}
$G$ has a perfect matching if and only if the determinant of $M'$ is a non-zero polynomial.
\end{claim}

Note that
\begin{lemma}
The determinant of a matrix can be computed in $\NC^{2}$.
\end{lemma}

Also note that the problem of testing if a given polynomial is identically zero can be solved efficiently
with random sampling,
based on the following result
\begin{lemma}
Given a field $\mathcal{F}$, a non-zero polynomial $p$ of $n$ variables and degree $d$, and a finite subset
of the field $\mathcal{S}\subseteq\mathcal{F}$, we have
$$
Pr_{a_{1}, \ldots, a_{n}\in\mathcal{S}}[p(a_{1}, a_{2}, \ldots, a_{n})=0]\leq\frac{d}{|\mathcal{S}|}
$$
\end{lemma}

Thus we conclude that \lang{PM} can be solved in $\RNC$.

Regarding the relationships between $\RNC$ and the previously discussed complexity classes, we don't yet know if
$\RNC$ is in $\P$, but we do know that $\RNC$ is in $\BPP$.

\section{Space Bounded Randomization}
In the previous sections, we mainly talk about time-bounded randomization. In this section, we will start to talk
about space bounded randomization. For a function $s(\cdot)$, we say that a PTM uses space $s(\cdot)$ if in the
computational tree of this machine on an input string of length $n$
\begin{itemize}
  \item in every computational path, the machine touches no more than $s(n)$ cells on the working tape.
  \item every computational path is of length $O(2^{s(n)})$.
\end{itemize}

Now we can define the complexity classes $\RL$ and $\BPL$ as the \emph{logspace} counterparts of the classes $\BPP$
and $\RP$ we defined in previous lectures.

The following sketch summarizes the state of our knowledge about the relationships between related complexity classes

We will prove in the following lectures that $\BPL$ is actually contained in $\P$.

\end{document}
