Let $A$ be a finite set of permutations on $\Bbb N$ with finite support. Is there a good efficient algorithm to obtain the subgroup $\left<A\right>$ of the symmetric group $\operatorname{Sym}(\Bbb N)$?
Asked
Active
Viewed 310 times
3
-
2What would the output of this algorithm be? – Jack Schmidt Apr 17 '14 at 22:07
-
1For example, I input "(1,2,3,4,5,6), (1,6,2)(4,7,8)" and the output is ... – Jack Schmidt Apr 17 '14 at 22:19
-
@JackSchmidt: $A={(1~2~3~4~5~6), (1~6~2)(4~7~8)}$ is a set (as input). $\left<A\right>$ is another set (to be the output). It may be too time-consuming to calculate. An effecient algorithm is a fastest way to find $\left< A\right>$. – Minimus Heximus Apr 18 '14 at 02:14
-
Then in standard terms, no, there is provably no efficient algorithm to do this. For input of length $n=k(\log(k)+1)+9$, the output is of length $C \cdot k!k\log(k)$ which is super-exponential in the input length. – Jack Schmidt Apr 18 '14 at 02:40
-
For example, the the 30 bytes of input "{(1 2 3 4 5 6 7 8 9 10),(1 2)}" produces over 75MB of output, while the 33 bytes of input "{(1 2 3 4 5 6 7 8 9 10 11),(1 2)}" produces over 945MB of output. – Jack Schmidt Apr 18 '14 at 11:21
-
I know it is a very heavy operation. I want to know the best algorithm (yet known) which uses all available resources of the computer (=RAM and CPU) to obtain $\left<A\right>$ in shortest time. – Minimus Heximus Apr 18 '14 at 11:36
-
2Did you also know that there are polynomial-time algorithms that answer very similar questions? At any rate, you could use these algorithms to setup an answer spewing machine in polynomial time (but the machine will take a long time to spew the result) http://dx.doi.org/10.1007/3-540-54955-2 -- free implementations are already available at www.gap-system.org – Jack Schmidt Apr 18 '14 at 11:45
-
Please see How do Gap generate the elements in permutation groups? – Olexandr Konovalov Apr 06 '16 at 19:50