\documentclass[11pt]{article}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{algorithmic}
\usepackage{algorithm}
\newcommand{\handout}[5]{
\noindent
\begin{center}
\framebox{
\vbox{
\hbox to 5.78in { {\bf Algebra and Computation } \hfill Course Instructor: #2 }
\vspace{4mm}
\hbox to 5.78in { {\Large \hfill #5 \hfill} }
\vspace{2mm}
\hbox to 5.78in { {\em #3 \hfill #4} }
}
}
\end{center}
\vspace*{4mm}
}
\newcommand{\lecture}[4]{\handout{#1}{#2}{Lecturer: #3}{Scribe: #4}{Lecture #1}}
\newtheorem{theorem}{Theorem}
\newtheorem{theorem*}{Theorem}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{observation}[theorem]{Observation}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{fact}[theorem]{Fact}
\newtheorem{subclaim}[theorem]{Subclaim}
% my custom commands
\newcommand{\inparen}[1]{\left(#1\right)} %\inparen{x+y} is (x+y)
\newcommand{\inbrace}[1]{\left\{#1\right\}} %\inbrace{x+y} is {x+y}
\newcommand{\insquar}[1]{\left[#1\right]} %\insquar{x+y} is [x+y]
\newcommand{\inangle}[1]{\left\langle#1\right\rangle} %\inangle{A} is
\newcommand{\abs}[1]{\left|#1\right|} %\abs{x} is |x|
\newcommand{\norm}[1]{\left\Vert#1\right\Vert} %\norm{x} is ||x||
\newcommand{\union}{\cup}
\newcommand{\Union}{\bigcup}
\newcommand{\intersection}{\cap}
\newcommand{\super}[2]{#1^{\inparen{#2}}} %\super{G}{i-1} is G^{(i-1)}
\newcommand{\setdef}[2]{\inbrace{{#1}\ : \ {#2}}}
\newcommand{\inv}[1]{#1^{-1}}
% Commands specific to this file
% TODO: Find the right way to typeset group index
\DeclareMathOperator{\Sym}{Sym}
\newcommand{\gpidx}[2]{\insquar{#1 : #2}} %\gpidx{H}{K} is [H : K]
\newcommand{\gpigs}[2]{\gpidx{\super{G}{#1}}{\super{G}{#2}}} %Group index of g super ...
\newcommand{\llhd}{\!\!\lhd\!\!\lhd}
% \newcommand{\ceil}[1]{\lceil #1 \rceil}
\newcommand{\floor}[1]{\lfloor #1 \rfloor}
% \newcommand{\f}{\mathbb{F}}
% \newcommand{\R}{\mathbb{R}}
%for algorithms
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\begin{document}
\lecture{8,9: General Bounded Degree {\sc graph-iso}}{V. Arvind}{V.
Arvind}{Ramprasad Saptharishi}
\section{Recap}
In the last few classes, we saw that we could reduce trivalent graph
isomorphism to {\sc set-stab} for $2$-groups. The algorithm is
identical to a more general problem, which could be used to solve {\sc
graph-iso} with degree of each vertex bounded by a constant $d$.
The idea is more or less the same, we have two graphs with max degree
bounded by a constant $d$. We shall, in polynomial time, reduce this
problem to a restricted {\sc set-stab} problem that could be solved in
polynomial time.
\section{Generalization to $(\leq d)$-degree graphs}
Given two graphs $X_1$ and $X_2$ with the additional promise that the
max degree in both of them is bounded by a constant $d$.
Just as in the trivalent case, add a new bridge between two edges of
the graph. Then problem the reduces to finding the automorphism group
of the graph that fixes this distinguished edge $e$. Let $X_i$ be the
subgraph consisting of edges that are reachable by paths of length
atmost $i$ through $e$. As before, any $e$-automorphism must preserve
these layers and hence we have a natural map $\pi_i:Aut_e(X_{i+1})
\longrightarrow Aut_e(X_i)$. Using these maps, we are going to find a
generating set for $Aut_e(X_n) = Aut_e(X).$
The claim is that the groups in discussion are special, all their
composition factors are $\leq d.$ We shall prove this by induction
just as in the trivalent case (where each of the factors were atmost
$2$, thus giving us a $2$-group).
\subsection{$\ker{\pi_i}$ has small factors}
The kernel is the set of $e$-automorphisms of $X_{i+1}$ that fix
$X_i$. And since the degree is bounded by $d$, every vertex in $X_i$
can reach out to atmost $d$ vertices in $X_{i+1}$, and all
automorphisms in the kernel can only permute the vertices with common
parents.
Let $A$ be the set of subsets of $V(X_i)$ of size atmost $d$. Then we
have the neighbourhood map $\Gamma:V(X_{i+1})\setminus
V(X_i)\longrightarrow A$ such that $\Gamma(u) = a$ if $a$ is the set
of neighbours of $u$. Note that $\inbrace{\Gamma^{-1}(a)}$ partitions
the vertices in $X_{i+1}\setminus X_i$ and $|\Gamma^{-1}(a)| \leq d$.
Thus clearly, $\ker{\pi_i} = \bigotimes
\Sym\inparen{\Gamma^{-1}(a)}$ and thus has composition factors atmost
$d$.\\
This hence proves the claim that each of the automorphism has small
factors. The above argument also yields a generating set for the
kernel. Once we have a generating set for the image as well, we can
construct the automorphism group of $X_{i+1}$ from $X_i$.
\subsection{Image of $\pi_i$ reduces to restricted {\sc set-stab}}
Similar to the trivalent case, the image is just the set of all
automorphisms that stabilize the following sets. \medskip
\noindent
Edges within $X_i$:
$$
A' = \inbrace{\text{$2$-subsets of $A$ that are new edges inside $X_i$}}
$$
Parent with same number of siblings:
$$
A_s = \setdef{a\in A}{|\Gamma^{-1}(a)| = s}\qquad 1\leq s\leq d
$$
\begin{claim}
The image is precisely the subgroup of automorphisms of $Aut_e(X_i)$
that stabilize each of the $A_s$ and $A'.$
\end{claim}
The proof is identical to the trivalent case, we shall hence skip it.
\section{The restricted {\sc set-stab}}
Given a group $G = \inangle{A} \leq \Sym(\Omega)$ and $\Delta
\subseteq \Omega.$ We are interested in finding $G_\Delta =
\setdef{g\in G}{\Delta^g = \Delta}.$
We do not hope to solve the general problem in polynomial
time. However, a restricted version where $G$ is a group with small
compositional factors can be done efficiently. Divide-and-conquer is
the method adopted in the algorithm.
\begin{definition}
A finite group $G \in \mathcal{B}_d$ if every composition factor is
isomorphic to a subgroup of $S_d.$
\end{definition}
From the earlier sections, we saw that $Aut_e(X)\in \mathcal{B}_d$ if
the degree of $X$ is bounded by $d.$ Hence, we need to solve the {\sc
set-stab} problem for groups in $\mathcal{B}_d.$
Firstly, if $\Omega_1, \Omega_2, \cdots, \Omega_m$ are the $G$ orbits
then it is equivalent compute the stabilizer of $\Omega_i\cap \Delta$
for all $i$. Thus, we can assume that $G$ acts transitively on
$\Omega$. \medskip
How do we further divide? Consider the block structure! Recall that
blocks $(\Delta)$ are subsets of $\Omega$ such that they move as a
whole $(\Delta^g \cap \Delta \neq \phi \Rightarrow \Delta =
\Delta^g).$ A block system naturally induces a tree structure on
$\Omega$. We shall call this the structure forest of $G.$ And since
we've already broken down $\Omega$ into $G$-orbits, we infact have
just a structure tree. \bigskip
{\em picture might be useful}
\bigskip
Each node is labelled by a block, that is the union of its
children. The leaves are the trivial singleton blocks.
Now consider the top-most level, the root is labelled by $\Omega$,
which is the union of its children say $\Gamma_1, \cdots, \Gamma_m.$
Now, considering each $\Gamma_i$ as a point, $G$'s action on them is
primitive (there are no non-trivial blocks). The kernel of this action
is the group $H = \setdef{g\in G}{\Gamma_i^g = \Gamma_i\quad \forall i}.$
Let $G = \bigcup_{i=1}^r H\tau_i$, then $G_\Delta = \bigcup
(H\tau_i)_\Delta$. But in order to talk about a stabilizer in a coset,
we need to generalize the stabilizer problem.
\subsection{Generalized {\sc set-stab}}
One could think of $\Delta$ as a $2$-colouring of the set $\Omega.$
Thus a natural generalization would be the following. \medskip
Given a colouring $C$ of $\Omega$, we wish to find $$G_C = \setdef{g\in
G}{a^g\text{ has the same colour as }a\quad \forall a\in \Omega}$$
Let us extend this a little further to capture the coset structure as
well.
Given a coloured $\Omega$ , $G\leq \Sym(\Omega)$ , $\sigma\in
\Sym(\Omega)$ and $\Omega' \subseteq \Omega$ that is
$G$-stable\footnote{stable under action of $G$, union of orbits}, we
wish to find
$$
stab(\Omega', G\sigma) = \setdef{g\in G\sigma}{\omega^g\sim
\omega\quad \forall \omega \in \Omega'}
$$
Then we have the following easy claim, the proof is left to the reader
(simple though)
\begin{claim}
$stab(\Omega',G\sigma)$ is a right coset of $stab(\Omega',G).$
\end{claim}
We can hence ask the following question: Given $G = \inangle{A} \leq
\Sym(\Omega)$ that is coloured and a $\Omega'$ that is a $G$-stable
set and a $\sigma \in \Sym(\Omega)$. How do we compute $stab(\Omega',
G\sigma)$?
With this generalization, we can do the divide and conquer.
\section{The Divide and Conquer}
Given a group $G \in \mathcal{B}_d$, we want to solve the stabilizer
problem. The first step is to break $\Omega$ into orbits and work on
each of them separately. Once we do that, we look at the block
structure of $G$ and at the topmost level.
We have a single tree, with $\Omega$ at the root with $\Gamma_1,
\Gamma_2, \cdots, \Gamma_m$ as the primitive blocks on which $G$
acts. The kernel of this action is $H = \setdef{g\in G}{\Gamma_i^g =
\Gamma_i\quad \forall i}$. Let
$$
G\sigma = \bigcup_{i=1}^r H\tau_i\sigma
$$
Now all that we need to do is compute $stab(\delta\cap
\Gamma_i,H\tau_j\sigma)$ for all $i$ and $j$ and we have a recursive
algorithm. \bigskip
The catch here is that we need to know how many recursive calls to
make. It would be completely useless if $r$ (the index of $H$ in $G$)
was exponential; we need a decent bound on $r$. Fortunately, we do
have such a bound.
\begin{theorem}[Babai, Cameron, P\'{a}lfy]
If $G\leq S_n$ belongs to $\mathcal{B}_d$ and is primitive,
then $|G| \leq n^{cd}$ where $c$ is an absolute constant.
\end{theorem}
Thus, $r\leq m^{cd}$ and the algorithm would then go through. It can
be shown that we then have an $O(n^{d})$ algorithm for the restricted
{\sc set-stab}, and hence a $O(n^{d^2})$ algorithm for bounded degree
graph isomorphism.
\end{document}