\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 \#3 Spring 2010}\\
{\bf Due 1:10pm Thursday, March 11, 2010}
\end{center}

\bigskip
\bigskip

\noindent {\underline {\bf Problem 1.}}

\noindent (a) Let:
\[ L_U = \{(M,x,1^t): M \text{ is a nondeterministic TM that accepts input
$x$ within at most $t$ steps.}\}.\] Show that $L_U$ is NP-complete.
You should do this directly, i.e. without reducing from a known
NP-complete language.

\medskip

\noindent (b) The language SQRT-CLIQUE is defined as $\{G : G$ is an
undirected graph on $n$ variables having a clique of size at least
$\sqrt{n}\}$. Show that SQRT-CLIQUE is NP-complete.  You may use the fact
that CLIQUE is NP-complete.


\bigskip
\bigskip

\noindent {\underline {\bf Problem 2.}}
A subset of the nodes of an undirected
graph $G$ is a {\bf dominating set} if every other node of $G$ is
adjacent to some node in the subset. \\
Let DOMINATING-SET = $\{ (G,k) : G$ has a dominating set with $k$ nodes $\}.$
Show that DOMINATING-SET is NP-complete.  (Hint:  reduce from VERTEX-COVER.)


\bigskip
\bigskip



\noindent {\underline {\bf Problem 3.}} 
Show that the following problem
is NP-complete:  Given a sequence of rigid rods of varying integral
lengths, connected end-to-end by hinges, can it be folded so that its
overall length is at most $k$?
(You may reduce from the PARTITION problem, defined in Papadimitriou.)

\bigskip
\bigskip
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\includegraphics{rods2.png}
\bigskip
\bigskip

\noindent {\underline {\bf Problem 4.}} 
Do problem 8.4.8 in the Papadimitriou textbook.

\newpage

\noindent {\underline {\bf Problem 5.}}
 We saw in class that both
VERTEX-COVER and CLIQUE are NP-complete, by easy polynomial-time
transformations from one to the other.  This means that the
worst-case time complexity of the two problems is equivalent, but
there are several other senses in which VERTEX-COVER is in fact
considerably easier than CLIQUE.

\medskip \noindent (a) {\bf Approximation.}  For $c>1$, we say that an
algorithm $A$ is a \emph{$c$-approximation algorithm} for VERTEX
COVER if it has the following property: given an $n$-node graph $G$
as input, $A$ runs in poly$(n)$ time and outputs a vertex cover
whose size is at most $c$ times as large as the smallest vertex
cover for $G$.

Show that there is a 2-approximation algorithm for VERTEX-COVER. (It
is known that if $P \neq NP$, then there is no 2-approximation for
CLIQUE -- in fact, there is no $n^{.99}$-approximation algorithm for
CLIQUE.)

\medskip \noindent (b) {\bf Running time as a function of $k$.}  Suppose that $n$
is very large and $k$ is rather small. Despite intensive research
effort, the fastest known algorithms for determining whether an
$n$-node graph $G$ has a $k$-clique run in time $n^{\Theta(k)}$, and
there is reason to believe that no faster algorithms can exist.

In contrast, show that there is a $O(2^k \cdot n^2)$-time algorithm
for determining whether $G$ has a size-$k$ vertex cover. (Hint: give
a recursive algorithm that runs for at most $k$ stages.)



\bigskip
\bigskip




\end{document}
