\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{cases}
%\usepackage{psbox}
\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}
\newcommand{\ntime}{\hbox{NTIME}}
\newcommand{\nspace}{\hbox{NSPACE}}
\newcommand{\conspace}{\hbox{co-NSPACE}}
\newcommand{\np}{\hbox{NP}}
\newcommand{\reach}{{\sf reach}}
\newcommand{\pspace}{\hbox{PSPACE}}
\newcommand{\lspace}{\hbox{L}}
\newcommand{\conp}{\hbox{coNP}}
\newcommand{\exptime}{\hbox{EXPTIME}}
\newcommand{\elem}{\hbox{E}}
\newcommand{\nl}{\hbox{NL}}
\newcommand{\bpp}{\hbox{BPP}}

\newcommand{\nregexp}{\hbox{NREGEXP}}

\newcommand{\tqbf}{\hbox{TQBF}}
\newcommand{\threesat}{\hbox{3SAT}}
\newcommand{\cvp}{\hbox{CVP}}
\newcommand{\stconn}{\hbox{STCONN}}
\newcommand{\ispath}{\hbox{ISPATH}}


%\newcommand{\class}{\hbox{$\mathbb{C}$}}
%\newcommand{\class}{\hbox{$\mathbf{C}$}}


\newcommand{\lep}{\leq _{\hbox{P}}}
\newcommand{\lel}{\leq _{\hbox{L}}}
\newcommand{\aspace}[1]{{\rm ASPACE}(#1)}
\newcommand{\atime}[1]{{\rm ATIME}(#1)}
\newcommand{\spa}[1]{{\rm SPACE}(#1)}
\newcommand{\ti}[1]{{\rm TIME}(#1)}
\newcommand{\ap}{{\rm AP}}
\newcommand{\al}{{\rm AL}}

\begin{document}
\input{preamble.tex}
\lecture{15}{Apr 29, 2009}{Jayalal Sarma M.N.}{Yu Wu}

In the previous lecture we studied monotone boolean functions and
monotone circuit. In this course we will discuss circuits with
negation gates. We restrict circuits to have size of poly(n), and
restrict the number of negation gates to be $M$. Remember the
following theorem:

\begin{theorem}[Razborov]
If M=0, then circuit of polynomial size cannot compute
$CLIQUE_{k,n}$
\end{theorem}

Generally, we want to ask the following three questions:

\begin{enumerate}
\item What is the minimum number of negations needed to compute a function f? (We denote this as M(f))
\item If circuit C computes f using k negations, can we reduce k to (k-1) without increasing the size much?
\item Suppose that f is a monotone function (that means, there exist a monotone circuit which computing f),
      what is the value R(f), such that any circuit with at most R(f) negations requires super poly-size?
\end{enumerate}

The answer of the first question is from Markov. We present two
important theorems following:
\begin{theorem}[Markov, 1957]
Any function $f: \{0,1\}^n \rightarrow \{0,1\}$ can be computed by a
circuit that uses at most $M=O(\log n)$ negations.
\end{theorem}

%Note: The lower bound and upper bound is tight, M(f)=\atleat \log d(f) +1

\begin{theorem}[Fiser, 1974]
Any function $f, f \in P/poly$ can be computed by a polynomial size
circuit that uses at most $M=O(\log n)$ negations.
%([\log d(f)+1] \leq M \leq [\log n+1]
\end{theorem}

\begin{proof}
Take a circuit C, we would be able to push down the negations of the
inputs. Thus we could suppose C has size of $2|C|$ and n
negations.We use the following notations:
\begin{definition}(chain)
A chain in the binary n-cube is an increasing sequence
$y^1<y^2<...<y^k$ of vectors in $\{0,1\}^n$.
\end{definition}

\begin{definition}(decrease)
Given a chain $Y=y^1<y^2<...<y^k$, we define the decrease of y on Y
to be $d_Y(f)=$ the number of i, s.t $f(y^i)
> f(y^{i+1})$, and the decrease d(f) to be $d(f)=\max_Y d_Y(f)$.
\end{definition}

Actually we can prove that $M(f)=\lceil \log d(f)+1\rceil$. We first
prove the lower bound:
\begin{equation*}
M \geq \lceil \log d(f)+1 \rceil
\end{equation*}

Choose a chain $Y=y^1<y^2<...<y^k$ such that $d_Y(f)=d(f)$, let
$I(f)=\{ i| f(y^i)>f(y^{i+1})\}$(hence $|I(f)|=d(f)$). Suppose C
computes f using r negation gates. We need to prove $r \geq [\log
|I(f)|+1]$. The idea is to prove by (kind of a) contradiction. Let's
look at the first negation of C. Let $h$ be the function computed at
the input to this negation gate, and $g=\neg h$. By definition, h is
monotone, and $d_Y(g)\leq 1$.

\begin{enumerate}
\item $d_Y(g)=0$. This implies that $g=0$ or $g=1$. In either case, we can eliminate the not
gate without changing the decrease.
\item $d_Y(g)=1$. Let us devise I into two sets based on g:
\begin{eqnarray*}
I_0=\{g(y^i)=0 | i \in I\} \\
I_1=\{g(y^i)=1 | i \in I\}
\end{eqnarray*}

One of $I_0,I_1$ must has size $\geq \frac{|I|}{2}$. $\IF$ $|I_1|
\geq \frac{|I|}{2}$ then we replace the negation gate by constant 1,
otherwise by constant 0. Computing $f^1$ using the new circuit (with
negation gates one less than C). Note $f^1$ has the property that
\begin{equation}
d(f^1) \geq d_Y(f^1) \geq \frac{d(f)}{2}
\end{equation}
\end{enumerate}

Now we repeat the process, and get a sequence of functions: $f, f^1,
... , f^r$. $f^r$ is a function with 0 negation gate. Thus it is a
monotone function. Suppose $r < \lceil \log d(f)+1 \rceil$,
following from (), we have $d(f^r) \geq 1$, which contradicts that
$f^r$ is a monotone function. Thus $r \geq \lceil \log |I(f)|+1
\rceil$.

Now let's prove the upper bound:
\begin{equation}
M(f) \leq \lceil \log d(f) +1\rceil
\end{equation}
We prove this by introduction on $l(f)= \lceil \log d(f)+1 \rceil$.\\
Basis: If $l=0, d(f)=0$, f is monotone. The statement holds.\\
Suppose that the statement holds for $l(f) \leq k, k>0$. We define a
set S, $S=\{ x \in \{0,1\}^n | $ any chain starting in x, has
$d_Y(f) \leq 2^{l(f)-1} \}$.

From this we could conclude that $\forall y \not \in S$, any chain
that ends in y doesn't has decrease $d_Y(f) \leq 2^{l(f)-1}$.
(Otherwise there exists a chain that has decrease greater that
$d(f)$, which contradicts the definition of $d(f)$.)

Now we introduce two functions $f_0, f_1$ as following:

\begin{equation*}
f_0(x)=\left\{ \begin{aligned}
         & f(x) \quad & x\in S \\
         & 0   \quad & x \not \in S
         \end{aligned} \right.
\end{equation*}

\begin{equation*}
f_1(x)=\left\{ \begin{aligned}
         & 1  \quad & x\in S \\
         & f(x)  \quad & x \not \in S
         \end{aligned} \right.
\end{equation*}
By definition, we could easily conclude the following:
\begin{eqnarray}
d(f_0) \leq 2^{l(f)-1} \\
d(f_1) \leq 2^{l(f)-1}
\end{eqnarray}
and
\begin{equation}
l(f_i) \leq \log 2^{l(f)-1} < k, \quad i=0,1
\end{equation}
By the introduction hypothesis, $neg(f_i) \leq M(f_i) \l(f)-1$ for
both $i=0,1$. It is therefore remains to show that
\begin{equation}
neg(f) \leq \max \{neg(f_0),neg(f_1)\}+1
\end{equation}
We introduce a connective function $\mu(a,b): \{0,1\}^n \rightarrow
\{0,1\}$, which satisfies:
\begin{eqnarray*}
\mu(0,1,x)=f_1(x) \\
\mu(1,0,x)=f_0(x) \\
\mu(a,\neg a,x)=f_a(x)
\end{eqnarray*}

\begin{claim}
There exists a connector $\mu$ for $f_0,f_1$, $neg(\mu) \leq \max
\{neg(f_0),neg(f_1)\}$.
\end{claim}

We prove this by introduction on $r=\max\{neg(f_0),neg(f_1)\}$:\\
Basis: $r=0$. $f_0,f_1$ are monotone functions. $\mu(a,b,x)=(a
\wedge f_1) \vee (b \wedge f_0)$.\\
Introduction step: suppose circuit $C_i(x)$ compute $f_i$ using r
negation gates. Let's look at the first negation gate of each $C_i$.
Replace the gate by a new variable z we obtain a circuit $C_i'(z,x)$
on (n+1) variables with one negation gate fewer. Let $f_i'(z,x)$ be
the function computed by this circuit, and let $h_i(x)$ be the
monotone function computed just before the first negation gate in
$C_i$. We have: $f_i(x)=f_i'(\neg h_i(x),x)$.

By the introduction hypotheses, there is a boolean function $
\mu'(a,b,z,x)$ such that $\neg(\mu') \leq \max
\{neg(f_0'),neg(f_1')\}\leq r-1$ and for i=0,1,
\begin{equation}
\mu'(i,\neg i,z,x)=f_i'(z,x)
\end{equation}
By replacing the variable z by the following function
\begin{equation}
Z(a,b,x)= \neg ((a \wedge h_0(x)) \vee (b \wedge h_1(x)))
\end{equation}
in (7), we can get a connector $\mu(a,b,x)$ of $f_0$ and $f_1$.
Since $h_0$ and $h_1$ are monotone functions, we have $\neg(\mu)
\leq 1+neg(\mu')\leq r$, as desired.

Let $s(x)$ be the characteristic function of S. Note that $s(x)$ is
monotone. Let $\mu$ be a connector of $f_0, f_1$. Then
$f(x)=\mu(s(x),\neg s(x),x)$, and by Claim, $neg(f)\leq
neg(\mu)+1\leq \max\{neg(f_0),neg(f_1)\}+1$.

\end{proof}

Now let's back to Fisher's theorem. The idea of proving this theorem
is designing a black box called 'NEGATOR' which takes $x_1,...,x_n$
as its input and outputs $\neg x_1,...,\neg x_n$. We will use
threshold function and Fact() to complete the proof.

Remember the threshold function:
\begin{equation}
Th_k^n(x_1,...,x_n) = \left\{ \begin{aligned}
 & 1 \quad \IF \sum_{i=1}^n x_i \geq h\\
 & 0 \quad otherwise
 \end{aligned} \right.
\end{equation}

\begin{fact}
$Th_k^n$ has monotone circuit of O(n log n) size.
\end{fact}

\begin{proof}
We define $NEG(x_1,...,x_n) = (\neg x_1,...,\neg x_n)$. We
understand $\neg x_i$ as a function of x: $f_i(x)=\neg x_i$.
\begin{equation}
\neg x_i(a) = \left\{ \begin{aligned}
 & 0 \quad \IF \quad a_i=1\\
 & 1 \quad \IF \quad a_i=0
 \end{aligned}\right.
\end{equation}

If we let $Th_{k,i}^n(x)=
Th_k^{n-1}(x_1,...,x_{i-1},x_{i+1},...,x_n)$, we have the following
expression:
\begin{equation}
f_i(x)=\vee_{k=0}^n(\neg Th_k^n(x) \wedge Th_{k,i}^n(x))
\end{equation}
It remains to compute the function $\neg T(x) := (\neg
T_1^n(x),...,\neg T_n^n(x))$. Observe that the bits of any input $y
\in \{0,1\}^n$ are sorted in decreasing order $y_1 \geq ... \geq
y_n$.
\begin{definition}
$A_{sort}=\{y | y \in \{0,1\}^n, y_1 \geq ... \geq y_n\}$
\end{definition}

\begin{claim}
There exist a circuit $\hat{C}_n$ of size O(n) which has at most
$r=\lceil \log(n+1) \rceil$ negation gates such that
$\hat{C}_n=neg(y)$ for all inputs $y \in A_{sort}$.
\end{claim}
Again, we prove this by introduction on r. \\
Basis: $r=1$, $\hat{C_1}$ contains one negation and can compute
$\neg
y_1$.\\
Introduction step: suppose the claim is true for $r \leq \lceil
\log(n+1) \rceil-1$. Take the middle bit $y_m(m=n/2)$, if $y_m=1$,
we only need to compute $\hat{C_{n/2}}(y_1,...,y_{m-1})$, and the
next (n+1-m) bits of $\hat{C_n}$ are 1. Otherwise the first m bits
are 0, and the next bits are $\hat{C_{n/2}}(y_{m+1},...,y_{n})$. By
the introduction hypnosis, we thus compute $\hat{C_n}$ with r
negations.

Let $C_2(y)$ be a circuit of size O(n) with $\lceil \log(n+1)
\rceil$ negations which computes $neg(y), y\in A_{sort}$. The
resulting circuit $C(x)=C_2(C_1(x))$ computes $\neg T(x)$.
\end{proof}

From proofs above, we could give some answers to question 1 and 2.
Now let's considerate the question 3. We give some result:
\begin{claim}
If for some f, $R(f) geq \log n$, then $f \not \in P/poly$.
\end{claim}
\begin{proof}
This is implied by Fisher's theorem.
\end{proof}

\begin{theorem}(A,M)
If $M=O(\log \log n)$, then $CLIQUE_{k,n}$ cannot be computed by
polynomial size circuit.
\end{theorem}

We will not present the proof of this theorem here, but will prove
another theorem:
\begin{theorem}
$R(f) \geq \log n-O(\log \log n)$:\\
\end{theorem}

\begin{proof}
$f : \{0,1\}^n \rightarrow \{0,1\}$ \\
$C(X,Y)=\{0,1\}^2, f_0(X), f_1(Y), X \bigcap Y=\O$\\
\begin{claim}
If C has one negation gate, then at least one of $f_0$ or $f_1$ can
be computed by a monotone circuit of same or smaller size.
\end{claim}

We use the notion of $minterm$ of a monotone function to prove this
claim.
\begin{definition}(minterm)
A minterm is a minimal set of variables which, if all assigned the
value 1, forces the function to take the value 1 regardless of other
valuables.
\end{definition}
Let $g$ be the monotone function computed at the input to the first
negation gate. We have two possibilities: either some $minterm$ of g
lies entirely in Y, or not. In the first case, we assign constant 1
to all the variables in Y. As a result, $g$ turns into a constant 1.
Thus we can replace the negation gate by constant 0. Since $X
\bigcap Y=\O$, this change does not affect the function $f_0$. In
the second case, we assign constant 0 to all the variables in X, and
by a similar argument, we can conclude that $f_1$ is not affected.
In either case we obtain a circuit which computes $f_0$ or $f_1$ and
contains no negation gate.

Let $f=f(X)$ be a boolean function in m variables
$X=\{x_1,...,x_m\}$, and $n=km$. A function $f_n: \{0,1\}^n
\rightarrow \{0,1\}^k$ is a $k-fold$ $extension$ of $f$ if it
computes k copies of $f$ on disjoint copies $X_1,...,X_k$ of X. That
is, given an input $(a^1,...,a^k)$ with $a^i \in \{0,1\}^{X_i}$, the
function outputs the sequence $(f(a^1),...,f(a^k))$. Note:
\begin{enumerate}
\item The $i-th$
output bit $f(a^i)$ is independent of inputs $a^j$ for $j \neq i$.
\item If $f$ is a monotone function, then $f_n$ is also a monotone function.
\end{enumerate}

Iterating the argument used in the proof of Claim () yields the
following:
\begin{claim}
If a monotone function f cannot be computed by a monotone circuit of
size t, then its k-fold extension cannot be computed by a circuit of
size t using $\lceil \log(k+1) \rceil$ negation gates.
\end{claim}

\end{proof}
\end{document}
