Question on proof using an algorithm to find element in finite permutation group

42 Views Asked by At

I have a question about Theorem 4 of this paper, but I will give all the background so that it does not relies on the content of the paper. It has to do with computational complexity related to finite permutation groups. Let $G \le S_n$ be a permutation group, for some $i \in [n] := \{1,\ldots, n\}$ set $$ \mbox{move}(g) = |\{ i \in [n] : i^g \ne i \}|. $$

For reference, the following Lemma will be needed:

Lemma: Let $G\pi \subseteq S_n$ be a coset of a permutation group $G = \langle S \rangle \le S_n$, where $\pi \in S_n$. There is a deterministic algorithm that computes $$ \frac{1}{|G|} \sum_{g\in G} \mbox{move}(g\pi) $$ in time polynomial in $|S|$ and $n$.

My question concerns the proof of the following Theorem:

Theorem: There is a deterministic polynomial-time algorithm that takes as input a permutation group $G = \langle S \rangle \le S_n$ given by generating set $S$ and a permutation $\pi \in S_n$ and computes an element $g \in G$ such that $\mbox{move}(g\pi) \ge \frac{1}{|G|} \sum_{g\in G} \mbox{move}(g\pi)$.

Proof. By the above Lemma we can computer in polynomial time the following quantity: $$ \mu = \frac{1}{|G|} \sum_{g\in G} \mbox{move}(g\pi). $$ Now, we can write $G$ as a disjoint union of cosets $G = \bigcup_{i=1}^r G_1 g_i$, where $G_1$ is the subgroup of $G$ that fixes $1$ and $g_i$ are the coset representatives, where the number of cosets $r \le n$. Using Schreier-Sims algorithm we can computer all coset representatives $g_i$ and a generating set for $G_i$ from the input in polynomial time. Now, we can write the summation $\frac{1}{|G|} \sum_{g\in G} \mbox{move}(g\pi)$ as a sum over the cosets $G_1 g_i\pi$ of $G_1$: $$ \frac{1}{|G|} \sum_{g\in G} \mbox{move}(g\pi) = \frac{1}{|G|} \sum_{i=1}^r \sum_{g\in G_1} \mbox{move}(gg_i\pi). $$ For $1 \le i \le r$ let $$ \mu_i = \frac{1}{|G_1|} \sum_{g\in G_1} \mbox{move}(g g_i \pi). $$ Since $|G| / |G_1| = r$, it follows that $\mu = \frac{1}{r} \sum_{i=1}^r \mu_i$ is an average of the $\mu_i$. Let $\mu_t$ denote $\max_{1\le i\le r} \mu_i$. Clearly, $\mu\le\mu_t$,and therefore there is some $g \in G_1 g_t \pi$ such that $\mbox{move}(g) \ge \mu_t \ge \mu$ and we can continue the search in the coset $G_1 g_t$ since we can compute all the $\mu_i$ in polymomial time by the Lemma. Continuing thus for $n-1$ steps, in polynomial time we will obtain a coset $G_{n-1}\tau$ containing a single element $\tau$ such that $\mbox{move}(\tau) \ge \mu$. This completes the proof. $\square$

What I do not understand is the part following:

therefore there is some $g \in G_1 g_t \pi$ such that $\mbox{move}(g) \ge \mu_t \ge \mu$

at this point we have already found our element we are looking for, or not? So why continuing "computing in the coset $G_1 g_t$"? Does he means some recursive procedure, or does he means starting again with $G_2$ instead of $G_1$, anyway, I do not know what he wants to compute as we have already found an element, which as far as I see fulfills everything?