%\documentclass[notes]{beamer}       % print frame + notes
% \documentclass[notes=only]{beamer}   % only notes
\documentclass{beamer}

\usepackage{wrapfig}
\usepackage{amsmath,amssymb}
%\usepackage[dvipsname]{xcolor}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{graphicx}

\usetikzlibrary{shapes.geometric,shadows,knots}

\tikzset{pics/.cd,
opencube/.style args={#1/#2/#3}{code={
\coordinate (O) at (0,0,0);
\coordinate (A) at (0,#2,0);
\coordinate (B) at (0,#2,#3);
\coordinate (C) at (0,0,#3);
\coordinate (D) at (#1,0,0);
\coordinate (E) at (#1,#2,0);
\coordinate (F) at (#1,#2,#3);
\coordinate (G) at (#1,0,#3);
%% Background
\draw[black,dotted] (O) -- (A);
\draw[black,dotted] (O) -- (C);
\draw[black,dotted] (O) -- (D);
% Forground
\draw[black,dashed] (A) -- (E) -- (F) -- (B) -- cycle;
\draw[black,dashed] (E) -- (D) -- (G) -- (C) -- (B);
\draw[black,dashed] (F) -- (G);

%\draw[black,dashed, blue] (O) -- (A) -- (E) -- (D) -- cycle;
%\draw[black,dashed] (O) -- (A) -- (B) -- (C) -- cycle;
%\draw[black,dashed] (D) -- (E) -- (F) -- (G) -- cycle;
%\draw[black,dashed] (C) -- (B) -- (F) -- (G) -- cycle;
%\draw[black,dashed] (A) -- (B) -- (F) -- (E) -- cycle;

}}}

\tikzset{pics/.cd,
linecube/.style args={#1/#2/#3/#4}{code={
\coordinate (OO) at (0,0,0);
\coordinate (AA) at (0,#2,0);
\coordinate (BB) at (0,#2,#3);
\coordinate (CC) at (0,0,#3);
\coordinate (DD) at (#1,0,0);
\coordinate (EE) at (#1,#2,0);
\coordinate (FF) at (#1,#2,#3);

\coordinate (GG) at (#1,0,#3);
%% Background
\draw[black,dashed] (OO) -- (AA);
\draw[black,dashed] (OO) -- (CC);
\draw[black,dashed] (OO) -- (DD);

\node at (0.5*#1,0.5*#2,0.5*#3) {#4};

% Foreground
\draw[black] (AA) -- (EE) -- (FF) -- (BB) -- cycle;
\draw[black] (EE) -- (DD) -- (GG) -- (CC) -- (BB);
\draw[black] (FF) -- (GG);

%\draw[black,dashed, blue] (O) -- (A) -- (E) -- (D) -- cycle;
%\draw[black,dashed] (O) -- (A) -- (B) -- (C) -- cycle;
%\draw[black,dashed] (D) -- (E) -- (F) -- (G) -- cycle;
%\draw[black,dashed] (C) -- (B) -- (F) -- (G) -- cycle;
%\draw[black,dashed] (A) -- (B) -- (F) -- (E) -- cycle;

}}}

\tikzset{pics/.cd,
shadedcube/.style args={#1/#2/#3/#4/#5}{code={
\coordinate (O) at (0,0,0);
\coordinate (A) at (0,#2,0);
\coordinate (B) at (0,#2,#3);
\coordinate (C) at (0,0,#3);
\coordinate (D) at (#1,0,0);
\coordinate (E) at (#1,#2,0);
\coordinate (F) at (#1,#2,#3);
\coordinate (G) at (#1,0,#3);
\draw[black,fill=#4!80] (O) -- (C) -- (G) -- (D) -- cycle;
\draw[black,fill=#4!30] (O) -- (A) -- (E) -- (D) -- cycle;
\draw[black,fill=#4!10] (O) -- (A) -- (B) -- (C) -- cycle;
\draw[black,fill=#4!20,opacity=0.8] (D) -- (E) -- (F) -- (G) -- cycle;
\draw[black,fill=#4!20,opacity=0.6] (C) -- (B) -- (F) -- (G) -- cycle;
\draw[black,fill=#4!20,opacity=0.8] (A) -- (B) -- (F) -- (E) -- cycle;
\node at (0.5*#1,0.5*#2,0.5*#3) {#5};
}}}
\tikzset{pics/.cd,
gridcube/.style args={#1/#2/#3/#4/#5/#6/#7}{code={
\coordinate (O) at (0,0,0);
\coordinate (A) at (0,#2,0);
\coordinate (B) at (0,#2,#3);
\coordinate (C) at (0,0,#3);
\coordinate (D) at (#1,0,0);
\coordinate (E) at (#1,#2,0);
\coordinate (F) at (#1,#2,#3);
\coordinate (G) at (#1,0,#3);

% Foreground
\draw[fill=#7!20] (A) -- (E) -- (F) -- (B) -- cycle;
\draw[fill=#7!40] (E) -- (F) -- (G) -- (D) -- cycle;
\draw[fill=#7!30] (B) -- (F) -- (G) -- (C) -- cycle;
%\draw[black] (E) -- (D) -- (G) -- (C) -- (B);
%\draw[black] (F) -- (G);

% lines
\foreach \ll in {1,...,#4} {
    \draw[black] (#1/#4*\ll,#2,0) -- (#1/#4*\ll,#2,#3) -- (#1/#4*\ll,0,#3);
}
\foreach \ll in {1,...,#5} {
    \draw[black] (0,#2/#5*\ll,#3) -- (#1, #2/#5*\ll,#3) -- (#1,#2/#5*\ll,0);
}
\foreach \ll in {1,...,#6} {
    \draw[black] (0,#2,#3/#6*\ll) -- (#1,#2,#3/#6*\ll) -- (#1,0,#3/#6*\ll);
}

}}}

%\pgfmathsetmacro{\xx}{0.5}

\mode<presentation>
% \setbeameroption{hide notes}
{
  %\usetheme{Madrid}
  \usetheme{metropolis}
% CSU COLORS
  \definecolor{csugreen}{HTML}{1C674F}
  \definecolor{csugold}{HTML}{B78E00}
    \definecolor{csured}{HTML}{E02F11}

  \definecolor{greenmain}{HTML}{00AF64}
  \definecolor{brick}{rgb}{.85,.1,.2}
  \colorlet{greenstruct}{greenmain!87.5!black}
  \usecolortheme[named=csugreen]{structure}
  % Change this in order to make the presentation look
  % different. Works just like a powerpoint template.
  % Have your RA mess around until it looks nice.
  \setbeamercovered{dynamic}

  \useinnertheme{rectangles}

 %Other colors.

%   \definecolor{bluemain}{HTML}{0B61A4}
%   \definecolor{orangemain}{HTML}{AA6600}
%   \definecolor{redmain}{HTML}{E02F11}
%   \definecolor{redlight}{HTML}{FF9B73}
%   \definecolor{orangelight}{HTML}{FFC373}
%   \definecolor{cmugray}{RGB}{104,104,104}
%   \definecolor{cmulightgray}{RGB}{238,238,238}
%   \setbeamercolor{block body}{bg=cmulightgray}
%   \setbeamercolor{talktitle}{bg=csugreen,fg=white}
%   \setbeamercolor{block title alerted}{bg=csugold}
%   \setbeamercolor{block body alerted}{bg=orangelight}

}
\renewcommand{\footnoterule}{}
\renewcommand{\hat}[1]{\widehat{#1}}
\newcommand{\sourcenum}[3]{$^{\textcolor{bluemain} #1}$\let\thefootnote\relax
  \footnotetext{\begin{flush#2}\textcolor{bluemain}
      {\tiny $^{#1}$ #3}\end{flush#2}}}
\newcommand{\source}[2]{\let\thefootnote\relax\footnotetext{\begin{flush#1}
      \textcolor{bluemain}{\tiny Source: #2}\end{flush#1}}}

\DeclareMathOperator{\Span}{Span}
\DeclareMathOperator{\Pres}{Pres}
\DeclareMathOperator{\End}{End}
\newcommand{\bmto}{\rightarrowtail}

\usepackage{wasysym}
\newcommand{\den}[1]{\Leftcircle\hspace*{-1mm}#1\hspace*{-1mm} \Rightcircle}
\usepackage{listings}

\begin{document}

\title{Group isomorphism is nearly-linear time for most
orders\\ {\small IEEE Foundations On Computer Science FOCS 2021}}
\author{Heiko Dietrich\\ Monash University, Australia\\[10pt] James B. Wilson (presenting)\\ Colorado State University, USA}
\date{February 8, 2022}

\maketitle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Motivation}

\begin{frame}[containsverbatim,fragile]{Outward Facing Motive: honest data types}
Where in this... \\
\begin{center}
\begin{tikzpicture}
\visible<2->{
    \node at (0,0) {\includegraphics[height=0.25\textheight]{algo.jpg}};
};
\visible<3->{
\node[rotate=30,drop shadow] at (1,1) {\includegraphics[height=0.25\textheight]{OIP.jpg}};
};
\visible<4->{
\node[rotate=-30,drop shadow] at (3,0.5) {\includegraphics[height=0.25\textheight]{stack.png}};
};
\end{tikzpicture}
\end{center}
\visible<5->{
...do we send people to get help making this...

\includegraphics{equals.png}
% \begin{lstlisting}[mathescape=true,language=Java,basicstyle=\ttfamily,commentstyle=\color{csugreen},keywordstyle=\color{blue}]
% boolean equals(Object that) {
%     // <this> can transform into <that>?
% }
% \end{lstlisting}
};
\end{frame}

\begin{frame}{Why groups(oids)?}
\begin{itemize}
    \item \textbf{Transitive}$\to$ \textbf{Partial Multiplication}
    \begin{align*}
    trans_{xyz}:& (x\equiv y) \wedge (y\equiv z) \Rightarrow (x\equiv z)\\
    *:& Eq \times Eq \dashrightarrow Eq
    \end{align*}
\pause

\item  \textbf{Reflexive}$\to$ \textbf{Identity}
    \begin{align*}
    refl_x&: x \Rightarrow  (x\equiv x)\\
    trans_{xxy} &:(x\equiv x)\wedge (x\equiv y) \Rightarrow (x\equiv y)\\
    \hline
    Identity &: refl*evidence  = evidence
    \end{align*}

    \item  \textbf{Symmetric}$\to$ \textbf{Inverse}
    \begin{align*}
    sym_{xy}&:(x\equiv y)\Rightarrow (y\equiv x)\\
    trans_{xyx} &: (x\equiv y) \wedge (x\equiv y)  \Rightarrow (x\equiv x)\\
    \hline
    Inverses & : evidence * (evidence)^{-1}  = refl
    \end{align*}
\end{itemize}
\end{frame}

\begin{frame}{Anatomy of hard equality}
    \centering
\begin{tikzpicture}[yscale=0.85]
\node at (0,0.5) {$L$};
\node (L) at (0,0) {
    \begin{tikzpicture}[scale=0.5]
        \foreach \brk in {0,1,2} {
        \begin{scope}[rotate=\brk * 240]
            \node[knot crossing, transform shape, inner sep=3pt] (k\brk) at (0,-1) {};
        \end{scope}
        }
        \foreach \brk in {0,1,2} {
            \pgfmathparse{int(Mod(\brk - 1,3))}
            \edef\brl{\pgfmathresult}
            \draw[thick,blue] (k\brk) .. controls (k\brk.4 north east) and (k\brl.4 north west) .. (k\brl.center);
            \draw[thick,blue] (k\brk.center) .. controls (k\brk.16 south east) and (k\brl.16 south west) .. (k\brl);
        }
    \end{tikzpicture}
};

\node at (1.5,0.5) {$\overset{?}{\cong}$};
\node at (3,0.5) {$R$};
\node (R) at (3,0) {
    \begin{tikzpicture}[scale=0.5]
        \foreach \brk in {0,1,2} {
        \begin{scope}[rotate=\brk * 120]
            \node[knot crossing, transform shape, inner sep=3pt] (k\brk) at (0,-1) {};
        \end{scope}
        }
        \foreach \brk in {0,1,2} {
            \pgfmathparse{int(Mod(\brk - 1,3))}
            \edef\brl{\pgfmathresult}
            \draw[thick,red] (k\brk) .. controls (k\brk.4 north west) and (k\brl.4 north east) .. (k\brl.center);
            \draw[thick,red] (k\brk.center) .. controls (k\brk.16 south west) and (k\brl.16 south east) .. (k\brl);
        }
    \end{tikzpicture}
};

\visible<2->{
\node (pL) at (-0.5,-3) {$\pi_1(L)=\langle x,y\mid x^2=y^3\rangle$};
\node (pR) at (4.5,-3) {$\pi_1(R)=\langle x,y\mid x^2=y^{-3}\rangle$};
\node[text width=4cm] at (7,-0.5) {Relax category until automorphisms computable.};
\draw[->,thick] (L) to (pL);
\draw[->,thick] (R) to (pR);
};

\visible<3->{
\node (apL) at (0,-5) {$\mathrm{Aut}_{\chi}\pi_1(L)$};
\node (apR) at (3,-5) {$\mathrm{Aut}_{\chi}\pi_1(R)$};
\draw[->,thick] (pL) to[bend right=30] (apL);
\draw[->,thick] (pR) to[bend left=30] (apR);
\node at (2,-3) {$\overset{?}{\cong}$};
\draw[->,thick,dashed] (apL) to[bend right=30] (0.5,-7);
\draw[->,thick,dashed] (apR) to[bend left=30] (2.5,-7);
\node[color=red] at (1.5,-5) {$\not{\cong}_{\chi}$};
\node[text width=4cm] at (7,-5.5) {Recursively refine comparing automorphisms
 with incrementally stricter properties. {\color{red} E.g. respect crossing number $\chi$?}};
};
\end{tikzpicture}

\end{frame}

\begin{frame}{Inward facing Motive: equalivance surveys complexity}
\centering
\begin{tikzpicture}

\fill[rounded corners, black!20] (0,5.5) rectangle (11,4.5);
\node[text width=2cm] at (9.5,5) {Undecideable};
\node[text width=3cm] at (2,5) {\textbf{FPGroupIso}\\ Adjan, Rabin `50's};

\fill[rounded corners,red!30] (0,4) rectangle (11,3);
\node[text width=2cm] at (10,3.5) {$\Sigma_3^P$};
\node[text width=5cm] at (3,3.5) {\textbf{PlaneGroupIso}\\ Dietrich et.al. STACS`21};

\fill[rounded corners,red!20] (0,3) rectangle (11,2);
\node[text width=2cm] at (10,2.5) {$\Sigma_2^P$};
\node[text width=5cm] at (3,2.5) {\textbf{BlackBoxGroupIso}\\ Babai-Szemer\'edi FOCS`84};
\node[text width=5cm] at (8,2.5) {\textbf{MatroidIso}};

\fill[rounded corners,red!10] (0,2) rectangle (11,1);
\node[text width=2cm] at (10,1.5) {$\Sigma_1^P=NP$};
\node[text width=5cm] at (3,1.5) {\textbf{PermGroupIso}\\ Luks DIMACS};

\fill[rounded corners,brown!20] (0,1) rectangle (11,0);
\node[text width=2cm] at (9,0.5) {${\tiny DTIME}(2^{\log^c n})$};
\node[text width=5cm] at (3,0.5) {\textbf{TableGroupIso}\\ Tarjan};
\node[text width=5cm] at (8,0.5) {\textbf{GraphIso}\\ Babai};

\fill[rounded corners,csugreen!20] (0,-.5) rectangle (11,-1.5);
\node[text width=2cm] at (9,-1) {${\tiny DTIME}(n^2\log^c n)$};
\node[text width=7cm] at (4,-1) {\textbf{TableGroupIsoAbel}\\ Kavitha (nearly-linear in RAM model)};

\fill[rounded corners,csugreen!30] (0,-1.5) rectangle (11,-2.5);
\node[text width=2cm] at (9,-2) {${\tiny DTIME}(n\log^c n)$};
\node[text width=7cm] at (4,-2) {\textbf{TableGroupIsoMostOrders, IsGroup}\\ {\color{red}This Talk}};

\end{tikzpicture}

\end{frame}

\begin{frame}{Schreier-Sims}

    \begin{block}{Problem: Transport}
    \begin{description}
        \item[Given:] A set $\Omega$, allowed permutations $X$, $\omega,\omega'\in\Omega$
        \item[Return:] decide if a string $g$ over $X$ maps $\omega$ to $\omega'$,
        written $\omega^{g}=\omega'$, and give all such $g$.\footnote{Give words $W$ over $X$
        so that $\omega^h=\omega'$ implies $h=wg$ for a string $w$ over $W$.}
    \end{description}
    \end{block}
\end{frame}

\begin{frame}[fragile]{String Isomorphism}
\begin{center}
    ``Eighth'' == ``HeigHt''
\end{center}
%Cycle right by 1 and replace $h$ with $H$.
\pause
\begin{block}{String Isomorphism}
\noindent
\begin{minipage}{0.6\textwidth}
\noindent
\begin{itemize}
\item {\color{csugreen}\textbf{Given}} strings $s,t:I\to \Sigma$
allowed permutations $G=\langle g_k\rangle\leq \mathrm{Sym}_{I}$,
$H=\langle h_k\rangle\leq \mathrm{Sym}_{\Sigma}$
\item {\color{csugreen}\textbf{Return}} strings $g=g_{a_1}\cdots g_{a_u}$
and $h=h_{b_1}\cdots h_{b_v}$ where $h(s_{i})=t_{g(i)}$; or prove impossible.
\end{itemize}
\end{minipage}
\begin{minipage}{0.3\textwidth}
\begin{tikzcd}
    & I \arrow[d,"g"]\arrow[r, "s"]
        & \Sigma\arrow[d,"h"] &\\
    & I\arrow[r,"t"] & \Sigma &
\end{tikzcd}
\end{minipage}
\end{block}
\pause

\textbf{Theorem.} (Babai 2016+) If $\Sigma$ fixed, \textsc{StringIso}
is in Quasipolynomial $n^{O((\log n)^c)}$-time.
\vfill
(\textsc{GraphIso}$\leq_P$ \textsc{StringIso})

\end{frame}

\begin{frame}{Snapshot of solving a hard isomorphism problem}
\centering
\begin{tikzpicture}
\visible<1->{
\node[fill=csugreen!20,text width=3cm] (math) at (0,5) {\textbf{Math Facts}};
\node[fill=blue!20,text width=3cm] (SS) at (0,-2) {\textbf{Schreier-Sims} `65};
\draw[-,dashed] (SS) to[bend right=30] (math);
};

\visible<2->{
\node[fill=green!20,text width=3cm] (exp) at (0,3) {\textbf{Exponential}\\ Babai-Luks STOC83};
\node[fill=blue!20,text width=3.5cm] (BV) at (0,0) {\textbf{Bounded Valence}\\ Luks `82};
\node[shade, left color=blue!30, right color=red!30,text width=3cm] (color) at (4,0) {Color Refinement\\ Weisfeiler-Leman, Babai-Erd\H{o}s-Selkow,$\ldots$ 70-80's};
\draw[-] (exp) -- (color);
\draw[-] (exp) -- (BV);
\draw[-,dashed] (BV) to[bend right=30] (math);
\draw[-,dotted] (BV) -- (SS);

};

\visible<3->{
\node[fill=red!20,text width=3cm] (CFI) at (8,-1) {\textbf{Exceptional}\\ Cai-F\"urer-Immerman FOCS 89};

\draw[-,dashed] (CFI) to[bend right=30] (math);
};

\visible<4>{
\node[fill=green!20,text width=3cm] (quasi) at (5,5) {\textbf{Split-or-Johnson}\\ Babai STOC 16+};

\node[fill=red!20,text width=3cm] (Johnson) at (8,2) {\textbf{Johnson Graphs}\\ Babai STOC 16+\\};
\draw[-,dotted] (Johnson) -- (CFI);

\draw[-] (quasi) -- (color);
\draw[-] (quasi) -- (BV);
\draw[-] (quasi) -- (Johnson);
\draw[-] (quasi) -- (CFI);
\draw[-,dashed] (quasi) -- (math);
};
\end{tikzpicture}

\end{frame}

%========================================================
\section{Isomorphism of Tables}

\begin{frame}[fragile]{Code Equivalence}

\[\begin{array}{|cc|}
    \hline
L & i \\ v & e \\
\hline
\end{array}
==
\begin{array}{|cc|}
    \hline
E & v \\ i & l \\
\hline
\end{array}\]
\begin{block}{Code Equivalence\footnote{Non-linear twisted, with variable alphabet.}}
\begin{minipage}{0.6\textwidth}
\begin{itemize}
    \item {\color{csugreen}\textbf{Given}} $s,t:I\times J\to \Sigma$,
    (generators for) permutations
    $R\leq \mathrm{Sym}_{I}$,
    $C\leq \mathrm{Sym}_J$,
    \& $V\leq \mathrm{Sym}_{\Sigma}$
    \item {\color{csugreen}\textbf{Return}}  $\sigma\in R$, $\tau\in C$, $\mu\in V$,
    \[\mu(s_{ij}) = t_{\sigma(i)\tau(j)}\]
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}{0.3\textwidth}
    \begin{tikzcd}
        I \arrow[d,"\sigma"] &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax]
        \times &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax] J \arrow[d,"\tau"]
        \arrow[r,"s"] & \Sigma\arrow[d,"\mu"]\\
        I &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax]
        \times &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax] J
        \arrow[r,"t"] & \Sigma
    \end{tikzcd}
\end{minipage}

\end{block}

Babai-Codenotti-Grochow-Qiao $2^{O(n)}$-time bound for constant alphabet $\Sigma$ (SODA `11) \\
Builds on Luks $2^{O(n)}$-hypergraph isomorphism, FOCS `99.

\end{frame}

\begin{frame}[fragile]{Algebra Isomorphism}

\[\begin{array}{|ccccc|}
    \hline
1 & 2 & 3 & 4 & 5\\
2 & 3 & 4 & 5 & 1\\
3 & 4 & 5 & 1 & 2\\
4 & 5 & 1 & 2 & 3\\
5 & 1 & 2 & 3 & 4\\
\hline
\end{array}
==
\begin{array}{|ccccc|}
    \hline
1 & 2 & 3 & 4 & 5\\
2 & 4 & 1 & 5 & 3\\
3 & 1 & 5 & 2 & 4\\
4 & 5 & 2 & 3 & 1\\
5 & 3 & 4 & 1 & 2\\
\hline
\end{array}\]
\begin{block}{Algebra Isomorphism}
\begin{minipage}{0.6\textwidth}
\begin{itemize}
    \item {\color{csugreen}\textbf{Given}} $s,t:I\times I\to I$,
    (generators for) permutations
    $G\leq \mathrm{Sym}_I$,
    \item {\color{csugreen}\textbf{Return}}  $\sigma\in G$,
    \[\sigma(s_{ij}) = t_{\sigma(i)\sigma(j)}\]
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}{0.3\textwidth}
    \begin{tikzcd}
        I\arrow[d,"\sigma"] &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax]
        \times &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax] I \arrow[d,"\sigma"]
        \arrow[r,"s"] & I\arrow[d,"\sigma"]\\
        I &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax]
        \times &[-\dimexpr\pgfmatrixcolumnsep+0.6em\relax] I
        \arrow[r,"t"] & I
    \end{tikzcd}
\end{minipage}

\end{block}

\end{frame}

\begin{frame}{Group Isomorphism Strategy}

\centering
\begin{tikzpicture}
\visible<1->{
\node[fill=csugreen!20,text width=3cm] (math) at (5,5) {\textbf{Math Facts}};
\node[fill=blue!20,text width=3.5cm] (gt) at (0,-2) {\textbf{Generator Test}\\ Tarjan, Miller STOC78};
\draw[-,dashed] (gt) to[bend right=30] (math);
};

\visible<2->{
\node[fill=csugreen!20,text width=3cm] (data) at (0,5) {\textbf{Data Types}};
\node[fill=blue!20,text width=2cm] (abel) at (0,3) {\textbf{(Nearly) Abelian}\\ Kavitha `07, LeGall};
\node[fill=blue!20,text width=3.5cm] (ss) at (0,0) {\textbf{Semisimplicty}\\ Babai-Codenotti-Qiao ICALP `11};
\node[fill=red!20,text width=3cm] (AT) at (8,2) {\textbf{Adjoint Tensor}\\ Lewis-W. `12};

\draw[-,dashed] (abel) to[bend right=30] (math);
\draw[-,dashed] (ss) to[bend right=30] (math);
\draw[-,dashed] (abel) to[bend right=30] (data);
\draw[-,dashed] (ss) to[bend right=30] (data);

\draw[-,dashed] (AT) to[bend left=30] (math);

};

\visible<3->{
    \node[fill=red!20,text width=3cm] (TG) at (8,4) {\textbf{Tame Genus}\\ Brooksbank-Maglione-W. `16};
\node[fill=brown!20,text width=3cm] (BQ) at (4,3) {\textbf{AbelTower}\\Babai-Qiao};
\node[fill=brown!20,text width=3cm] (GQ) at (4,1.5) {\textbf{Extensions}\\Grochow-Qiao};

    \node[shade, left color=blue!30, right color=red!30,text width=3cm] (color) at (4,-2) {\textbf{Tensor Individualization}\\Li-Qiao FOCS17};
    \node[shade, left color=blue!30, right color=red!30,text width=3cm] (cube) at (4,0) {\textbf{Cube free}\\ Dietrich-W. JoA 19};

\node[fill=red!20,text width=3cm] (W) at (8,0) {\textbf{Exceptional}\\ W. ToC 19};
\node[fill=red!20,text width=3cm] (BS) at (8,-2) {\textbf{Exceptional}\\ Brachter-Schweitzer LICS20};
%\draw[-,dashed] (color) to[bend right=30] (data);

%\draw[-,dashed] (cube) to[bend right=30] (data);
% \draw[-,dashed] (W) to[bend left=30] (math);
% \draw[-,dashed] (TG) to[bend right=30] (math);
\draw[->] (AT) to (color);
\draw[->] (AT) to (TG);
\draw[->] (AT) to (W);
\draw[->] (ss) to (BQ);
\draw[->] (ss) to (GQ);
\draw[->] (abel) to (BQ);
\draw[->] (abel) to (GQ);
};

\end{tikzpicture}

\end{frame}

\section{Group Isomorphism of most orders}

\begin{frame}{Divide and conquer}

Isomorphism of $G=A\times B$, i.e.
\[(a,b)(\tilde{a},\tilde{b}) = (a\tilde{a},b\tilde{b})\] reduces to isomorphism
of $A$ and $B$ in parallel.\footnote{Technical detail: decompose maximally and
adjust non-unique decompositions by Krull-Schmidt; see W. 2008.}
\pause

Isomorphism of $G=A\ltimes_{\theta} B$, i.e.
\[(a,b)(\tilde{a},\tilde{b})=(a\tilde{a},\theta(\tilde{a})(b)\tilde{b})\]
reduces to isomorphism of $A$ and $B$
sequentially, plus adjusting $\theta$.\footnote{Lemma~2.1}

\end{frame}

% \begin{frame}{Factorization}
% $|A|=p_1^{e_1}\cdots p_{\ell}^{e_{\ell}}$

% \begin{block}{Fact}
%     $A$ abelian implies $A=P_1\times \cdots \times P_{\ell}$ with $|P_i|=p_i^{e_i}$.
% \end{block}

% \begin{block}{Fact}
%     $A$ a ring implies $A=P_1\times \cdots \times P_{\ell}$ with $|P_i|=p_i^{e_i}$.
% \end{block}

% \begin{block}{Fact}
%     $A$ Lie algebra implies $A=P_1\times \cdots \times P_{\ell}$ with $|P_i|=p_i^{e_i}$.
% \end{block}

% \begin{block}{Almost fact}
%     $A$ a group then $A$ comes close to
%     $P_1\times \cdots \times P_{\ell}$ with $|P_i|=p_i^{e_i}$.
% \end{block}

% \end{frame}

\begin{frame}{Division Graph: Erd\H{o}s-P\'{a}lfy}

Factor $n$ into a \emph{graph} $\Gamma(n)$.  \\
Edge $(p_i^{e_i},p_j^{e_j})$
where $p_i|p_j^k-1$ for some $k\leq e_j$, \& symmetrically.

\begin{block}{Erd\H{o}s-P\'{a}lfy, 1999}
    A group $G$ of order $n$ factors as
\[N_1\times \cdots \times N_{\ell},\]
$|N_i|=n_i$, order of connected component $i$ in $\Gamma(n)$.
\end{block}

\pause

\begin{block}{Example $n=1785$}
\begin{center}
\begin{tikzpicture}
\node[circle,draw] (3) at (0,0) {$3$};
\node[circle,draw] (5) at (1,0) {$5$};
\node[circle,draw] (7) at (0,1) {$7$};
\node[circle,draw] (17) at (1,1) {$17$};

\draw[-,thick] (3) to (7);

\node at (6,1) {$|G|=n\Rightarrow N_{3\cdot 7}\times N_5\times N_{17}$};
\end{tikzpicture}
\end{center}
\end{block}

\end{frame}

\begin{frame}{Extending implications}

Factor $n$ into a \emph{direct hypergraph} $\mathcal{H}(n)$.  (i) \emph{Oriented}
Erd\H{o}s-P\'{a}lfy \emph{hyper-}edges, (ii) exceptions for
finite nonabelian simple groups.

\begin{block}{Proposition}
    A group $G$ of order $n$ factors as
\[N_0\ltimes (N_1\ltimes \cdots \ltimes N_{\ell}),\]
$|N_i|=n_i$, where $n_i$ is order of interconnected components of $\mathcal{H}(n)$.
\end{block}

\pause
\begin{block}{Example $n=5,810,340$}
\begin{tikzpicture}
\node[circle,draw] (2) at (0,-1) {$2^2$};
\node[circle,draw] (3) at (0,1) {$3$};
\node[circle,draw] (5) at (-1.5,0) {$5$};
\node[circle,draw] (179) at (2,1) {$179$};
\node[circle,draw] (547) at (2,-1) {$547$};

\draw[->,thick] (2) to[bend right=30]  (3);
\draw[->,thick] (2) to[bend left=30]  (5);
\draw[->,thick] (2) to[bend right=20] (179);
\draw[->,thick] (2) to[bend right=20] (547);

\draw[->,thick] (5) to (-0.5,0) to[bend right=30] (3);
\draw[->,thick] (-0.5,0) to[bend left=30] (2);

\draw[->,thick] (3) to[bend left=30] (2);

\node at (6,1) {$|G|=n\Rightarrow N_{60}\ltimes (N_{179}\times N_{547})$};

\end{tikzpicture}
\end{block}

\end{frame}

\begin{frame}{Most Orders}

\begin{center}
\begin{tikzpicture}

\fill[color=black!20,rounded corners] (-2.5,2) rectangle (1,-2);
\fill[color=blue!20,rounded corners] (1,2) rectangle (7,-2);

\node[circle,draw] (2) at (0,-1) {$p_1^{e_1}$};
\node[circle,draw] (3) at (0,1) {$p_2^{e_2}$};
\node[circle,draw] (5) at (-1.5,0) {$p_m^{e_{m}}$};
\node[circle,draw] (179) at (3,1) {$p_{m+1}$};
\node[circle,draw] (547) at (3,-1) {$p_{\ell}$};
\node[circle,draw] (1949) at (4,0.5) {$p_{k}$};
\node[circle,draw] (7893) at (5,-0.5) {$p_{j}$};

\draw[->,thick] (2) to[bend right=30]  (3);
\draw[->,thick] (2) to[bend left=30]  (5);
\draw[->,thick] (2) to[bend right=20] (179);
\draw[->,thick] (2) to[bend right=20] (547);

\draw[->,thick] (5) to (-0.5,0) to[bend right=30] (3);
\draw[->,thick] (-0.5,0) to[bend left=30] (2);

\draw[->,thick] (3) to[bend left=30] (2);

\draw[->,thick] (3) to[bend right=20] (7893);

\visible<2->{
\node[color=red] at (-1,2.25) {Hard Group Theory};
\node[color=red] at (4,2.25) {Hard Number Theory};
};

\visible<3->{
\node[color=csugreen] at (-1,-2.25) {Tiny Numbers};
\node[color=csugreen] at (4,-2.25) {Cyclic Groups};
\node at (2.5,-4) {$G=H\ltimes (\mathbb{Z}_{p_{m+1}}\times\cdots \times \mathbb{Z}_{p_{\ell}})$};
};

\end{tikzpicture}
\end{center}

\end{frame}

% \begin{frame}{}
% \begin{itemize}
%     \item Factor $n=ab$ where prime $p|n$, $p\geq\log \log n$ and not exceptional\footnote{primes strongly connected or involved in identifying a nonabelian simple group} then $p|b$;
%     otherwise $p|a$.

%     \item Factor $G=H\ltimes_{\theta} B$ with prime divisors $p>\log \log n$ dividing
%     $|B|$ but not $|H|$ (unless exceptional divisor of finite simple groups).
%     Likewise decompose $\tilde{G}=\tilde{H}\ltimes_{\tilde{\theta}} \tilde{B}$.

%     \item Brute-force decide $H\cong \tilde{H}$.
%     \item Canonical isomorphism $B\cong \mathbb{Z}_b\cong \tilde{B}$ by Group Theory.
%     \item Adjust $\theta$ to match $\tilde{\theta}$ if possible.

% \end{itemize}
% \end{frame}

%==============================================================================
\section{Is it a Group Table?}

\begin{frame}{Promise-to-decision}

A great many computational algebra are analyzed as \textbf{promise problems}
not \textbf{decision problems}.

Identity testing is needed to remove the promise; unsolvable in general (word problem),
but on tables at least brute-force.
\pause

\begin{block}{Theorem Rajagopalan-Schulman, 2000}
    Given $*:[n]\times [n]\to [n]$, test associativity (and other identities) in
    nearly-linear time $\tilde{O}(n^2)$ in RAM model (constant time ops and
    memory access). Also can test if a group.
\end{block}

\end{frame}

\begin{frame}{RAM-to-TM}

At larger scales Turing Machine (TM) model better match to computations
that are communication bounded (typical in practice).

RAM $\to$ TM at most a quadratic blow-up.
\begin{block}{Corollary}
Nearly Quadratic-time $\tilde{O}(n^4)$ on multi-tape Turing Machine (TM).
\end{block}

\pause
\begin{block}{Theorem Dietrich-W.}
    Given $*:[n]\times [n]\to [n]$,
    test if a group in time nearly-linear time
    $\tilde{O}(n^2)$ on deterministic multi-tape TM.
    % \footnote{One tape of input length $\ell\in O(n^2)$,
    % and another of length $O(\sqrt{\ell})$.}
\end{block}

\end{frame}

% \begin{frame}{IsGroup Sketch}
% \tikzset{
% mybox/.style={
%     inner sep=0pt,
%     text width=5mm,
%     text height=5mm,
%     align=center,
%     }
% }
% \begin{tikzpicture}
% \node[fill=blue!0, label=center:1,mybox] at  ( 0mm, -0mm) {};
% \node[fill=blue!20,label=center:2,mybox] at  ( 5mm, -0mm) {};
% \node[fill=blue!20,label=center:3,mybox] at  (10mm, -0mm) {};
% \node[fill=blue!30,label=center:4,mybox] at  (15mm, -0mm) {};
% \node[fill=blue!40,label=center:5,mybox] at  (20mm, -0mm) {};
% %
% \node[fill=blue!10,label=center:2,mybox] at  ( 0mm, -5mm) {};
% \node[fill=blue!30,label=center:4,mybox] at  ( 5mm, -5mm) {};
% \node[fill=blue!0, label=center:1,mybox] at  (10mm, -5mm) {};
% \node[fill=blue!40,label=center:5,mybox] at  (15mm, -5mm) {};
% \node[fill=blue!20,label=center:3,mybox] at  (20mm, -5mm) {};
% %
% \node[fill=blue!20,label=center:3,mybox] at  ( 0mm,-10mm) {};
% \node[fill=blue!40,label=center:5,mybox] at  ( 5mm,-10mm) {};
% \node[fill=blue!30,label=center:4,mybox] at  (10mm,-10mm) {};
% \node[fill=blue!10,label=center:2,mybox] at  (15mm,-10mm) {};
% \node[fill=blue!0, label=center:1,mybox] at  (20mm,-10mm) {};
% %
% \node[fill=blue!30,label=center:4,mybox] at  ( 0mm,-15mm) {};
% \node[fill=blue!0, label=center:1,mybox] at  ( 5mm,-15mm) {};
% \node[fill=blue!40,label=center:5,mybox] at  (10mm,-15mm) {};
% \node[fill=blue!20,label=center:3,mybox] at  (15mm,-15mm) {};
% \node[fill=blue!10,label=center:2,mybox] at  (20mm,-15mm) {};
% %
% \node[fill=blue!40,label=center:5,mybox] at  ( 0mm,-20mm) {};
% \node[fill=blue!20,label=center:3,mybox] at  ( 5mm,-20mm) {};
% \node[fill=blue!10,label=center:2,mybox] at  (10mm,-20mm) {};
% \node[fill=blue!0, label=center:1,mybox] at  (15mm,-20mm) {};
% \node[fill=blue!30,label=center:4,mybox] at  (20mm,-20mm) {};
% \end{tikzpicture}

% \end{frame}

\begin{frame}{IsGroup}

\begin{tikzpicture}
    \node at (0,0) {$
        \begin{array}{|c|ccccc|}
        \hline
        \bullet & 1 & 2 & 3 & 4 & 5\\
        \hline
        1 & 1 & 2 & 3 & 4 & 5\\
        2 & 2 & 1 & 4 & 5 & 3\\
        3 & 3 & 5 & 1 & 2 & 4\\
        4 & 4 & 3 & 5 & 1 & 2\\
        5 & 5 & 4 & 2 & 3 & 1\\
        \hline
        \end{array}
    $};
    \visible<2->{
    \node at (6,0) {$
        \rho(2)  =
        \begin{array}{|ccccc|}
        \hline
            1 & 2 & 3 & 4 & 5 \\
        \hline
            2 & 1 & 4 & 5 & 3 \\
        \hline \end{array}
        =
        (1,2)(3,5,4)
    $};
    };
    \visible<3->{
    \node at (0,-3) {\begin{tikzpicture}
        \node[circle,draw] (1) at (0,0) {1};
        \node[circle,draw] (2) at (2,0) {2};
        \draw[->,thick] (1) to[bend left=30] (2);
        \draw[->,thick] (2) to[bend left=30] (1);
    \end{tikzpicture}};
    \node at (0,-4.5) {$G_{1}=\langle (354)\rangle$};
    };
    \visible<4->{
    \node at (3,-3) {\begin{tikzpicture}
        \node[circle,draw] (3) at (-1,0) {3};
        \node[circle,draw] (4) at (0.5,0.7) {5};
        \node[circle,draw] (5) at (0.5,-0.7) {4};

        \draw[->,thick] (3) to[bend left=30] (4);
        \draw[->,thick] (4) to[bend left=30] (5);
        \draw[->,thick] (5) to[bend left=30] (3);
    \end{tikzpicture}};
    \node at (3,-4.5) {$G_{13}=\{1\}$};
    };
    \visible<5>{
    \node[text width=4cm] at (8,-3) {$|G|=[G:G_1][G_1:G_{13}]$\\ $~=2\cdot 3=6$.\\  Should be 5,\\ not a group.};
    };
\end{tikzpicture}

\end{frame}

\begin{frame}{IsGroup}
    \begin{tikzpicture}
        \node at (0,0) {$
        \begin{array}{|c|ccccc|}
        \hline
        * & 1 & 2 & 3 & 4 & 5 \\
        \hline
        1 & 1 & 2 & 3 & 4 & 5 \\
        2 & 2 & 4 & 1 & 5 & 3 \\
        3 & 3 & 5 & 4 & 2 & 1 \\
        4 & 4 & 1 & 5 & 3 & 2 \\
        5 & 5 & 3 & 2 & 1 & 4 \\
        \hline \end{array}
        $};
        \visible<2->{
        \node at (6,0) {$
            \rho(2)  =
            \begin{array}{|ccccc|}
            \hline
                1 & 2 & 3 & 4 & 5 \\
            \hline
                2 & 4 & 1 & 5 & 3 \\
            \hline \end{array}
            =
            (1,2,4,5,3)
        $};
        };
        \visible<3->{
        \node at (0,-3) {\begin{tikzpicture}
            \node[circle,draw] (1) at (1,0) {1};
            \node[circle,draw] (2) at (0.3,0.8) {2};
            \node[circle,draw] (3) at (-0.6,0.5) {3};
            \node[circle,draw] (4) at (-0.6,-0.5) {4};
            \node[circle,draw] (5) at (0.3,-0.8) {5};

            \draw[->,thick] (1) to[bend right=30] (2);
            \draw[->,thick] (2) to[bend left=30] (4);
            \draw[->,thick] (4) to[bend right=30] (5);
            \draw[->,thick] (5) to[bend right=30] (3);
            \draw[->,thick] (3) to[bend right=30] (1);
        \end{tikzpicture}};
        \node at (0,-4.5) {$|G|=[G:G_{1}|=5$};
        };
        \visible<4>{
        \node[text width=4cm] at (7,-3) {$
        \begin{array}{|c|ccccc|}
        \hline
        * & 1 & 2 & 3 & 4 & 5 \\
        \hline
        \rho(2)^0 & 1 & 2 & 3 & 4 & 5 \\
        \rho(2)^1 & 2 & 4 & 1 & 5 & 3 \\
        \rho(2)^2 & 4 & 5 & 2 & 3 & 1 \\
        \hline \end{array}
        $\\

        $\rho(2)^2=45231\neq T_4=41532$\\ Not a group.};
        };
    \end{tikzpicture}
\end{frame}

% \begin{frame}{IsGroup}
%     \begin{tikzpicture}
%         \node at (0,0) {$
%         \begin{array}{|c|ccccc|}
%         \hline
%         * & 1 & 2 & 3 & 4 & 5 \\
%         \hline
%         1 & 1 & 2 & 3 & 4 & 5 \\
%         2 & 2 & 4 & 1 & 5 & 3 \\
%         3 & 4 & 5 & 4 & 2 & 1 \\
%         4 & 4 & 1 & 5 & 3 & 2 \\
%         5 & 5 & 3 & 2 & 1 & 4 \\
%         \hline \end{array}
%         $};
%         \visible<2->{
%         \node at (6,0) {$
%             \rho(2)  =
%             \begin{array}{|ccccc|}
%             \hline
%                 1 & 2 & 3 & 4 & 5 \\
%             \hline
%                 2 & 4 & 1 & 5 & 3 \\
%             \hline \end{array}
%             =
%             (1,2,4,5,3)
%         $};
%         };
%         \visible<3->{
%         \node at (0,-3) {\begin{tikzpicture}
%             \node[circle,draw] (1) at (1,0) {1};
%             \node[circle,draw] (2) at (0.3,0.8) {2};
%             \node[circle,draw] (3) at (-0.6,0.5) {3};
%             \node[circle,draw] (4) at (-0.6,-0.5) {4};
%             \node[circle,draw] (5) at (0.3,-0.8) {5};

%             \draw[->,thick] (1) to[bend right=30] (2);
%             \draw[->,thick] (2) to[bend left=30] (4);
%             \draw[->,thick] (4) to[bend right=30] (5);
%             \draw[->,thick] (5) to[bend right=30] (3);
%             \draw[->,thick] (3) to[bend right=30] (1);
%         \end{tikzpicture}};
%         \node at (0,-4.5) {$|G|=[G:G_{1}|=5$};
%         };
%         \visible<4>{
%         \node[text width=4cm] at (7,-3) {$
%         \begin{array}{|c|ccccc|}
%         \hline
%         * & 1 & 2 & 3 & 4 & 5 \\
%         \hline
%         \rho(2)^0 & 1 & 2 & 3 & 4 & 5 \\
%         \rho(2)^1 & 2 & 4 & 1 & 5 & 3 \\
%         \rho(2)^2 & 4 & 5 & 2 & 3 & 1 \\
%         \hline \end{array}
%         $\\

%         $\rho(2)^2=45231\neq T_4=41532$\\ Not a group.};
%         };
%     \end{tikzpicture}
% \end{frame}

% \begin{frame}{IsGroup Generalizing}

% \begin{block}{Main idea}
% \begin{itemize}
%     \item Map putative generator $S$ into efficient representation of class, e.g. permutations.
%     \item Explore representation to efficiently reproduce table
%     \item Compare tables.
% \end{itemize}
% \end{block}

% \begin{block}{Question:}
% Do other classes of tables permit this representation approach?
% \end{block}

% \end{frame}

\section{Summary}

\begin{frame}{Summary}

\begin{block}{IsGroup nearly linear time}
    From $\tilde{O}(n^4)$ to $\tilde{O}(n^2)$:
    Promise-to-decision by transferring group to permutation model.
\end{block}

\begin{block}{GroupIso most orders nearly linear time}
    From $n^{O(\log n)}$ to $\tilde{O}(n^2)$:
    Split group into
    \begin{center}
        hard group $\ltimes$ hard numbers
        = tiny numbers $\ltimes$ cyclic groups.
    \end{center}
    Then standard divide-and-conquer.
\end{block}

\rule{\textwidth}{1pt}
{\tiny Thanks to: Newton Institute (Cambridge, UK)
EPSRC Grant Number EP/R014604/1, Australian Research Council grant
DP190100317, and Simons Foundation Grant 636189.}
\end{frame}

% \begin{frame}{}

% \begin{block}{Theorem.}
% A positive density of positive integers $n$ has $\Gamma(n)$ such
% that the
% \end{block}

% \end{frame}

% \begin{frame}{Most integers factor like this}

% \begin{tikzpicture}
% \node[circle,draw] (3) at (0,0) {$3$};
% \node[circle,draw] (31) at (1,1) {$31$};
% \node[circle,draw] (137) at (1,-1) {$137$};
% \node[circle,draw] (379) at (2,-1) {$379$};
% \node[circle,draw] (1949) at (3,0) {$1949$};

% \draw[->,thick] (3) to[bend left=30] (0,0.5) to[bend right=30] (31);
% \draw[->,thick] (3) to[bend left=30] (0,0.5) to[bend right=30] (31);
% % \draw[->,thick] (0,0.5) to[bend left=30] (5);
% % \draw[->,thick] (0,0.5) to[bend right=20] (541);

% % \draw[->,thick] (5) to[bend right=30] (-0.25,-0.5) to[bend right=30] (3);
% % \draw[->,thick] (-0.25,-0.5) to[bend left=30] (2);

% % \draw[->,thick] (3) to[bend right=30] (2);

% % \node at (6,1) {$|G|=n\Rightarrow N_{60}\ltimes N_{541}$};

% \end{tikzpicture}

% \end{frame}

\end{document}


\chapter{Multiscale Methods on the Sphere}
\label{ch_mms}
\index{Multiscale}

\section{Introduction}
\section{The Isotropic Undecimated Wavelet Transform}
\section{The Isotropic Pyramidal Wavelet Transform}
\section{The Ridgelet Transform}
\section{The Curvelet Transform}


\section{Conclusion}
A classification of audio samples was performed using two approaches. The results of the $k$-Means clustering show that algorithmically calculated classes differ strongly from human classification. The $k$-NN classification of samples based directly on human perception showed very good results. Consequently, the task of assigning samples to a given musical track is possible and further research on this has the potential to strongly improve the classification.\\
One big area of open research are the features. More or better features should give a much better differentiation of the samples. In particular, the given features represent pitch only very crudely. Informal listening tests confirm that the algorithm tends to ignore pitch differences.\\
Also, a listening test for measuring the perceived distance between samples could be done. This could then be used to check how the perceived differences correlate with the DTW-distances the algorithm calculates.


\documentclass[12pt]{cdblatex}
\usepackage{exercises}
\usepackage{fancyhdr}
\usepackage{footer}

\begin{document}

% --------------------------------------------------------------------------------------------
\section*{Exercise 1.6 Multiple {\tt SortOrder} lists}

\begin{cadabra}
   {D,C,B,A}::SortOrder.  # first SortOrder list

   foo := A B C D .       # cdb(ex-0106.101,foo)

   sort_product (foo)     # cdb(ex-0106.102,foo)

   {V,U}::SortOrder.      # second SortOrder list, all entries distinct from first list

   foo := U V A B C D .   # cdb(ex-0106.201,foo)

   sort_product (foo)     # cdb(ex-0106.202,foo)

   {A,B,C,D}::SortOrder.  # all entries in this list appear in the
                          # first SortOrder so they will be effectively ignored

   foo := U V D C B A .   # cdb(ex-0106.301,foo)

   sort_product (foo)     # cdb(ex-0106.302,foo)
\end{cadabra}

% \clearpage

\begin{dgroup*}[spread=2pt]
   \Dmath*{\cdb*{ex-0106.101}}
   \Dmath*{\cdb*{ex-0106.102}}
\end{dgroup*}

\begin{dgroup*}[spread=2pt]
   \Dmath*{\cdb*{ex-0106.201}}
   \Dmath*{\cdb*{ex-0106.202}}
\end{dgroup*}

\begin{dgroup*}[spread=2pt]
   \Dmath*{\cdb*{ex-0106.301}}
   \Dmath*{\cdb*{ex-0106.302}}
\end{dgroup*}

\end{document}


\chapter{Introduction}

\clearpage
\section{Mathematical optimization}

\clearpage
\section{Least-squares and linear programming}

\clearpage
\section{Convex optimization}

\clearpage
\section{Nonlinear optimization}

\clearpage
\section{Outline}

\clearpage
\section{Notation}

\clearpage
\hfil\includegraphics[width=.5\textwidth]{../Graphics/01-ML01.png}\hfil

\clearpage
\hfil\includegraphics[width=.5\textwidth]{../Graphics/01-ML02.png}\hfil

\clearpage
\hfil\includegraphics[width=.5\textwidth]{../Graphics/ChongFigure20_1.png}\hfil

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../LectureNotes-Optimization"
%%% End:


\documentclass[main.tex]{subfiles}
\begin{document}

\marginpar{Friday\\ 2020-3-27, \\ compiled \\ \today}

We can always decompose a Hermitian matrix in a basis: if \(M = M ^\dag\) then \(M = r_{\mu } \hat{\Gamma}_{\mu } \).
If we choose the matrices so that \(\Tr [\hat{\Gamma}_{\mu } \hat{\Gamma}_{\nu }] = \delta_{\mu \nu }\), we can use the Euclidean scalar product.

\section{Bell nonlocality}

We will follow some of  \cite[]{brunnerBellNonlocality2014}.

When first encountering QM, people usually think in terms of statistics.

Let us make an explicit example for a hidden variable theory.

Let us suppose we have a qubit which is described by the density matrix
%
\begin{align}
\rho = \frac{1}{2} \qty(\mathbb{1} + \vec{s} \cdot \vec{\sigma})
\,,
\end{align}
%
where \(\vec{s}\) is a unit vector in the Bloch sphere.
Now, we can measure spins: our observables are in the form \(\hat{A} = \vec{a} \cdot \vec{\sigma}\), which means we are measuring the spin in the direction of the unit vector \(\vec{a}\).

The expectation value is
%
\begin{align}
\expval{\hat{A}} = \Tr (\hat{A} \rho ) = \vec{a} \cdot \vec{s}
= \cos \theta  = (+1) \mathbb{P} (+1) + (-1) \mathbb{P}(-1)
\,,
\end{align}
%
where \(\theta \) is the angle between \(\vec{a}\) and \(\vec{s}\).

Is the output of the measurement prescribed by some hidden variable \(\lambda \)?

If so, we would need to describe the state with the pair \((\rho , \lambda )\). Then, if \(A(\lambda )\) is the function associating a value of \(\lambda \) to its outcome we will have
%
\begin{align}
\expval{\hat{A}} = \int \dd{\mu_{\rho }(\lambda )} A(\lambda )
\,.
\end{align}

In principle \(A(\lambda )\) would also depend on \(\rho \), but we can rescale the measure on the space so that it doesn't.

Suppose \(\vec{\lambda}\) is defined on the hemisphere \(\vec{\lambda} \cdot \vec{s} \geq 0 \) and \(\abs{\vec{\lambda}} =1\).
Then, \(\dd{\mu_{\rho }(\lambda )}\) is a uniform density function defined there, and it is zero otherwise.

Let us define the unit vector \(\vec{a}'\) so that
%
\begin{align}
A(\lambda ) = \sign(\vec{\lambda } \cdot \vec{a}')
\,,
\end{align}
%
and so that \(\vec{a}'\) is in the plane defined by \(\vec{s}\) and \(\vec{a} \) and the angle between \(\vec{s}\) and \(\vec{a}'\) is \(\theta'\), defined by
%
\begin{align}
1 - \frac{2 \theta'}{\pi } = \cos  \theta
\,.
\end{align}

With this, we have a statistical model which describes quantum mechanics.

The problem comes along when we consider Bell inequalities, which deal with multiple systems.

Then, in the Hidden Variable theory we will have
%
\begin{align}
\expval{\hat{A} \otimes \hat{B}} = \int \dd{\mu_{\rho } (\lambda )} F(\lambda )
\,,
\end{align}
%
but if we assume we have locality then (as shown in Phys Rev 47, 777 (1935), the EPR paper) we must impose that there can be no causal link between events which are spacelike-separated.
So, under a Local Hidden Variable model we must have that the events are independent: so we must write
%
\begin{align}
\expval{\hat{A} \otimes \hat{B}} = \int \dd{\mu_{\rho } (\lambda )} A(\lambda ) B(\lambda )
\,.
\end{align}

Reality means determinism: if we have reality and we fix \(\lambda \) then the result of the measurement is also fixed.

What Bell did was to probe that this kind of expression is incompatible with the prediction of QM: if we consider the operator
%
\begin{align}
S =
\expval{\hat{A} \otimes \hat{B}}+
\expval{\hat{A} \otimes \hat{B}'} +
\expval{\hat{A}' \otimes \hat{B}} -
\expval{\hat{A}' \otimes \hat{B}'}
\,,
\end{align}
%
where \(\hat{A}'\) and \(\hat{B}'\) are two different observables Alice and Bob can choose to measure randomly, and which both have eigenvalues \(\pm 1\). Then, we have that its expectation value is
%
\begin{align}
\int \dd{\mu (\lambda )} \qty[A (B + B') + A' (B - B')]
\,,
\end{align}
%
and this is upper-bounded by 2.
If we do an experiment, and measure a value which is greater than 2, then we have falsified LHV theory.
Quantum Mechanics tells us we can indeed go beyond 2.
If we choose \(\vec{a}\) and \(\vec{a}'\) at right angles to each other, \(\vec{b} \) and \(\vec{b}'\) likewise, with an angle of \(\pi /4\) between them, then it can be shown that if the state \(\rho \) is a singlet then
%
\begin{align}
\expval{(\vec{a} \cdot \vec{\sigma}) \otimes (\vec{a} \cdot \vec{\sigma})} = - \vec{a} \cdot \vec{b}
\,,
\end{align}
%
so if \(\vec{a} = \vec{b} \) we have perfect anticorrelation. So we get
%
\begin{align}
\expval{\abs{S}} = \abs{- \frac{1}{\sqrt{2}} - \frac{1}{\sqrt{2}} - \frac{1}{\sqrt{2}} - \frac{1}{\sqrt{2}} } = 2 \sqrt{2} \approx 2.8  > 2
\,.
\end{align}

So, we either reject determinism or we reject locality.

In the orthodox interpretation of QM the theory is simply nondeterministic.

This is wonderful theoretically, but there are loopholes.
Only in 2015 the experiment was done in a loophole-free way.

\subsection{Loopholes}

\subsubsection{Freedom of choice}

In the experiment we discussed before Alice and Bob could choose in a random way between the two measurements. This is important since if the measurements are predetermined then that is a hidden variable.
If the measurements are fixed then we can describe the statistics with a hidden variable theory.

\subsubsection{Locality}

The choice of the measurement basis must be done late enough so that the events are still spacelike separated.
So, we should choose the measurement basis so that the photons have almost arrived when we decide.

\subsubsection{Detection loophole}

Photons are not revealed efficiently: they are lost in detection, so we may reveal only a small fraction of the total photons.

\subsubsection{Superdeterminism}

It has not been possible yet to exclude that all of nature is completely predetermined.

When we write the correlation between two operators, we write something like
%
\begin{align}
\expval{A \otimes B} = \sum _{ij} ij \mathbb{P}_{AB} (ij)
\,,
\end{align}
%
but we have that \(\mathbb{P} (a, b) + \mathbb{P} (\overline{a}, b) = \mathbb{P}(b)\).
Then, we can find that
%
\begin{align}
\expval{A \otimes B} = 4 \mathbb{P}(a, b) - 2 P_A(a) -2 P_B(b) +1
\,,
\end{align}
%
which is useful since it contains only positive results.
This allows us to write
%
\begin{align}
S_{CHSH} = 4S_{CH} + 2
\qquad \text{where} \qquad
S_{CH} = \mathbb{P}(a, b)
+ \mathbb{P} (a', b)
+ \mathbb{P} (a, b')
- \mathbb{P}(a) - \mathbb{P}(b)
\,,
\end{align}
%
and \(S_{CHSH}\leq 2\) is equivalent to \(S_{CH} \leq 0\). The advantage is that we do not need to normalize for the total number of events: we can write this directly as
%
\begin{align}
N(a, b)
+ N (a', b)
+ N (a, b')
- N(a) - N(b)
\leq 0
\,,
\end{align}
%
so we have no issue with lost photons.

If the efficiency is \(\eta \) for each channel, then experimentally we will measure
%
\begin{align}
S_{CH}^{\text{exp}} = \eta^2 \qty[\mathbb{P}(a, b)
+ \mathbb{P} (a', b)
+ \mathbb{P} (a, b') ]
- \eta \qty[\mathbb{P}(a) + \mathbb{P}(b)]
\,,
\end{align}
%
where the term multiplying \(\eta^2\) is precisely \(S_{CHSH}+ \mathbb{P}(a) + \mathbb{P}(b)\). If we want to violate the inequalities, we must have \(S_{CH}^{\text{exp}} > 0\): the minimum efficiency is
%
\begin{align}
\eta_{*} = \frac{\mathbb{P}_{A}(a) + \mathbb{P}_{B}(b)}{S^{Q}_{CH} + P_{A}(a) + P_{B}(b)}
\,,
\end{align}
%
and if we use maximally entangled singlet states we have \(\eta_{*} \approx 2 \qty(\sqrt{2}-1) \approx \SI{83}{\percent}\).

This is combined efficiency: an emitted photon must have a \(\geq \SI{83}{\percent}\) probability of being revealed.

The detectors used had less efficiency than this: actually, if we have a state like \(\cos \theta \ket{00} + \sin \theta \ket{11 }\) we have a lower \(\eta_{*}\): the best thing is in the limit of \(\theta \rightarrow 0\), so we will need \(\eta_{*} \approx 2/3 \approx \SI{67}{\percent}\).

If we do not have this efficiency, we must make a \emph{fair sampling assumption}: the photons we do measure are a representative sample of all the photons.

There were three works published in 2015 which did this:
\begin{enumerate}
  \item Nature 526, 682
  \item PRL 115, 250401
  \item PRL 115, 250402
\end{enumerate}

In the works in PRL they used photons, while the work in Nature used electron spins, entangling them with entanglement swapping.
The experiment using electrons did not have the detection loophole, but they are very much subject to the locality loophole.

We can further extend Bell inequalities in multipartite systems.

If we have three systems, we can measure (denoting \(\sigma_{x} = X\) and so on)
%
\begin{align}
M_1 &= X_{a} X_{b} X_{c} \\
M_2 &= - Y_{a} Y_{b} X_{c} \\
M_3 &= - Y_{a} X_{b} Y_{c} \\
M_4 &= - Y_{a} Y_{b} Y_{c}
\,,
\end{align}
%
and one can see that \(M_1 M_2 M_3 = - M_4 \), so classically if we assume we can write the expectation value as
%
\begin{align}
\int \dd{\mu } A(\lambda ) B(\lambda ) C(\lambda )
\,,
\end{align}
%
and we can violate these with the GHZ state:
%
\begin{align}
\ket{\text{GHZ}} = \frac{1}{\sqrt{2}} \qty(\ket{000} + \ket{111})
\,,
\end{align}
%
and we can see that
%
\begin{align}
\expval{M_i} = +1
\,,
\end{align}
%
for each of these. We can write this as an inequality with \(M_1 + M_2 + M_3 + M_4 \leq 2\).

The nice thing is that we can do this with perfect correlations, while in CHSH we do not have perfect correlations.

One could actually see that this can be generalized to \(N\) qubits: as we increase the dimension, the violation increases exponentially:
%
\begin{align}
\frac{\beta_{Q}}{\beta_{c}} \sim 2^{N}
\,,
\end{align}
%
where \(\beta \) is the value we obtain for the inequality.

No one has yet done a loophole-free measurement with three subsystems, but loophole-wrought measurements have indeed been done.

We can also improve the violation s increasing the dimensionality of two systems, that is, using Q-dits.

Often ``quantum nonlocality'' is discussed, but this is imprecise: we cannot really prove that quantum mechanics is nonlocal, we can only say that it either is  nonlocal or nondeterministic.

\end{document}


%\documentclass[12pt]{article}
\documentclass[12pt,landscape]{article}

\include{preamble}

\newcommand{\instr}{\small Your answer will consist of a lowercase string (e.g. \texttt{aebgd}) where the order of the letters does not matter. \normalsize}

\title{Math 368 / 621 Fall \the\year{} \\ Final Examination}
\author{Professor Adam Kapelner}

\date{Wednesday, December 14, \the\year{}}

\begin{document}
\maketitle

%\noindent Full Name \line(1,0){410}

\thispagestyle{empty}

\section*{Code of Academic Integrity}

\footnotesize
Since the college is an academic community, its fundamental purpose is the pursuit of knowledge. Essential to the success of this educational mission is a commitment to the principles of academic integrity. Every member of the college community is responsible for upholding the highest standards of honesty at all times. Students, as members of the community, are also responsible for adhering to the principles and spirit of the following Code of Academic Integrity.

Activities that have the effect or intention of interfering with education, pursuit of knowledge, or fair evaluation of a student's performance are prohibited. Examples of such activities include but are not limited to the following definitions:

\paragraph{Cheating} Using or attempting to use unauthorized assistance, material, or study aids in examinations or other academic work or preventing, or attempting to prevent, another from using authorized assistance, material, or study aids. Example: using an unauthorized cheat sheet in a quiz or exam, altering a graded exam and resubmitting it for a better grade, etc.
\\

\noindent By taking this exam, you acknowledge and agree to uphold this Code of Academic Integrity. \\

%\begin{center}
%\line(1,0){250} ~~~ \line(1,0){100}\\
%~~~~~~~~~~~~~~~~~~~~~signature~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date
%\end{center}

\normalsize

\section*{Instructions}

This exam is 105 minutes (variable time per question) and closed-book. You are allowed \textbf{three} pages (front and back) of a \qu{cheat sheet}, blank scrap paper and a graphing calculator. Please read the questions carefully. No food is allowed, only drinks. %If the question reads \qu{compute,} this means the solution will be a number otherwise you can leave the answer in \textit{any} widely accepted mathematical notation which could be resolved to an exact or approximate number with the use of a computer. I advise you to skip problems marked \qu{[Extra Credit]} until you have finished the other questions on the exam, then loop back and plug in all the holes. I also advise you to use pencil. The exam is 100 points total plus extra credit. Partial credit will be granted for incomplete answers on most of the questions. \fbox{Box} in your final answers. Good luck!

\pagebreak

\problem\timedsection{14} Let $X_1, X_2, \ldots$ be a sequence of independent rv's distributed as Deg$(\mu / n^2)$. Let $T_n := X_1 + X_2 + \ldots + X_n$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{18}

\begin{enumerate}[(a)]
\item $X_1$ has no PMF
\item $X_1$ has no CDF
\item $X_1$ is zero with probability one
\item The convolution of $X_1$ and $X_2$ is also degenerate
\item The expectation of $X_1$ is $\mu$
\item The variance of $X_1$ is $\mu^2$
\item $\prob{X_1 \geq \mu} \leq 0$
\item The chf of $X_1$ is $\mu$
\item The chf of $X_1$ is $e^{it\mu}$
\item The chf of $X_1$ is $\in \mathbb{L}^1$
\item The chf of $X_1$ evaluated at 0 is 1
\item The mgf of $X_1$ does not exist for some values of $t$ or $\mu$
\item $X_n \convd 0$
\item $X_n \convp 0$
\item $X_n \convLp{1} 0$
\item $X_n$ converges to zero in mean square
\item $T_n \convd 0$
\item $T_n$ does not converge in probability.
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{7} Let $\X \sim$ Multinomial$(n, \bv{p})$ and $\phi_{\X}(\bv{t}) = \tothepow{p_1 e^{i t_1} + p_2 e^{i t_2} + \ldots + p_K e^{i t_K}}{n}$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{9}

\begin{enumerate}[(a)]
\item $\onevec^\top \bv{p}$ = 1
\item $\dime{\X} = K$
\item $\Xoneton$ are independent
\item $\Xoneton$ are identically distributed
\item $X_3 \sim \binomial{n}{p_3}$
\item The chf for $X_3$ is $\phi_{\X}\parens{\bracks{t_1~t_2~0~t_4~\ldots~t_K}^\top}$
\item The chf for $X_3$ is $\phi_{\X}\parens{\bracks{~0~0~t~0~\ldots~0}^\top}$
\item The chf for $X_3$ is $\tothepow{p_3 e^{i t} + p_4 e^{i t} \ldots + p_K e^{i t_K}}{n}$
\item The chf for $X_3$ is $\tothepow{1 + p_3 e^{i t}  - p_3 }{n}$
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{9} Let $X_1, X_2, \ldots$ be a sequence of iid rv's with mean $\mu$ and variance $\sigsq$ finite.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{13}

\begin{enumerate}[(a)]
\item $\Xbar_n$ is exactly normally distributed
\item $\Xbar_n$ is approximately normally distributed
\item The expectation of $\Xbar_n$ is exactly $\mu$
\item The expectation of $\Xbar_n$ is approximately $\mu$
\item The variance of $\Xbar_n$ is exactly $\sigsq / n$
\item The variance of $\Xbar_n$ is approximately $\sigsq / n$
\item $\Xbar_n \convd \mu$
\item $\Xbar_n \convp \mu$
\item $Z_n := \frac{\Xbar_n - \mu}{\sigma / \sqrt{n}} \convd \mu$
\item $Z_n := \frac{\Xbar_n - \mu}{\sigma / \sqrt{n}} \convp \mu$
\item $Z_n := \frac{\Xbar_n - \mu}{\sigma / \sqrt{n}} \convd \oneoversqrt{2\pi}e^{-z^2/2}$
\item Regardless of whether (h) is true or not, it is the main result of the \qu{central limit theorem}
\item Regardless of whether (k) is true or not, it is the main result of the \qu{central limit theorem}
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{19} Let $X \sim \chisq{k}$ and $Y~|~X = x \sim \uniform{0}{x}$. For this problem, you may need the following fact from Math 241: for $U \sim \uniform{a}{b}$,  $\var{U} = (b-a)^2 / 12$ and the following fact from this class: for $G \sim \gammanot{\alpha}{\beta}$, $\var{G} = \alpha / \beta^2$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{19}

\begin{enumerate}[(a)]
\item $X$ and $Y$ are independent
\item $X \sim \gammanot{k/2}{1/2}$
\item The rv $Y$ is a compound distribution
\item The rv $Y$ has one parameter
\item $f^{old}_{X,Y}(x,y) = \oneover{2^k \Gammaf{k / 2}}x^{k/2 - 2} e^{-x/2}$
\item $f^{old}_{X,Y}(x,y) = \oneover{2^k \Gammaf{k / 2}}x^{k/2 - 1} y^{-1} e^{-x/2}$
\item $f_{X,Y}(x,y)$ is always defined
\item $f_{X|Y}(x,y)$ is always defined
\item $f_{Y|X}(y,x)$ cannot be computed given the information you have
\item The support of the rv $Y$ is all real numbers
\item The support of the rv $Y$ is all positive real numbers
\item The expectation of $Y$ can be computed via $\int_\reals y \int_\reals f_{X,Y}(x,y) dx dy$
\item The expectation of $Y$ is $x/2$
\item The expectation of $Y$ is $k/2$
\item The expectation of $Y$ is $\sqrt{\pi}$
\item The variance of $Y$ is $k^2 / 12$
\item The variance of $Y~|~X$ is $X^2 / 12$
\item The variance of $Y$ is $(8k + k^2) / 12$
\item The variance of $Y$ cannot be computed given the information you have
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{18} Let $X \sim T_k$, $U = X^2$, $Y = \mu + \sigma X$ and $V = \mu + \sigma  U$ where $\mu \in \reals$, $\sigma > 0$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{16}

\begin{enumerate}[(a)]
\item $X$ and $V$ are independent
\item $f^{old}_X(x) = f_X(x) = \frac{\Gammaf{(k+1) / 2}}{\sqrt{k\pi} \Gammaf{k/2}} \tothepow{1 + x^2 / k}{-(k+1) / 2}$
\item $\support{U} = [0, \infty)$
\item $\support{V} = [0, \infty)$
\item $\expe{X} = \mu$
\item $\expe{Y} = \mu$
\item $\expe{U} = \mu$
\item $\expe{V} = \mu$
\item $Y / V \sim $ Cauchy$(\mu,\sigma)$
\item $\var{Y} = \sigsq$
\item $f^{old}_Y(y) = f_Y(y) = \frac{\Gammaf{(k+1) / 2}}{\sigma\sqrt{k\pi} \Gammaf{k/2}} \tothepow{1 + (y - \mu)^2 / (k\sigsq)}{-(k+1) / 2}$
\item $f^{old}_Y(y) = f_Y(y) = \mu + \sigma  \frac{\Gammaf{(k+1) / 2}}{\sqrt{k\pi} \Gammaf{k/2}} \tothepow{1 + y^2 / k}{-(k+1) / 2}$
\item $U \sim F_{1,k}$
\item $V \sim F_{\sigma,k}$ if $\mu=0$
\item $f^{old}_U(u) = \frac{(1 + u / k)^{-(k+1) / 2}}{B(1/2, k/2) \sqrt{ku} }$
\item $f^{old}_V(v) = \frac{(1 + v / (k\sigma))^{-(k+1) / 2}}{B(1/2, k/2) \sqrt{k\sigma v}}$ if $\mu=0$
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{9} Let $\Xoneton \iid \normnot{\mu}{\sigsq}$ where $\mu$ and $\sigsq$ are finite and let $\Xbar = \oneover{n} \sum X_i$ and $S^2 = \oneover{n - 1} \sum (X_i - \Xbar)^2$. Let $Z_1 = (X_1 - \mu)/\sigma, Z_2 = (X_2 - \mu)/\sigma,\ldots, Z_n = (X_n - \mu)/\sigma$. Let $\Z = \bracks{Z_1~Z_2 ~\ldots~ Z_n}^\top$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{11}

\begin{enumerate}[(a)]
\item $\Xbar \sim \normnot{\mu}{\sigsq / n}$
\item $\Xbar \sim \normnot{\mu}{\sigsq}$
\item $S^2 \sim \chisq{n-1}$
\item $S^2 \sim \gammanot{\frac{n-1}{2}}{\frac{n-1}{2\sigsq}}$
\item $\Xbar$ and $S^2$ are independent
\item $\bar{Z}$ and $S^2$ are independent
\item There exists a matrix $A$ where $S^2 = \Z A \Z^\top$.
\item There exists a matrix $A$ where $S^2 = \Z^\top A \Z$.
\item If $\Z^\top \Z = \Z^\top B_1 \Z + \Z^\top B_2 \Z + \ldots + \Z^\top B_k\Z$, then $ \Z^\top B_1 \Z$ is chi-squared distributed
\item If (e) is assumed, then Cochran's theorem can be proven
\item If $a>0$, then $\prob{Z_1 > a} < \half$.
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{19} Let $\X \sim \multnormnot{n}{\muvec}{\Sigma}$ where $\Sigma$ is full rank, $A \in \reals^{m \times n}$,  $\bv{b} \in \reals^m$ and $\Y = A\X + \bv{b}$. Let $\mu_i$ denote the $i$th entry in $\muvec$ and let $\Sigma_{i,j}$ denote the entry on the $i$th row and $j$th column of matrix $\Sigma$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{17}

\begin{enumerate}[(a)]
\item $\expe{\X} = \muvec$
\item $\X - \muvec$ is a standard multivariate normal rv
\item The kernel of the PDF of $\X$ is $e^{\x^\top \Sigma^{-1} \muvec - \x^\top \Sigma^{-1} \x / 2}$
\item $\displaystyle\argmax_{\x \in \reals^n}\braces{f_{\X}(\x)} = \muvec$
\item $\phi_{\X}(\bv{t}) = e^{i\bv{t}^\top \muvec - \bv{t}^\top \Sigma \bv{t} / 2}$
\item $\phi_{\Y}(\bv{t}) = e^{i\bv{t} \bv{b}} \phi_{\X}(A^\top\bv{t})$
\item $\int_0^\infty \int_0^\infty f_{\X}(x_1,x_2) dx_1 dx_2 = 1$ if $n=2$
\item $X_1$ and $X_2$ would be independent if $\muvec = \zerovec$
\item $X_1$ and $X_2$ could be independent regardless of the value of $\muvec$
\item $\var{\X + \bv{b}} = \Sigma\bv{b}$ if $n=m$
\item $A\X \sim \multnormnot{n}{\muvec}{A\Sigma}$
\item $X_3 + X_7$ is normally distributed
\item $X_3 / X_7$ is Cauchy distributed
\item $\twovec{X_3}{X_7} \sim \multnormnot{2}{\twovec{\mu_3}{\mu_7}}{\twobytwomat{\Sigma_{3,3}}{\Sigma_{3,7}}{\Sigma_{3,7}}{\Sigma_{7,7}}}$
\item $\var{X_1 + X_2} = \Sigma_{1,1} + \Sigma_{2,2} + \Sigma_{1,2} + \Sigma_{2,1}$
\item $\X^\top \X \sim \chisq{n}$
\item $(\Y - A\muvec - \bv{b})^\top \inverse{A \Sigma A^\top} (\Y - A\muvec - \bv{b})$ is always chi-squared distributed
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\problem\timedsection{10} Let $X, Y \iid \chisq{k}$ where $\mu$ and $\sigsq$ are finite and $a>0$.

\vspace{-0.2cm}\benum\truefalsesubquestionwithpoints{10}

\begin{enumerate}[(a)]
\item $\prob{X > a} \leq k / a$
\item $\prob{2^X > a} \leq \expe{2^X} / a$
\item $\prob{2^X > a} \leq 2^k / a$
\item $Q[X, 1/e] \leq ek$
\item $\prob{X > b} \leq \var{X} / (b-k)^2$ if $b \geq 2k$
\item $\expe{\natlog{X}} \geq \natlog{\expe{X}}$
\item $\expe{\natlog{X}} \leq \natlog{\expe{X}}$
\item If $a$ was large, the Chernoff bound for $\prob{X > a}$ would be tighter (smaller) than the Markov bound for $\prob{X > a}$
\item $\corr{X}{Y} \in \bracks{-1,1}$
\item Computing the Cauchy-Schwartz upper bound is the most information you can provide about $\expe{XY}$.
\end{enumerate}
\eenum\instr\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%

\end{document}%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Template for a conference paper, prepared for the
%% Food and Resource Economics Department - IFAS
%% UNIVERSITY OF FLORIDA
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Version 1.0 // November 2019
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Ariel Soto-Caro
%%  - asotocaro@ufl.edu
%%  - arielsotocaro@gmail.com
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt]{article}
\usepackage{format}

\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}{Corollary}[theorem]
\newtheorem{lemma}[theorem]{Lemma}

\usepackage[ruled,vlined]{algorithm2e}
\newcommand{\bigslant}[2]{{\raisebox{.2em}{$#1$}\left/\raisebox{-.2em}{$#2$}\right.}}

\usepackage{enumitem}
\setlist[itemize,1]{label=\textbullet}
\setlist[itemize,2]{label=$\circ$}
\setlist[itemize,3]{label=$\ast$}

%% ===============================================
%% Setting the line spacing (3 options: only pick one)
% \doublespacing
% \singlespacing
\onehalfspacing
%% ===============================================

\setlength{\droptitle}{-5em} %% Don't touch

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SET THE TITLE
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% TITLE:
\title{Random Trees and Effective Resistance}

% AUTHORS:
\author{Kishlaya Jaiswal\\% Name author
    % \href{mailto:kishlaya.j@gmail.com}{\texttt{kishlaya.j@gmail.com}} %% Email author 1
% \and Second Author\\% Name author
%     \href{mailto:secondauthor@ufl.edu}{\texttt{secondauthor@ufl.edu}} %% Email author 2
% \and Third Author\\% Name author
%     \href{mailto:thirdauthor@ufl.edu}{\texttt{thirdauthor@ufl.edu}}%% Email author 3
%\and Forth Author\\% Name author
%    \href{mailto:forthuthor@ufl.edu}{\texttt{forthuthor@ufl.edu}}%% Email author 4
    }

% DATE:
\date{\today}

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ABSTRACT
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\setstretch{.8}
\maketitle
% %%%%%%%%%%%%%%%%%%
\begin{abstract}
% CONTENT OF ABS HERE--------------------------------------

We look at a graph as an electric network to present a simple proof for the well known relation between effective resistance of an edge and the chances of that edge being in a uniformly random spanning tree.

% END CONTENT ABS------------------------------------------
\noindent
\textit{\textbf{Advisor: }%
Samir Datta} \\ %% <-- Keywords HERE!

\end{abstract}
}

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% BODY OF THE DOCUMENT
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% % --------------------
\section{Introduction}
% % --------------------

Let $G=(V,E)$ be a given undirected graph. Sampling a uniformly random spanning tree $T$ is a well-studied problem and the question we ask is: given an edge $e \in E$, what are the chances that a random spanning tree has this edge $e$.

We consider an electric circuit where each edge in $G$ is replaced with a resistor of $1 \Omega$. To setup a potential difference, we supply external current $i_{ext}$ at nodes; then potential $p$ at each node is given by: $i_{ext} = Lp$ where $L$ denotes the Laplacian of the graph.

\textsl{Effective resistance} of an edge $e=(a,b)$, denoted by $R_{\text{eff}}(e)$, is defined as potential difference across $e$ when a unit current is inducted at $a$ and taken out at $b$.

So we consider the particular vector $i_{ext} = x_e$ where $x_e(a) = 1$, $x_e(b) = -1$ and $x_e(c) = 0$ for all $c \neq a,b$. Since $x_e \perp \textbf{1}$, we know that a solution for $p$ exists and can be given by $p = L^{\dag}x_e$ where $L^{\dag}$ denotes the psuedo-inverse of $L$. Therefore, potential difference between $a$ and $b$ is $p(a) - p(b) = x_e^T p = x_e^T L^{\dag} x_e$ and so $R_{\text{eff}}(e) = p(a)-p(b) = x_e^T L^{\dag} x_e$

It turns out that:
$$\mathbb{P}[e \in T] = R_{\text{eff}}(e)$$

Given these values $\mathbb{P}(e \in T)$, we can use them to sample a random spanning tree as follows~\cite{GUENOCHE1983214}:

% \begin{algorithm}[H]
% \SetAlgoLined
% $T = \{\}$, $G_0 = G$ \\
% Let $e_1, \ldots, e_m$ be some ordering on the edges \\
% \For{$i\gets1$ \KwTo $m$}{
%     Let $p$ be the probability that $e_i$ is in a random spanning tree of $G_{i-1}$ \\
%     Flip a biased coin whose chance of heads is $p$ \\
%     \eIf{heads}{
%         $T = T \cup \{e_i\}$ \\
%         % $G_i = G_{i-1} / \{e_i\}$
%         $G_i = \bigslant{G_{i-1}}{\{e_i\}}$
%     }{
%         $G_i = G_{i-1} \setminus \{e_i\}$
%     }
% }
% Return $T$
% \caption{Sampling a uniformly random spanning tree}
% \end{algorithm}

\begin{algorithm}[H]
\SetAlgoLined
$T = \{\}$ \\
\For{$e \in E$}{
    Let $p$ be the probability that $e$ is in a random spanning tree of $G$ \\
    Flip a biased coin whose chance of heads is $p$ \\
    \eIf{heads}{
        $T = T \cup \{e\}$ \\
        % $G_i = G_{i-1} / \{e_i\}$
        $G = \bigslant{G}{\{e\}}$ (contract $e$)
    }{
        $G = G \setminus \{e\}$ (delete $e$)
    }
}
Return $T$
\caption{Sampling a uniformly random spanning tree}
\end{algorithm}

\medskip

But directly calculating these probabilities require enumerating all spanning trees (hard), whereas computing $R_{\text{eff}}(e)$ only involves multiplying vectors (easy).

The proof we discuss here is from ~\cite{appralgo}. In what follows, we shall assume that the graph is connected (if the graph is not connected then no spanning tree exists).

% % --------------------
\section{Matrix Tree Theorem}
% % --------------------

Matrix Tree Theorem~\cite{godsil2001algebraic} counts the number of spanning trees of $G$ in terms of the Laplacian of the graph. That is, let $0 < \lambda_1 \leq \cdots \lambda_n$ be the eigen values of $L$, then
$$\# \text{spanning trees of } G = \frac1n \lambda_1 \ldots \lambda_n$$

We define $$\bar{L} = L + \frac1n J$$
$\bar{L} \textbf{1} = \textbf{1}$ and for any other eigenvector $v$ (of $L$) of non-zero eigenvalue, since $v \perp \textbf{1}$, $v$ is also an eigenvector of $\bar{L}$ with same eigenvalue. Hence $\{1, \lambda_1, \ldots, \lambda_n\}$ are the eigenvalues of $\bar{L}$ and so we can re-state the Matrix Tree Theorem as:
$$\# \text{spanning trees of } G = \frac1n \det(\bar{L})$$

% % --------------------
\section{Main Result}
% % --------------------

\begin{lemma}
Given a positive-definite symmetric matrix $M \in \mathbb{R}^{n \times n}$ and $x \in \mathbb{R}^n$
$$\det(M + x x^T) = \det(M) (1 + x^T M^{-1} x)$$
\end{lemma}

\begin{proof}
Since $M$ is positive-definite symmetric, there exists a unique positive-definite symmetric matrix $M^{1/2}$ such that $(M^{1/2})^2 = M$
\begin{align*}
    \det(M + x x^T) &= \det \left(M^{1/2} (I + M^{-1/2} x x^T M^{-1/2}) M^{1/2} \right) \\
    &= \det(M) \det(I + M^{-1/2} x x^T M^{-1/2}) \\
    &= \det(M) \det(I + yy^T) \\
\end{align*}
where $y = M^{-1/2} x$. Notice that solutions of $y^Tv = 0$ gives $n-1$ eigenvectors of $I + yy^T$ with eigenvalue $1$ and from trace computation we get the last eigenvalue is $1 + y^Ty$. Hence $\det(I + yy^T) = 1 + y^Ty = 1 + x^T M^{-1} x$ and we are done.
\end{proof}

Since $G$ is connected, $\bar{L}$ is a positive definite symmetric matrix and $\det(\bar{L}) > 0$. We also note that Laplacian of $G - \{e\}$ is simply $L - x_e x_e^T$. Therefore, $\# \text{spanning trees of } G$ not containing $e = \# \text{spanning trees of } G \setminus \{e\} = \frac1n \det(\bar{L} - x_e x_e^T)$.  Finally we have,

\begin{align*}
    \mathbb{P}[e \in T] &= 1 - \mathbb{P}[e \not \in T] \\
    &= 1 - \frac{\det(\bar{L} - x_e x_e^T)}{\det(\bar{L})} \\
    &= 1 - \frac{\det(\bar{L}) (1 - x_e^T \bar{L}^{-1} x_e)}{\det(\bar{L})} \\
    &= x_e^T \bar{L}^{-1} x_e \\
    &= x_e^T L^{\dag} x_e
\end{align*}
as $L = \bar{L}$ when restricted to the subspace perpendicular to $\textbf{1}$. Thus, $\mathbb{P}[e \in T] = x_e^T L^{\dag} x_e = R_{\text{eff}}(e)$ \qed

% % --------------------
\section{Further Extensions}
% % --------------------

We can further extend this result by asking the probability of $F \subseteq T$ where $F$ is any subset of edges. In this case~\cite{burton1993} showed that $\mathbb{P}[F \subseteq T] = \det(Y_F)$ where $Y$ is a $E \times E$ matrix such that $Y(e,f) = x_e^T L^{\dag}x_f$. This can be easily proved by inducting on size of $F$ and using Cauchy-Binet formula (note that the base case $|F|=1$ is what we have proved above).

When $G$ is weighted undirected graph, in which case resistance of each edge is inverse of it's weight then we have $\mathbb{P}[e \in T] = w(e)R_{\text{eff}}(e)$ where $T$ is sampled with probability proportional to $\prod_{e \in T} w(e)$. The proof is similar with the modification that we work with the weighted Laplacian and use Matrix Tree theorem for weighted graphs.

\printbibliography

\end{document}


\chapter{Review of terms and existing solutions}

\startrelatedwork

For now the automation of different problems like community search in social networks is very relevant and progress from day to day. There are different methods for finding communities in the whole network \cite{Newman04, Newman06, Fortunato10, Cui13} and also for finding a dense community containing all selected vertices in the network \cite{Faloutsos06, Wiener15, Huang15, Barbieri15}. There are even algorithms for splitting selected vertices into several communities \cite{Akoglu13} (DOT2DOT algorithm). However, almost all of these algorithms don't support noise in the query and find non-optimal subgraphs on such queries. Precisely this problem we are going to solve in this work, suggesting the new algorithm that will effectively find the needed subgraph even if there is some noise in the query.

\section{Terms and definitions}

\subsection{Graph terms}

In this chapter we will write down all non-common terms and definitions that may be helpful for the further reading.

Under \textbf{$N_G(v)$} we will understand the set of the neighbors of vertex $v$ in graph $G$, i.e. the set of the vertices that are directly connected to $v$ by edge: $N_G(v) = \{u | (v, u) \in E(G)\}$. If graph $G$ can be obviously recognized from the context, we can write just $N(v)$.

\textbf{$G[V]$} is called \textbf{originated subgraph} of the graph $G$ by the set of vertices $V$ if $G[V] := (V, E[G, V])$, where $E[G, V]$~--- the subset of the set of edges of $G$, both ends of which are contained in $V$, i.e. $E[G, V] = E(G) \cap (V \times V)$.

\textbf{k-truss} of the graph $G$ is the subgraph $G' \subseteq G$ containing the maximal possible number of vertices, such that for each edge $(v, u)$ the number of vertices $w$, such that edges $(w, v)$ and $(w, u)$ exists in $G'$ is at least $k$. In other words, $k-truss$ is the maximal by size subgraph $G'$, for each of which edge $(v, u)$, the $|N_{G'}(v) \cap N_{G'}(u)| >= k$ is true.

\textbf{k-core} of the graph $G$ is called the maximal by the number of vertices subgraph $G' \subseteq G$, so that the degree of each of its vertices is at least $k$. For the fixed $k$, by $C_k$ we will denote \textit{$k$-core}, namely the set of the connected components of which it consists. So, $C_k = \{H_i\}$, where $H_i$ is the $i$-th connected component, where the degree of each vertex is at least $k$. The number $k$ we will call the \textbf{order} of \textit{k-core}.

By \boldmath$\mu(G)$\unboldmath we will denote the minimal degree of the vertices $G$, i.e. $\mu(G) = \min_{v \in V(G)} deg(v)$.

\textbf{Core decomposition} is the set of \textit{k-core} for all possible $k$: $C = \{C_k\}_{k=1}^{k=k^*}$. We also need to clarify that from the definition of the \textit{k-core} you can see that $C_1 \supseteq C_2 \supseteq C_3 \ldots \supseteq C_{k^*}$ (where $k^*$ is the maximal possible $k$ in core decomposition).

\textbf{Сore index} for the vertex $v$ is called the minimal by the size \textit{k-core} which includes $v$, i.e. \textit{k-core} with the maximal $k$: $c(v) = \max(k \in [0..k^*] | v \in C_k)$.

\textbf{$\gamma$-quasi-clique} of the graph $G$ is called any such subgraph $G' \subseteq G$ that it is <<dense enough>>, i.e. $\frac{2 \cdot |E(G')|}{|V(G')| \cdot (|V(G')| - 1)} \ge \gamma$.

\subsection{Social networks}

\textbf{The community} or \textbf{The community in social network} is called the set of vertices of the social network $G$, where all vertices are united by some property or attribute. For example, <<the community of rock lovers>> or <<the community of Apple shareholders>>.

\textbf{The social clique} or \textbf{clique} we will call the set of people in social network, where everyone "knows" (i.e. is connected by edge) each other, in other words when between any pair of distinct people there is an edge in social network.

\textbf{Social pseudoclique} or \textbf{pseudoclique} we will call the set of people, where it is not required that each pair of distinct people is connected by edge, but this set is still densely connected. The estimation, how dense the pseudoclique is connected depends on the type of the pseudoclique and will be discussed later in the work, but in all definitions the biggest role plays the number of edges in subgraph in comparison with the number of pairs of vertices ($\frac{2 \cdot |E(G)|}{|V(G)| \cdot (|V(G)| - 1)}$).

\textbf{Free-rider effect} is called the effect, appearing during the obtaining the answer for the given problem (finding the dense community in social network), when the final or intermediate answer contains unnecessary subgraphs~--- subgraphs which can be deleted without violation the optimality of the answer. Thereby, we can make the answer smaller which is one of ours main goals.

\subsection{Useful abbreviations}

\textbf{RW}~--- Random Walks. The main idea of this method is based on moving from one vertex to the neighbor one with probability proportional to the edge weight.

\textbf{RWR}~--- Random Walks with Restarts. The idea is similar to the RW, but in this case the probability to move to the initial vertex (from which we've started) from the current one exists as well.

\textbf{Smart-ST}~--- Smart Spanning Trees. The heuristic for Steiner Tree problem, which is used in Gionis et al. article \cite{Gionis15}.

\textbf{CSP}~--- Community Search Problem. This is the problem for finding the community in the social network which contains all the selected vertices.

\textbf{NCSP}~--- Noising Community Search Problem. This is the problem for finding the community in the social network which contains most of the selected vertices, but not necessary all (not including the noise).

\section{Overview}

The problem that we're analyzing in the work is formulated as follows: given a graph $G$ and a set of selected vertices $Q \subset V(G)$, the goal is to solve community search problem~--- to find the community which contains most of the vertices from $Q$, but not necessary all of them. Sometimes we will call vertices from $Q$ <<query vertices>>, <<query>> or <<vertices from query>>.

\subsection{Initial solutions}

\begin{enumerate}
  \item The community search problem by the given selected vertices is researched during a long time. Even in 2004 Faloutsos et al. \cite{Faloutsos04} suggested the algorithms for finding the dense community by $2$ selected vertices in network ($|Q| = 2$). The algorithm shows that metrics like <<the shortest path>> and <<max flow>> between two given vertices are not optimal. Instead of them, the initial graph is considered as the electric network and <<the current delivered between vertices>> metric is used~--- setting voltage \texttt{+1} on the first vertex-query and \texttt{0} on the second one, we find subgraph which delivers the maximal current between vertices from query. The provided metrics works only for $|Q| = 2$, but this algorithm was the foundation in research of the community search problem. After that many authors were working on optimization for this article and were quite successful.

  \item Authors of the second article that was taken for consideration \textbf{Faloutsos06} suggest the metric function based on \textit{random walks with restarts} (RWR) used on the weighted graph. They consider $r(i, j)$~--- the probability that starting in vertex $i$-th query vertex $q_i$ we will end in vertex $j$ using RWR, where on each step we move to the neighbor by edge vertex with probability proportional the edge weight. Also we introduce $r(Q, j)$ which is equal to the sum of $r(i, j)$ for each query vertices: $r(Q, j) = \sum_{i = 1}^{i = |Q|}\; r(i, j)$. The dense metric is considered as $g(H) = \sum_{j \in H}\; r(Q, j)$. This method has shown quite good results compared to the previous article, because expanded the number of query vertices from $2$ to any number from $2$ to $|V(G)|$. Also, it introduced new ability of finding the subgraph containing not all vertices, but at least $k$ of them ($k$ is a parameter which is given as input). This operation was called $K\_softAND$ and was successfully implemented in the article. Further algorithms were expanding this idea, were applying other metrics and improved the results of this algorithm, but the problem of finding the community containing not necessary all query vertices, but only a part of them (our problem), almost wasn't optimized.

  \item Authors of the third article \cite{Wiener15} suggest to use \textit{Wiener index} as the metric for subgraph density. This metric is equal to the pairwise sum of the shortest distances between vertices from the query. Authors are trying to solve the issue of obtaining too large graph as the result of processing the query if query vertices are placed in several communities and are weakly connected between each other. To solve this issue, authors suggest to add some <<important vertices>> to the query which will connect communities, even if not very dense. Results has shown that this method works several times better than previous methods \cite{Faloutsos06, Sozio10} and almost the same as the methods that based on \textit{Steiner tree problem}. Unfortunately, the article doesn't consider more late methods based on \textit{Steiner tree problem} which significantly improved the old results, which make this method less priority comparing to them.

\end{enumerate}

\subsection{Finding optimal pseudocliques}

The most part of all algorithms for solving the described problem are the algorithms based on the finding optimal pseudocliques with some additional heuristics. There are a lot of different pseudocliques the were considered in different articles: for example, \textit{k-core} \cite{Barbieri15}, \textit{k-truss} \cite{Huang15}, \textit{$\gamma$-quasi-clique} \cite{Zhu11} or just algorithms that maximizes the edge density in the resulting subgraph \cite{Wu15} which is almost a definition of a pseudoclique. For each of these pseudocliques the algorithms are evolving and becoming better, optimizing the previous results using new heuristics. Comparing the results of the algorithms that use different pseudocliques is quite hard and unlikely will give visible results because of the difference of the metrics that are being optimized~--- the result strongly depend on the initial graph and the queries on it. In some cases one pseudoclique will obtain results better than others, but in other cases it will work worse, so actually it's worth to compare some common performance metrics, but unfortunately it doesn't give us the whole understanding of the optimality or non-optimality of the algorithms.

Let's consider several newest algorithms for the most popular pseudocliques:

\begin{enumerate}
  \item X. Huang et al. \cite{Huang15} choose \textit{k-truss} pseudoclique. However, just finding the optimal \textit{k-truss} (i.e. \textit{k-truss} with the maximal $k$ containing all query vertices in it) is not an optimal solution, and also it is an already solved problem (even with polynomial solution). That's why the authors of the article suggest to find \textit{k-truss} with maximal $k$ and minimal subgraph diameter, which, as they show in their article, is a NP-hard problem. However, this idea pretends to show good results, so authors made a research trying to understand how close the answer found by polynomial time may be to the theoretically optimal answer. It turned out that this problem couldn't be solved with accuracy better than in $(2 - \varepsilon)$ times worse for each $\varepsilon > 0$ (under the accuracy we understand the length of the diameter in the final answer). However, authors suggested the heuristic algorithm which in the worst case makes exactly $2$ times error, which shows that their algorithm is optimal for the provided problem. The algorithm is based on building the supposed maximal $\textit{k-truss}$ with the followed iterative deleting vertices which doesn't make the answer worse and make the diameter smaller. The results obtained in this article are really good comparing to the previous articles \cite{Sozio10, Wu15}, however, even despite of proved optimality for the provided algorithm, it is not optimal for the initial problem (finding the dense subgraph by the given query vertices), because authors found the optimal solution only for the problem provided \textit{by themselves}.

  \item N. Barbieri et al. \cite{Barbieri15} is using \textit{k-core} pseudoclique. However, even here simple finding the optimal \textit{k-core} (i.e. \textit{k-core} with maximal $k$ which contains all query vertices in it) is not an optimal solution, and also this problem is already solved by polynomial time \cite{Sozio10}. That's why the authors of the article apply some heuristics targeted for minimizing the size of the resulting subgraph without loosing its optimality. These heuristics allow to reduce the problem to finding the answer in component $H^* \subset G$, and besides it is guaranteed that all possible optimal answers for the initial problem are lying in $H^*$. After that authors bring some heuristics for minimizing the obtained subgraph $H^*$. The main statement described by the authors is not new, but it looks quite interesting for the further researches because it adds more information to the initial problem without loosing any solutions. The results of this article shows that provided method really works better and faster than previous ones \cite{Sozio10, Cui14}. Based on all the above information, it was decided to take this article as the baseline and try to improve it, especially to expand it to our problem (finding the community containing not necessary all selected vertices).
\end{enumerate}

\subsection{Other methods}

As we already saw earlier, optimizing functions may be quite different. In the previous part we were considering pseudocliques, and here we're going to consider several other popular optimizing functions.

\begin{enumerate}
  \item L. Akoglu et al. \cite{Akoglu13} slightly change the initial problem~--- they try to find subgraph that unites not all the vertices in the query, but their groups. Actually the idea is based on splitting the query into groups and building the answer for each of the groups separately, so that in each groups the vertices are densely connects and are united by some common property. But between each other the groups may be connected not very densely. This corresponds to the splitting the query into several communities. The results of the article has shown that this method solves the problem provided by authors quite good, but however as we said before, this problem differs from ours and it's hard to compare it's results with ours. However, we still are going to compare this solution with ours, because this solution supports finding community not for all selected vertices.

  \item A. Gionis et al. \cite{Gionis15} in their article consider \textit{linear local discrepancy} metric which is equal to the weighted difference of the number of query vertices in the resulting subgraph and the number of remaining vertices. More formally, $g(C) = \alpha p_C - n_C$, where $p_C = |Q \cap V(C)|$ and $n_C = |V(C) \setminus Q|$. The algorithm that maximized this function based on the \textit{Steiner tree problem} and \textit{Smart-ST}s. The distinguishing feature of this algorithm is the ability of solving the problem using \textit{local access model}, i.e. the model where we don't know the whole graph (or it is too big to save it in RAM), and API allows us only to make queries for accessing all vertex neighbors~--- $get-neighbors$ method. This model allows to solve the problem optimally even on very big social networks, such as \textit{Twitter} or \textit{Facebook}. Based on the definition, the resulting subgraph may not contain all vertices from query, which coincides with our research. Unfortunately, the provided metric doesn't fit our problem very good~--- it doesn't take into consideration edge density of the resulting subgraph, it looks only the ratio of the vertices. Also it's possible that the answer will contain too few vertices from the initial query~--- it also doesn't work for us.
\end{enumerate}

\section{Final requirements for our work}

Let's sum up everything described above. Most of the current solutions solves CSP quite optimal~--- each of the solutions uses it's own metric and obtains quite good results. However, as we can see, solutions for NCSP (which includes noise into consideration) are quite rare, despite it is more useful problem in real life. We've noted consideration of NCSP problem in articles C. Faloutsos \& H. Tong \textbf{[3]} and A. Gionis et al. \cite{Gionis15}, however the last problem is not based on solving NCSP (but solves it at the same time). So, the goal of our article will be to build the algorithm that focuses on NCSP solving and obtains better results than the current ones. Here are some requirements for our algorithm:

\begin{itemize}
    \item The algorithm should obtain better results than the current ones \cite{Faloutsos06, Gionis15, Barbieri15};
    \item The algorithm should be quite optimal, ideally not loosing the competition with other algorithms in terms of working time;
    \item It would be an advantage to support backwards compatibility~--- if the user wants to find subgraph that contains \textit{all} query vertices, it should be possible to be done.
\end{itemize}