\documentclass[11pt]{article}
\usepackage{amsfonts,amsthm,amsmath,amssymb}
\usepackage{array}
\usepackage{epsfig}
\usepackage{fullpage}
\newcommand{\1}{\mathbbm{1}}
\DeclareMathOperator*{\argmin}{argmin}
\DeclareMathOperator*{\argmax}{argmax}
\newcommand{\x}{\times}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\E}{\mathop{\mathbb{E}}}
\renewcommand{\bar}{\overline}
\renewcommand{\epsilon}{\varepsilon}
\newcommand{\eps}{\varepsilon}
\newcommand{\DTIME}{\textbf{DTIME}}
\renewcommand{\P}{\textbf{P}}
\newcommand{\SPACE}{\textbf{SPACE}}
\begin{document}
\input{preamble.tex}
\handout{CS 221 Computational Complexity, PSet 1}{{\bf Due: Feb 2, 2018 at 8pm}}{Instructor:
Madhu Sudan}{TA: Preetum Nakkiran}{Problem Set 1}
\begin{enumerate}
\item {\bf Polynomial Time Exercise.}\\
Let $L$ be a problem in $\P$.
Let $L'$ be equal to $L$, except on a constant number of instances.
Show that $L'$ is also in $\P$.
(For example, suppose $L$ is the problem $\text{CONN}$ of determining if a graph
$G$ is strongly connected.
Let $L'$ be defined as equal to: $\text{CONN}(G)$ for all inputs $G$ of size $|G| \geq 100$,
and $\text{HAMILTONIAN}(G)$ for inputs $G$ of size $|G|<100$,
where $\text{HAMILTONIAN}(G)$ is the Hamiltonian cycle problem on input $G$. Then this question asserts that $L'$ is polynomial time solvable. Is it?)
\item {\bf $\SPACE(n)$ vs. $\P$}\\
Show that $\SPACE(n) \neq \P$. (Hint: Use the fact that $\SPACE(n) \ne \SPACE(n^2)$. Why is this true?)
\item {\bf An Average-Case Time Hierarchy.}\\
Let $f, g : \N \to \N$ be such that $f(n)\log f(n) = o(g(n))$, and $g$ is time-constructible.
Show that there is a language $L \in \DTIME(g(n))$ with the following property: For every machine $M$ running in time $f(n)$,
there is a constant $\eps_M$ such that for all sufficiently large $n$, $M$ errs in deciding $L$ on at least $\eps_M$ fraction of inputs of length $n$.
Note that the constant $\eps_M$ may depend on the machine.
\item {\bf Space-efficient Boolean matrix multiplication and consequences.}\\
Given two $n \times n$ matrices $A, B$ with Boolean entries, their boolean
product $A \cdot B$ is the matrix
$C$ such that
$$
C_{ij} = \bigvee_{k=1}^n (A_{ik} \wedge B_{kj})
$$
\begin{enumerate}
\item Give a Logspace algorithm to compute $A \cdot B$ given $A$ and $B$.
(Food for thought: How can the algorithm take less space than the output length?)
\item
Given matrix $A$ and integer $k$, give a small space algorithm to compute
$A^k$, the $k$-th Boolean power of $A$.
How much space does your algorithm use?
What well-known theorem follows from this algorithm?
\end{enumerate}
\item {\bf Approximation and Inapproximability.}\\
The goal of this question is principally to test your ability to pose and use decision problems to
capture computational complexity.
A secondary goal is to remind you about NP-completeness. (Warning: The question is longer than your answer might need to be!)
\begin{enumerate}
\item The input to the ASYMMETRIC k-CENTER problem is a directed graph
$G = (V, E)$
and an integer $k$. The output should be a subset $S$ containing at most $k$ vertices of
$G$ that minimizes the quantity
$\max_{x \in V} \{\min_{y \in S}\{d(x, y)\}\}$, where $d(x, y)$ denotes the
length of the shortest path from $x$ to $y$ in G. (The graph may be assumed to be
weighted/unweighted depending on your preference.)
Show that the ASYMMETRIC k-CENTER problem is NP-hard to solve by posing an
appropriate decision problem, and showing this decision problem to be NP-complete.
(Hint: Reduce from Vertex Cover.)
\newcommand{\Obj}{\text{Obj}}
\newcommand{\PiYes}{\Pi_{\text{YES}}}
\newcommand{\PiNo}{\Pi_{\text{NO}}}
\item Let $\Obj(S)$ denote the quantity $\max_{x \in V} \{\min_{y \in S}\{d(x,
y)\}\}$. An $\alpha$-approximation algorithm
for ASYMMETRIC k-CENTER is a polynomial time algorithm that, given $(G, k)$,
outputs a set $S$ with $|S| = k$ such that for every $S'\subseteq V$ with
$|S'| = k$, it is the case that $\Obj(S) \leq \alpha \Obj(S')$.
Show that there exists some $\alpha > 1$ for which an $\alpha$-approximation algorithm for the
ASYMMETRIC k-CENTER problem would imply NP=P. (The larger the $\alpha$ the better.)
\item A promise problem is a class of ``Boolean'' computational problems given by a pair of
disjoint sets of instances $\Pi = (\PiYes, \PiNo)$.
(A standard decision problem is simply the
special case where $\PiNo = \overline{\PiYes}$).
An algorithm $A$ decides a promise problem $\Pi$ if for
every $x \in \PiYes, A(x) = 1$, and for every $x \in \PiNo, A(x) = 0$.
An algorithm $R$ reduces a promise problem $\Pi$ to a promise problem
$\Gamma$ if $x \in \PiYes$ implies $R(x) \in \Gamma_{\text{YES}}$
and $x \in \PiNo$ implies $R(x) \in \Gamma_{\text{NO}}$.
Given an integer $c$, describe a promise problem $\Pi$ related to the
ASYMMETRIC k-CENTER problem such that the existence of a
polynomial time reduction from Vertex Cover to your problem $\Pi$ would
rule out the existence of a c-approximation algorithm
for the ASYMMETRIC k-CENTER problem unless NP=P. (So you have to describe
$\PiYes$ and $\PiNo$. You donâ€™t have to reduce Vertex Cover to this promise problem. What
you have to show is that if you assume such a reduction and also a $c$-approximation
algorithm for the ASYMMETRIC k-CENTER problem, you get NP=P.)
\end{enumerate}
\end{enumerate}
\end{document}