Algorithmic complexity of testing whether a permutation belongs to a subgroup generated by a set of permutations

42 Views Asked by At

Let $S=\{S_1,S_2,S_3,\ldots,S_m\}$ be a set of permutations on $n$ symbols (in other words $S$ is a subset of a symmetric group on $n$ symbols) and $P$ be a permutation on $n$ symbols. What is the most efficient known algorithm for testing whether $P$ is in the subgroup generated by $S$ ? Computing the subgroup and testing membership is extremely inefficient. Is there a better way ?

PS: I was just playing around with Rubik's cube and that made me interested in abstract algebra and computational complexity a bit more. Unfortunately I have a very limited background in the subject (I am just a software engineer - not a CS theorist/mathematician)