\documentclass[12pt]{article}
\usepackage{fullpage}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage[linesnumbered,lined]{algorithm2e}
\usepackage{scrextend}
\usepackage{hyperref}
\usepackage{enumitem}
\usepackage{amsfonts}
\usepackage{float}
\usepackage{amsfonts}
\usepackage{tikz}
\newlist{steps}{enumerate}{1}
\setlist[steps, 1]{label = Step \arabic*:}
\newcommand{\inlinemaketitle}{{\let\newpage\relax\maketitle}}
\makeatletter
\renewcommand{\@algocf@capt@plain}{above}% formerly {bottom}
\makeatother
\setlist[enumerate]{listparindent=\parindent}
\newcommand{\lxor}{\oplus}
\newcommand{\limplies}{\rightarrow}
\newcommand{\lbicond}{\leftrightarrow}
\newcommand{\universe}{\mathcal{U}}
\newcommand{\implication}{\ensuremath{P \limplies Q}}
\newcommand{\true}{T}
\newcommand{\false}{F}
\usepackage{cleveref}%[nameinlink]
\crefname{lemma}{Lemma}{Lemmas}
\crefname{proposition}{Proposition}{Propositions}
\crefname{definition}{Definition}{Definitions}
\crefname{theorem}{Theorem}{Theorems}
\crefname{conjecture}{Conjecture}{Conjectures}
\crefname{corollary}{Corollary}{Corollaries}
\crefname{section}{Section}{Sections}
\crefname{appendix}{Appendix}{Appendices}
\crefname{figure}{Fig.}{Figs.}
\crefname{equation}{Eq.}{Eqs.}
\crefname{table}{Table}{Tables}
\crefname{algocf}{Algorithm}{Algorithms}
\title{CS302 - Problem Set 11}
\author{}
\date{}
\parindent=.25in
\begin{document}
\maketitle
\vspace{-2cm}
\begin{enumerate}
\item We've been learning about frameworks for deciding when algorithms are problematic and mitigating their harm. However, these frameworks are fairly abstract, and not yet in common use, and don't necessarily deal with the real world experience of discovering that your company or another company's algorithm is causing harm, and then working to mitigate that harm. We will look at two case studies of people who attempted to alert companies to harm or potential harm due their algorithms, and the results of their efforts:
\begin{itemize}
\item Watch this \href{https://www.youtube.com/watch?v=eRUEVYndh9c}{Youtube video} on the research of Joy Buolamwini. Then for a recent update on this story, read the first few paragraphs of \href{https://www.npr.org/2020/06/09/873298837/ibm-abandons-facial-recognition-products-condemns-racially-biased-surveillance}{IBM Abandons Facial Recognition (NPR)}. Optional: for a more in-depth look at Dr. Buolamwini's research and story and facial recognition more broadly, you should watch the movie \href{https://midd.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=ef45a5cb-6fd8-41f4-9a2b-acaf014888d4}{Coded Bias} (will need Midd credentials to log in.)
\item Read about \href{https://middlebury.instructure.com/files/1288885/download?download_frd=1}{Timnit Gebru's Firing from Google (Washington Post)}
\end{itemize}
Comment on Dr. Buolamwini's approach to interacting with companies she studied. Which of her strategies were more successful in accomplishing change, and why do you think that was? Comment on how different companies reacted differently to her research.
Comment on Google's treatment of Dr. Gebru, and their approach to ethical research more generally (at least as described in the article). What are your feelings/reactions? What are some of the benefits and harms of Google's (in)actions on ethics? (I'm assuming there are some benefits, or Google wouldn't act the way it does!)
\item
Recall the following definitions:
\begin{itemize}
\item $k$-\textsf{INDSET}: Given an undirected, unweighted graph $G=(V,E)$, output YES if there is a set $V'\subseteq V$ such that $|V'|\geq k$, and for all $v,u\in V'$, there is no edge $\{u,v\}\in E$. (We call such a set a $k$-independent set.) Otherwise output NO.
\item $k$-\textsf{CLIQUE}: Given an undirected, unweighted graph $G=(V,E)$, output YES if there is a set $V'\subseteq V$ such that $|V'|\geq k$, and for all $v,u\in V'$, there is an edge $\{u,v\}\in E$. (We call such a set a $k$-clique.) Otherwise output NO.
\item \textsf{DOUBLE-3-SAT}: Given a CNF formula with $n$ variables, where each clause involves at most $3$ of the variables $z_1,z_2,\dots,z_n$ (and their negations) output YES if there at least two \textit{different} satisfying assignments to the formula. Otherwise output NO. For example, $(z_1 \vee \neg z_1 \vee \neg z_2) \wedge (z_2 \vee z_3) \wedge (\neg z_3)$ is a YES instance because it has two valid assignments, $z_1 = 1, z_2 = 1, z_3 = 0$ and $z_1 = 0, z_2 = 1, z_3 = 0$.
\end{itemize}
In the following, you can assume the results you proved in the prior PSet, that $k$-\textsf{INDSET}, $k$-\textsf{CLIQUE}, and \textsf{DOUBLE-3-SAT} are all in \textsf{NP}.
\begin{enumerate}
\item Prove \textsf{DOUBLE-3-SAT} is \textsf{NP}-Complete.
{}
{}
\item In this problem, you'll prove that that $k$-{\textsf{INDSET}} and $k$-{\textsf{CLIQUE}} are \textsf{NP}-Complete.
\begin{enumerate}
\item Prove that there is a polynomial reduction from $k$-{\textsf{INDSET}} to $k$-{\textsf{CLIQUE}}.
\item Prove that there is a polynomial reduction from $3$-\textsf{SAT} to $m$-\textsf{INDSET}, where $m$ is the number of clauses in the $3$-\textsf{SAT}.
\item Use the previous two parts to prove that $k$-{\textsf{INDSET}} and $k$-{\textsf{CLIQUE}} are \textsf{NP}-Complete.
\end{enumerate}
{}
{
}
\item \textbf{Challenge:} Consider the problem of outputting the {\it second} largest value of an array $A$. $A$ is an unsorted array $A$ of unique integers of length $n$ (you may assume $n$ is a power of 2).
\begin{enumerate}
\item Describe an algorithm that uses exactly $n+\log_2n-2$ comparison operations, where a comparison is an operation that tests whether one element is less than another element.
\item Justify why your algorithm is correct. (You can do this as a proof, or as a slightly less formal explanation.)
\end{enumerate}
(Hint: the algorithm combines ideas from both divide and conquer and dynamic programming.)
{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{enumerate}
\end{enumerate}
\end{document}