\documentclass[11pt]{article}

\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 \#2 Spring 2010}\\
{\bf Due 1:10pm Thursday, February 25, 2010}
\end{center}

\bigskip
\bigskip

\noindent {\underline {\bf Problem 1.}}

\smallskip \noindent a) Show that if $f(n)$ and $g(n)$ are proper complexity
functions, then $f + g$ and $f \cdot g,$ are proper complexity
functions.

\smallskip
\noindent b) Now suppose additionally that $f(n) \geq n$ (and as
before, $f$ and $g$ are proper complexity functions).  Show that $f
\circ g$ is a proper complexity function.  (Explain clearly where
your argument uses the assumption that $f(n) \geq n.$)


\bigskip
\bigskip

\noindent {\underline {\bf Problem 2.}}
 What is the relationship between the following pairs of complexity
 classes?  Give brief but thorough justifications; if you say one
 class is contained in the other you should explain whether (and why)
 the containment is proper.

\medskip

\noindent (a) $TIME(3^n)$ and $TIME(n^2 \cdot 3^n)$

\noindent (b) $NSPACE(2^{n/2})$ and $SPACE(3^n)$

\noindent (c) $SPACE(n)$ and $TIME(\lceil \log \log n \rceil^n )$

\noindent (d) $SPACE(n^2)$ and $SPACE(f(n))$, where $f(n)=n$ for $n$
odd and $n^3$ for $n$ even.



\bigskip
\bigskip



\noindent {\underline {\bf Problem 3.}} Let $f(n)$ be any recursive
function.  Show that there is some recursive language $L$ which is
not contained in SPACE$(f(n))$.  (This is the same theorem which we
proved in class except with ``SPACE'' in place of ``TIME.''). Hint:
Given a particular TM $M$, is there some number of steps after which
we can be sure that $M$ will run forever?


\bigskip
\bigskip



\noindent {\underline {\bf Problem 4.}} Recall that $EXPTIME =
\cup_{k > 0} TIME(2^{n^k})$ and $NEXPTIME = \cup_{k > 0}
NTIME(2^{n^k}).$ Show that if $NEXPTIME \neq EXPTIME$ then $P \neq
NP$. (Hint:  Use a padding argument.)


\bigskip
\bigskip


\noindent {\underline {\bf Problem 5.}}

\noindent a) Prove the following ``translation lemma'':
\medskip
Let $a,b,k$ be integers at least 1. Then
\[ NSPACE(n^a) \subseteq NSPACE(n^b) \] implies
\[ NSPACE(n^{ka}) \subseteq NSPACE(n^{kb}). \]

\medskip

\noindent b) Show that $NSPACE(n^4) \neq NSPACE(n^5)$. You may use
the above translation lemma (even if you cannot prove it) and any
theorems given in class.



\bigskip
\bigskip


\noindent {\underline {\bf Challenge Problem 6.}}
Describe (informally but precisely) a Turing machine that has
the following properties:

\begin{itemize}

\item On every input string $x$ of length $n$, it uses $O(\log \log n)$
space;

\item For infinitely many values of $n$, on every input string of
length $n$ it uses $\Omega(\log \log n)$ space.

\end{itemize}

\noindent {\bf Hint:}  You may use any facts that you like
from number theory without proof.





\end{document}
