Black-box group algorithm for small generating set-finding problem

Groups for which this gives a generating set of minimum size
A group with fixed size of minimal generating set is a group with the property that all its minimal generating sets have the same size. For a finite group with this property, the minimum size of generating set equals the size of any minimal generating set, and thus, any minimal generating set has minimum size. In particular, for such groups, the minimal generating set version of the algorithm outputs a generating set of minimum size.

Any group of prime power order is a group with fixed size of minimal generating set, and in fact the minimum size of generating set equals the dimension of the Frattini quotient as a vector space over the prime field. For more, see Burnside's basis theorem. Thus, the minimal generating set version of the algorithm here outputs a generating set of minimum size if the group is a group of prime power order.

Max-length version
The idea is as follows: we construct the generating set by adding one element at a time, and we keep proceeding until the subset generates the whole group. Denote by $$S_i$$ the set :

Every time we add an element, the subgroup generated becomes strictly bigger. In other words, the inclusions of subgroups:

$$\langle S_0 \rangle < \langle S_1 \rangle < \dots$$

are all strict inclusions as long as we are within the group. The length of this chain of subgroups is at most equal to the max-length of the group. Thus, the number of elements we need to add to get to the whole group is at most equal to the max-length of the whole group. Further, it is possible to make a series of choices of elements corresponding to a chain of subgroups of maximum length, so the max-length bound is a tight bound.

We now compute the running time. The running time at step $$i$$ is $$O(Ni)$$ times the time taken for group operations. The worst case total time is thus $$O(N(1 + 2 + \dots + \ell))$$ times the time for group operations, where $$\ell$$ denotes the max-length of the group. This is $$O(N\ell^2)$$ times the time taken for group operations.

Minimal generating set version
This is similar to the previous algorithm, with the following slight modification: at the end, we check for every element whether it can be removed from the generating set for the group we have obtained. This is done through a sequential traversal of the elements. This takes additional time of $$O(N\ell^2)$$ times the time for group operations, and does not affect the total time taken.

We could also remove redundant elements from the generating set while building the generating set. However, redundancy needs to be checked at the end again anyway, so this does not yield an improvement as far as the big-oh notation is concerned.