\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}