\documentclass{article}
\usepackage{amsmath}
\input{preamble.tex}
\newcommand{\p}{{\rm P}}
\newcommand{\pspace}{{\rm PSPACE}}
\newcommand{\exptime}{{\rm EXPTIME}}
\newcommand{\ppoly}{{\rm P/poly}}
\newcommand{\plog}{{\rm P/log}}
\newcommand{\np}{{\rm NP}}
\newcommand{\sat}{{\rm SAT}}
\newcommand{\good}{{\rm GOOD}}
\newcommand{\true}{{\rm TRUE}}
\newcommand{\false}{{\rm FALSE}}
\newcommand{\conp}{{\rm coNP}}
\begin{document}
\lecture{5}{February 15, 2000}{Dan Spielman}{abhi shelat}
In this lecture, we will prove a major theorem in Complexity
Theory which states that if $\np$ is contained in $\mbox{P/poly}$,
then the polynomial hierarchy collapses. This leads us to believe
that NP problems cannot be solved with polynomial sized circuits.
The proof of the theorem will illustrate some interesting techniques
in Complexity theory.
%In the original paper \cite{kls}, the same techniques were used
%to show the following results:
%\begin{enumerate}
%\item $\pspace \subseteq \p/poly \implies \pspace = \Sigma_2^P \cap \Pi_2^P$
%\item $\pspace \subseteq \p/log \iff \pspace = \p$
%\item $\exptime \subseteq \pspace/poly \iff \exptime = \pspace$
%\item $\np \subseteq \p/log \iff \p=\np$
%\item $\exptime \subseteq \p/poly \implies \exptime = \Sigma_2^P \implies \p \neq \np$
%\end{enumerate}
Towards the end of the lecture, we will consider some general
results in circuit complexity starting with Claude Shannon's initial
result on the number of hard functions.
\begin{section}{NP and P/poly }\end{section}
For a sketch of the proof, recall the definition of $P/poly$ :
\begin{eqnarray*}
\mbox{P/poly} = \{ \mbox{ all languages, $L$, where } \exists k>0, A \in P, \mbox{ and a sequence of strings } \\
\{s_n\}_{n \in {\cal N}} \mbox{ such that } |s_n|=O(n^k) \mbox{ and }
w \in L \iff (w,s_{|w|}) \in A \}
\end{eqnarray*}
The $s_n$ strings can be thought of as input-size dependent advice given
to a Turing machine. We will start by assuming that the canonical
$NP$-complete problem, $\mbox{SAT} \in P/poly$, and then define what it
means to for a sequence of strings to be a {\em good} sequence of advice
strings for SAT. In turn, we will define the language, $\good$, of
good advice sequences, and then we will show that
$\good \in \conp$. This allows us to construct a
$\Sigma_2 P$ TM that can guess a {\em good} sequence, then verify that the
sequence is good, and finally use the sequence to decide complete
problems for $\Sigma_3 P$. Therein lies the collapse of PH.
\begin{theorem}[Karp, Lipton, Sipser]If $\np \subset \mbox{P/poly}$ then $\Sigma_3 P \subset \Sigma_2 P$ (PH collapses)\end{theorem}
Take the $\np$ complete problem $\sat$.
Since $\sat \in \mbox{P/poly}$, then there is some constant $k$,
some polynomial language, $A\in P$, and a sequence of strings $\{s_n\}_{n \in {\cal N}}$ such that $|s_n| < {(ki)}^{k}$ and $ w\in SAT \iff (w,s_{|w|}) \in A$. We fix the language $A$ for the rest of this lecture.
\begin{definition} The sequence of strings $(g_1,...,g_l)$ is a good sequence if
\begin{enumerate}
\item $\forall i |g_i| < {(ki)}^k$
\item $\forall \phi, |\phi|\frac{2^n}{2n}$. There are some more complicated
methods to eliminate the $2$ in the denominator.
\end{proof}
Lupanov and Lenore Blum have more results in this field.
%\begin{thebibliography}{99}
%\bibitem{kls} Richard M. Karp and Richard J. Lipton. Some connections between nonuniform and uniform complexity classes. In {\em Conference Proceedings of the Twelfth Annual ACM Symposium on Theory of Computing}, pages 302-309, Los
% Angeles, California, 28-30 April 1980.
%\end{thebibliography}
\end{document}