
\documentstyle[12pt]{article}
\setlength{\oddsidemargin}{0.0in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{8.8in}
\setlength{\topmargin}{-0.4in}

%\usepackage{amsfonts} 



\newcommand{\ket}[1]{|#1\rangle}
\newcommand{\bra}[1]{\langle#1|}
\newcommand{\ontop}[2]{{\begin{array}{l} {#1} \\ {#2} \end{array}}}
\newcommand{\stackket}[2]{{\Big | \hskip -5pt \ontop{#1}{#2} \hskip -3pt  \Big \rangle}}
\newcommand{\stackbra}[2]{{\Big \langle \hskip -5pt \ontop{#1}{#2} \hskip -3pt  \Big |}}
\newcommand{\stackketbra}[2]{{ \stackket{#1}{#2} \stackbra{#1}{#2} }}
\newcommand{\ra}{\rangle}
\newcommand{\la}{\langle}
\newcommand{\ketbra}[2]{|#1\rangle\langle#2|}
\newcommand{\braket}[2]{\langle {#1} | {#2} \rangle}


\begin{document}

   \pagestyle{myheadings}
   \thispagestyle{plain}
   \newpage
   \noindent
   \begin{center}
   \framebox{
      \vbox{\vspace{2mm}
    \hbox to 6.28in { {\bf CS 262: Computational Complexity
                        \hfill Due: March 18, 2010} }
       \vspace{4mm}
       \hbox to 6.28in { \hfill {\Large Homework 7} \hfill
               }
       \vspace{2mm}
       \hbox to 6.28in { {\it Instructor: Sandy Irani} \hfill }
      \vspace{2mm}}
   }
   \end{center}
   \vspace*{4mm}

Do four  of the following five  problems:

\begin{enumerate}

\item
{\bf FP} is the set of functions from $\{0,1\}^*$ to
$\{0,1\}^*$ that can be computed by a deterministic Turing Machine
in polynomial time. Show that computing the permanent of a matrix
with integer entries can be done in ${\bf FP}^{\bf \# SAT}$.
Note that the integer entries may be negative but you will get partial
credit if you prove this under the restricion of non-negative entries.

\item
Define a language $L$ to be {\em downward self-reducible} if there's a
polynomial-time algorithm $R$ that for any $n$ and $x \in \{0,1\}^n$,
$R^{L_{n-1}}(x) = L(x)$ where by $L_k$
we denote an oracle that solves $L$ on inputs of size at most $k$.
Prove that if $L$ is downward-self-reducible, then $L \in \mbox{~PSPACE}$.


\item 
A {\em strong} non-deterministic Turing Machine is one that has three possible
outcomes: "yes", "no" and "maybe". We say that such a machine decides a language $L$
if the following is true: whenever $x \in L$, then all computations end up with
"yes" or "maybe" and at least one ends up with "yes". If $x \not\in L$, then all
computations end up with "no" or "maybe" and at least one ends up with "no".
Show that if $L$ is decided by a strong non-deterministic machine in
polynomial time then
$L \in {\bf NP} \cap {\bf co-NP}$.

\item
Prove that every language $L$ in {\bf NL} that is not the empty set or $\{0,1\}^*$ is
complete for {\bf NL} under polynomial time reductions.


\item
Recall the definition of QSAT:
$$\mbox{QSAT~}= \{ \Phi(x_1,\ldots,x_n) \mid \exists x_1 \forall x_2 \ldots \forall x_n \Phi(x_1,\ldots,x_n)=1 \},$$
where $\Phi$ is a 3-CNF formula.
Show that $P^{QSAT} = NP^{QSAT}$.


\end{enumerate}

\end{document}
