\documentclass[11pt]{article}
%%%
%%% You should not need to change anything between here and the after the next %%% block
%%%
\setlength{\oddsidemargin}{0.0in}
\setlength{\evensidemargin}{0.0in}
\setlength{\textwidth}{6.25in}
\setlength{\topmargin}{-0.4in}
\setlength{\textheight}{8.5in}
\setlength{\parindent}{0em}
\setlength{\parskip}{1.5ex}
\usepackage{mathpazo} % palatino math fonts
\usepackage{palatino}
\usepackage{amssymb, amsmath, amsfonts}
\usepackage{verbatim}
\usepackage{graphics}
\usepackage[hyperindex]{hyperref}
\usepackage{url}
\urlstyle{sf}
\newcommand{\nonterminal}[1]{{\sl #1}}
\newcommand{\terminal}[1] {{\textbf{#1}}}
\newcommand{\produces}{$\rightarrow$}
\newenvironment{bnfgrammar}{\begin{quote}\begin{tabbing} \hspace*{12em}\=\ \produces\quad\= \kill}{\end{tabbing}\end{quote}}
\newenvironment{smallbnfgrammar}{\begin{quote}\begin{tabbing} \hspace*{3em}\=\ \produces\quad\= \kill}{\end{tabbing}\end{quote}}
\newcommand{\bnfrule}[2]{\hfill\nonterminal{#1}\>\produces\>#2\\}
\newenvironment{bnfgrammarm}[1]{\begin{quote}\begin{tabbing} #1\qquad\=\ \produces\quad\= \kill}{\end{tabbing}\end{quote}}
\renewcommand\theenumi{\alph{enumi}}
\newcounter{problemno}
\newcommand{\problem}[1]{\stepcounter{problemno}{\bf Problem \theproblemno: #1.}}
\newcommand{\handout}[3]{
\noindent\begin{center}\vspace{-10mm}{\bf University of Virginia - cs3102: Theory of Computation (Spring 2010)}\end{center}
{\Large \bf #1 \hfill Due: #3}}
\newcommand{\collaboration}[1]{
\begin{center}{\bf Collaborators and Resources:}\par{\framebox{\parbox[t]{5.5in}{#1}}}\end{center}
%{\bf Collaboration and Resource Policy.} For this assignment, follow the same collaboration and resource policy as on Problem Sets 1 and 2. See the Problem Set 1 handout for a full description of the policy.
}
\newcommand{\handin}[2]{
{\Large \bf Name: \fbox{\Large #1 (#2)}}
\renewcommand{\thepage}{#2-\arabic{page}}}
\newenvironment{smallquote}{\begin{list}{}{%
\setlength\rightmargin{1.5em}\setlength\leftmargin{1.5em}\setlength\labelwidth{0pt}\setlength\itemindent{0pt}}\item[]}{\end{list}\vspace*{-1.3ex}}
\newcommand{\answer}[1]{\begin{smallquote}\emph{Answer:} #1\end{smallquote}}
\begin{document}
\handout{Problem Set 6}{PS6}{27 April 2010 (2:00pm)}
%%%
%%% ===========================================================
%%% Start editing here
%%%
\handin{Your Name}{yourid} %%% replace with your name and email ID
\collaboration{
List your collaborators here.
}
\bigskip
\problem{Asymptotic Notation} The way we advocated using asymptotic notation to describe algorithm complexity in Classes 22 and 23 is different from how Sipser uses it in Section 7.1. Identify at least two ways in which Sisper's use of the asymptotic operators differs from the way we advocated using them in class, and illustrate each with a specific example from Sipser's text.
\answer{Your answer here}
\problem{Asymptotic Propositions} For each sub-part below, state whether the statement is {\bf true}, {\bf false}, or {\bf unknown} (where unknown means no one on Earth knows the answer, not just that you don't know it!). Include a brief but convincing arugment supporting your answer.
\begin{enumerate}
\item $\Theta(n \log n) \subset O(n^2)$
\answer{Your answer here}
\item $\exists f \in \mathcal{N} \rightarrow \mathcal{R}^+ \text{ such that } \Omega(f) \cap O(f) = \emptyset$
\answer{Your answer here}
\item set of languages that can be recognized by a Janus machine (as defined in Exam 2) in $O(n^3)$ Steps $\subseteq$ set of languages that can be recognized by a TM in $O(n^3)$ steps
\answer{Your answer here}
\item set of languages that can be recognized by a machine (as defined in Exam 2) in $O(n^3)$ Steps $\subset$ set of languages that can be recognized by a TM in $O(n^3)$ steps
\answer{Your answer here}
\item $n2^{n} \in O(2^{n})$
\answer{Your answer here}
\end{enumerate}
\problem{Problem Complexity} Describe the asymptotic time complexity of deciding the language, $MULT = \{ 1^{x}*1^{y}=1^{z} \mid x, y, z \in \mathcal{N}, z = x \times y \}$, as precisely as you can. A good answer would provide the tightest big-$O$ and $\Omega$ bounds you can. A correct $\Theta$ bound for the stated problem (that is, an argument that there is no asymptotically faster algorithm exists) is worth bonus points, but be aware that an incorrect answer us worse than a correct but less precise answer.
\answer{Your answer here}
\problem{Unary Subset Sum} (Sipser's 7.16) Let {\em UNARY\_SSUM} be the subset sum problem in which all numbers are represented in unary.
\begin{enumerate}\raggedright
\item Why does the NP-completeness proof for {\em SUBSET\_SUM} fail to show {\em UNARY\_SSUM} is NP-complete?
\answer{Your answer here}
\item Show that $UNARY\_SSUM \in \text{P}$.
\answer{Your answer here}
\end{enumerate}
\problem{Genome Assembly} In order to assemble a genome, it is necessary to combine snippets from many reads into a single sequence. The input is a set of $n$ genome snippets, each of which is a string of up to $k$ symbols. The output is the smallest single string that contains all of the input snippets as substrings. For example, if the input is
\[\left\{\text{\tt ACCAGAATACC}, \text{\tt TCCAGAATAA}, \text{\tt TACCCGTGATCCA}\right\}\]
the output should be \texttt{ACCAGAATACCCGTGATCCAGAATAA}:
\begin{verbatim}
ACCAGAATACC
TCCAGAATAA
TACCCGTGATCCA
\end{verbatim}
\begin{enumerate}
\item Prove that the genome assembly problem is in NP.
\answer{Your answer here}
\item Prove that the genome assembly problem is NP-Complete.
\answer{Your answer here}
\item Speculate on how the human genome was sequenced even though it involves solving an NP-Hard problem for a large input size. The human genome is about 3 Billion base pairs. Readers at the time were able to read about 700 bases per read fragment, and sequencing the genome involved aligning about 30 million fragments.
\answer{Your answer here}
\end{enumerate}
\end{document}