\documentclass[11pt]{article}

%\usepackage[pdftex]{graphicx}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{latexsym}
\usepackage{epsfig}

\newcommand{\ignore}[1]{}

\parindent=18pt
\oddsidemargin=0.15in
\evensidemargin=0.15in
\topmargin=-.5in
\textheight=9in
\textwidth=6.5in

\renewcommand{\labelenumi}{{\bf [\theenumi]}}

\begin{document}

\hfill{Instructor:  Rocco A. Servedio}

\hfill{Teaching Assistant:  Li-Yang Tan}

\bigskip

\begin{center}
{\bf Computer Science 4236:
Introduction to Computational Complexity}\\
{\bf Problem Set \#4 Spring 2010}\\
{\bf Due 1:10pm Thursday, April 1, 2010}
\end{center}

\bigskip
\bigskip

\noindent {\underline {\bf Problem 1.}}
Read ``The Way to Go'' (pp. 462--469 of Papadimitriou) which proves
that a variant of the game of Go is PSPACE-complete.  Give a high-level
exposition of this material {\bf in your own words}.  You do not need to go into
every technical detail; instead strive to communicate the main ideas.
Your writeup should be at least a (long) paragraph long, but should certainly be no
more than a page or two at the very most.

\bigskip \bigskip




\noindent {\underline {\bf Problem 2.}}
Consider the following computational problem:

\medskip

\noindent NONDETERMINISTIC IN-PLACE ACCEPTANCE: given a pair $(M,x)$ where $M$ is a nondeterministic
(one-tape) Turing machine, is there an accepting
computation of $M$ on input $x$ in which $M$ never leaves the
first $|x|+1$ symbols of its tape?

\medskip

Is the NONDETERMINISTIC IN-PLACE ACCEPTANCE problem PSPACE-complete?  Justify your answer.
(Hint:  Look at Theorem 19.9 in Papadimitriou.)
\
\bigskip \bigskip




\noindent {\underline {\bf Problem 3.}}

Recall that NP can
be characterized as the class of those languages for which there exists a poly-time
verifier $V$ such that:
\[x\in L\textrm{ iff }\exists y : V(x,y)=1,\]
where $|y|\leq {\rm poly}(|x|)$. (You may assume this bound on the
length of $y$ holds for all the $y$'s in all the definitions given
in this problem.) Similarly, coNP can be characterized as the class
of those languages for which there exist a poly-time verifier V such
that:
\[x\in L\textrm{ iff }\forall y : V(x,y)=1.\]

Let's take it to the next level. We'll say that $L\in\Sigma_2$ if
there exists a poly-time verifier $V$ such that:
\[x\in L\textrm{ iff }\exists y_1\forall y_2 : V(x,y_1,y_2)=1.\]
We'll say that $L\in\Pi_2$ if
there exists a poly-time verifier $V$ such that:
\[x\in L\textrm{ iff }\forall y_1\exists y_2 : V(x,y_1,y_2)=1.\]

As an example, consider the language $MIN$ consisting of the set of
Boolean formulas for which there are no shorter equivalent formulas.
We can see that $MIN \in \Pi_2$ by the following verifier $V$.
Given Boolean formulas $x$, $y_1$, and an input to the formulas $y_2$,
$V$ outputs 1 if either $x$ is shorter than $y_1$ or if
$y_1(y_2)\not=x(y_2)$. Similarly $\overline{MIN} \in \Sigma_2$.


\medskip

 An \emph{oracle} for a language $L$ is a
``black box'' which, given an input string $x$, takes one time
step and outputs whether or not $x$ belongs to $L$.
We write ``$M^L$'' to denote a Turing machine $M$ that is given
access to an oracle for $L$.
Let $\mathcal{C}$ be a complexity class (which we think of
as a class of machines -- \emph{e.g.,} for $\mathcal{C}=P$ we think of
$\mathcal{C}$ as the class of all deterministic polynomial-time TMs) and $L$ be a language.
We write ``$\mathcal{C}^{L}$'' to denote the class
of all languages $L'$ such that there is a machine $M$ in $\mathcal{C}$
such that $M^L$ decides $L'.$  More generally, if $\mathcal{C}_1$ and $\mathcal{C}_2$
are complexity classes, we write ``$\mathcal{C}_1^{\mathcal{C}_2}$'' to denote the
class of all languages $L'$ such that $L'$ belongs to $\mathcal{C}_1^{L}$
for some $L \in \mathcal{C}_2.$


\medskip

\noindent (a) Show that $\Sigma_2=\textrm{NP}^{\textrm{NP}}$.

\medskip

\noindent (b) We can extend these definitions so that $L\in\Sigma_i$ if:
\[\exists V: x\in L\textrm{ iff }\exists y_1\forall y_2
\exists y_3 \ldots Q y_i : V(x,y_1,y_2,y_3,\ldots,y_i)=1,\] where
the quantifiers alternate and $Q$ is either $\exists$ or $\forall$
depending on whether  $i$ is even or odd. $\Pi_i$ is defined
similarly. Note that $P=\Sigma_0=\Pi_0$, NP$=\Sigma_1$, and
coNP$=\Pi_1$. Your proof of (a) can be extended to show that
$\Sigma_i=\textrm{NP}^{\Sigma_{i-1}}$ and
$\Pi_i=\textrm{coNP}^{\Sigma_{i-1}}$ (you don't need to do this).

It's obvious that $\Sigma_i\subseteq \Sigma_{i+1}$ and
$\Pi_i\subseteq \Pi_{i+1}$.
Show that $\Sigma_{i-1}\subseteq \Pi_i \subseteq \Sigma_{i+1}$.
(easy)

\medskip

\noindent (c) The \emph{Polynomial Hierarchy} is defined to be
\[PH=\bigcup_{i\geq 0}\Sigma_i.\]
By part (b), $PH$ also equals $\bigcup_{i\geq 0}\Pi_i.$
We believe that $\Sigma_{i}\not= \Pi_{i}$ for $i\geq 1$.

Show that if $\Sigma_{i}= \Pi_{i}$, then for all
$j\geq i$, $\Sigma_{j}= \Sigma_{j+1}$, and thus  $PH=\Sigma_{i}$.  Having
$\Sigma_{i}= \Pi_{i}$ is sometimes referred to as ``having the polynomial-time hierarchy 
collapse'' and is viewed as unlikely.

\medskip Cultural note: While nobody knows whether BPP $\subseteq$ NP, it is known
 that BPP$\subseteq \Sigma_2\cap \Pi_2$.



\bigskip
\bigskip





\noindent {\underline {\bf Problem 4.}}

Two rooted trees $T_1$ and $T_2$ are said to be isomorphic if there exists
a bijective mapping $f$ from the vertices of $T_1$ to those of $T_2$ satisfying
the following condition: for each internal vertex $v$ of $T_1$ with
children
$v_1,\ldots , v_k$, the vertex $f(v)$ has as children exactly the vertices $f(v_1),\ldots,f(v_k)$.
Observe that no ordering is assumed on the children of any internal vertex.

Devise an
efficient randomized algorithm for testing the isomorphism of rooted trees and analyze its
performance.  (Hint: Associate a polynomial $P_v$ with each vertex $v$.)

\bigskip
\bigskip

\noindent {\underline {\bf Problem 5.}}


A {\em monotone} Boolean formula has only ANDs ($\wedge$) and ORs
($\vee$) and contains no negations.  For instance,
$(x_1 \wedge x_2 \wedge x_3) \vee (x_2 \wedge (x_3 \vee x_4))$ is a
monotone Boolean formula.

The function $\#MON$ is defined as follows:  on input
a monotone Boolean formula, it outputs the number of satisfying
assignments for the formula.

Prove that $\#MON$ is $\#P$-complete.  (Hint:  Reduce from
$\#3SAT.$  Given a 3CNF formula $F(x_1,\dots,x_n),$ construct
two monotone formulas $A$ and $B$ (over a larger set of variables)
such that the number of satisfying assignments to $F$ equals the
number of satisfying assignments to $A$ minus the number of
satisfying assignments to $B.$)
Note that this reduction uses the
power of oracle access more fully than the reductions we did
in class, since the oracle is called more than once.

\end{document}
