\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 22, 2001}{Dan Spielman}{Adam Winkel} In this lecture, we will prove a major theorem in Complexity Theory which states that if NP is contained in P/poly, then the polynomial hierarchy collapses. Because it is currently thought that the polynomial hierarchy is incollapsable, 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} Toward 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} First, recall the definition of P/poly : \begin{eqnarray*} \mbox{P/poly} = \{ \mbox{ all languages, $L$, where } \exists k>0, A \in \mbox{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, 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 {\em 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 \equiv \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| < {kn^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 {\em good } sequence if \begin{enumerate} \item $\forall i, \ |g_i| \leq 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} %\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}