\documentstyle{article} \newtheorem{example}{Example} % \P and \time are already used by LaTeX. :-( \newcommand{\ti}{\hbox{TIME}} \newcommand{\p}{\hbox{P}} \newcommand{\np}{\hbox{NP}} \newcommand{\conp}{\hbox{coNP}} \newcommand{\exptime}{\hbox{EXPTIME}} \newcommand{\ntime}{\hbox{NTIME}} \begin{document} \input{preamble.tex} \lecture{8}{March 4, 1997}{Daniel A. Spielman}{Saadeddine Mneimneh} \section{Relations between Different Complexity Classes} Some containment relations: $P \subseteq RP$ $P \subseteq coNP$ $RP \subseteq NP$ $RP \subseteq BPP$ $NP \subseteq \Sigma_2^P$ $NP \subseteq \Pi_2^P$ $BPP \subseteq \Sigma_2^P$ $BPP \subseteq \Pi_2^P$ $coNP \subseteq \Sigma_2^P$ $coNP \subseteq \Pi_2^P$ $PH \subseteq PSPACE$ \section{NP is as easy as detecting unique solutions} Several authors have observed that, among most known NP-complete problems, reductions can be found that preserve the number of solutions. Such reductions are called parsimonious reductions. A characteristic of each such NP-complete problem is that its instances have widely varying numbers of solutions. It is natural to ask whether the inherent difficulty in solving NP-complete problems is caused by this wide variation. The answer for this question is NO. Let $A$ be any NP-complete problem to which satisfiability is parsimoniously reducible. Let $\#A(x)$ denote the number of solutions to instance $x$. Then if we can find a randomized polynomial-time Turing machine that on input $x$ outputs: $ $ 0 if $\#A(x)=0$ 1 if $\#A(x)=1$ Q(x) if $\#A(x)>1$, where Q is an arbitrary boolean function $ $ we would have $NP=RP$. $ $ For this purpose, we use the concept of a randomized polynomial-time reduction: $\le_{RP}$ $ $ Definition: $A$ is randomized polynomial-time reducible to $B$ ($A\le_{RP} B$) iff $\exists$ a randomized polynomial-time TM M and some polynomial $p$ such that: $ $ if $x \notin A$ then $M(x) \notin B$ and if $x \in A$ then $Pr[M(x) \in B]\ge p(|x|)^{-1}$ $ $ if $B \in RP$ and $A\le_{RP}B$ then $A \in RP$ $ $ proof: $ $ let $M_{B}$ be the $RP$ machine of $B$ if $x \notin A$ then $M(x) \notin B$ and $M_{B}$ rejects $M(x)$ if $x \in A$ then $Pr[M(x) \in B]\ge p(|x|)^{-1}$ and $Pr[M_{B}$ accepts $M(x)]\ge [2p(|x|)]^{-1}$ $ $ if we run $M_{B}$ a polynomial number of times, then we will boost the error probability. \section{Detecting Unique Solutions in RP-time means NP=RP} The idea is the following: For any problem in NP, we can reduce it the an instance of SAT. Repeatedly, we apply restrictions on the obtained formula. Then we run the RP machine to detect whehter the new formula has exactly one solution or not. The consequence of this is that any NP problem will be solved in RP time. Since $RP\subseteq NP$, then NP=RP. $ $ The following will prove that given a formula, we can obtain a restricted version of it that has only one satisfying assignment by applying a polynomial number of random restrictions. $ $ Consider $x_{1}, x_{2}..., x_{n}$ to be the satisfying assignments of a formula represented as vectors in $(GF(2))^n$ We use restrictions on the satisfying assignments (vectors) to decrease their number to only one satisfying assignment. $ $ Lemma: Let $w_{1}, w_{2}, ..., w_{n}$ be vectors chosen at random. Define $ $ $H_i=\{x: x.w_{j}=0; i\le j\}$ $ $ Let $S$ be the set of vectors representing the satisfying assignments and assume $S\ne\Phi$ $ $ Let $S_i=H_i\cap S$, $ $ then $Pr[\exists i | rank(S_i)=1]\ge 1/2$ $ $ proof: $ $ Without loss of generality, let $S$ contains the unit vectors $e_1, ..., e_k$ where $e_i[i]=1$ and $rank(S)=k$. Assume the first time the rank of $S$ decreases is when we intersect $S$ with $H_j$. So $rank(S_j)=rank(S\cap H_j)