\documentclass[10pt]{article}
\usepackage{amsfonts,amsthm,amsmath,amssymb}
\usepackage{array}
\usepackage{epsfig}
\usepackage{fullpage}
\usepackage{amssymb}
\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, Lecture 1}{Jan 22, 2018}{Instructor:
Madhu Sudan}{Scribe: Yuna Joung}{Lecture 1}
\section{Welcome to CS221}
Contacts \\
Lecturer: Madhu Sudan (madhu@cs.harvard.edu)\\
TF: Preetum Nakkiran (preetum@cs.harvard.edu)
\\
\\
Todo
\begin{enumerate}
\item Sign up on Piazza
\item Enroll in course
\item Sign up for scribing
\item Look at PS1 (due Friday)
\end{enumerate}
\\
The course website can be found at http://madhu.seas.harvard.edu/courses/Spring2018 \\
We will use the Arora and Barak textbook as a reference in the course. \\
Grading
\begin{enumerate}
\item 3-5 Problem sets [40\%]
\item Scribe work [30\%]
\item 1 Project with Partner [15\%]
\item Participation [15\%]
\end{enumerate}
Goals of Computational Complexity
\begin{enumerate}
\item Identify important problems and related phenomena
\item Analyze resources needed to compare tradeoffs (i.e. space complexity and time complexity)
\subitem The resources we will work with are nontraditional resources like nondeterminism, randomness, interaction, and quantum)
\item Compare with other problems
\end{enumerate}
In this course, we will deal with solving interesting problems. What makes a problem interesting? Let's look at some classic problems in the field.
\section{Interesting Problems}
\subsection{Problem 0: 3SAT}
Input: 3 CNF Formula
$$ \Phi = (\bar{X} = (X_{1}...X_{n}); \bar{C} = (C_{1}...C_{m}))$$\\
$$C_{j} = X_{i1} \vee \neg X_{i2} \vee X_{i3}$$
Output: Decide if there exists a satisfying assignment such that $\Phi$ is satisfied by assignment if every clause in $\Phi$ is satisfiable. Output YES if $\Phi$ is satisfiable and NO if $\Phi$ is not satisfiable.
\subsection{Problem 1: #SAT}
Input: 3CNF formula $\Phi$\\
Output: Output the number of satisfying assignments to \Phi.
\subsection{Problem 1.5: Approximate #SAT}
Input: $\Phi$ \\
Output: N such that N is less than or equal to the number of satisfiable assignments and $\Phi$ has less than or equal to 2N constraints.
\subsection{Problem 2: minCNF}
Given: 3CNF formula $\Phi$ \\
Output: 3CNF formula $\Psi$ with the minimum number of clauses where $\Phi(x) = \Psi(x) \forall x$\\
\\
This problem appears to be more difficult than problem 0 because solving problem 0 is pre-requisite to solving problem 2. In this course we will think about these kinds of problems.
\subsection{Problem 3: Permanent}
Input: Given an n x n matrix $A = [a_{0}]$ \\
Output:
$$perm(A) \triangleq \sum_{\pi=[n]\to[n]} \prod_{i=1}^{n} a_{i \pi(i)}$$ \\
where $\pi$ is a one to one function (permutation). \\
\\
Does this equation look familiar? This problem was created by removing the sign term from the formula for the determinant. Recall that the formula for calculating the determinant is as follows.
$$det(A) = \sum_{\pi=[n]\to[n]} (-1)^{sign(\pi)} \prod_{i=1}^{n} a_{i \pi(i)}$$ \\
By dropping the sign term from the determinant formula, we get a significantly more difficult problem.
\section{What makes a problem interesting?}
\begin{enumerate}
\item Natural ("subjective")
\item Captures other interesting problems ("objective")
\end{enumerate}
The goal of the field is to understand the exact amount of resources needed for a problem. There is a lot of work to be done here! \\
\\
Consider the following questions:
\begin{enumerate}
\item Can SAT be solved in time $O(n log^{10} n )$? \\
\item Can SAT be solved in space $O(log{1.5} n)$? \\
\item Can we multiply 2 n-bit numbers in O(n) time?
\end{enumerate}
We don't know the answers to any of these questions. Even though we cannot answer these questions, we are able to reason about them in a comparative sense.
\subsection{Karp}
A seminal paper in this field was "Reducibility among combinatorial problems" by Karp '72. In this paper, Karp described 14 interesting problems along with 3SAT and used transitivity to show equivalence among these problems.
\subsection{Complexity Zoo}
\includegraphics[]{Capture.PNG}
The goal of this field is to separate problems based on resources. The state of the field is that we don't know anything! There are many conjectures and it is hard to prove lower bounds. However, we are able to compare problems to other problems quite well.
We may not know much about problem A and problem B inherently. However, we can still show that A is "no harder than" B. The phrase "no harder than" is colloquially replaced with the phrase "easier than". When we use our comparison tools to find many equivalent problems, it is usually time to define a new complexity class.
\subsection{Basic Tools for Comparison}
\begin{enumerate}
\item Languages $\equiv$ Decision Problems $\equiv$ Boolean functions
\subitem Convert all problems into Decision Problems (Yes or No problems)
\item Reduce Problems to one another
\subitem Many-many reductions / Turing reduction
\subitem Many-one reduction / Karp reduction
\end{enumerate}
\subsubsection{Decision Problems}
SAT = already defined = {$\Phi$ such that there is a SAT assignment to $\Phi$} \\
coSAT = {$\Phi$ such that No SAT assignment exists for $\Phi$} \\
Is SAT $\equiv$ coSAT? \\ \\
We can construct a decision problem that will help us answer this question as follows.\\
Answer 1: YES. Polynomial time algorithm for SAT can be complemented to get an algorithem for coSAT. \\
Answer 2: NO. Easy to "prove" $\Phi$ is SAT. However we do not yet have the tools to "prove" that $\Phi$ is in coSAT.
\end{document}