Conversion of black-box group algorithm dependent on generating set to black-box group algorithm

Definition
This is a process that:


 * Takes as input a black-box group algorithm $$\mathcal{A}(G,S)$$ for achieving anything given an encoding of a group $$G$$ and a generating set $$S$$ for the group.
 * Outputs a black-box group algorithm for achieving the same goal given an encoding of a group but without being given a generating set.

The process is as follows:


 * 1) The output algorithm first uses the black-box group algorithm for generating set-finding problem to find a generating set $$S$$ of minimum size for $$G$$.
 * 2) Then, it applies the algorithm $$\mathcal{A}(G,S)$$.

In the language of complexity theory, this is a deterministic polynomial-time many-one reduction (is it?).

Related conversions

 * Conversion of black-box group algorithm dependent on generating set to nondeterministic black-box group algorithm is the nondeterministic version.

Analysis of running time
The running time of the output algorithm is given by:

Running time of input algorithm + $$O(N\ell^2) \times$$ (time taken for doing the group operations)

where $$N$$ is the order of $$G$$ and $$\ell$$ is the max-length for $$G$$. In the worst case, since minimum size of generating set is bounded by sum of exponents of prime divisors of order, we obtain that $$\ell$$ is bounded by $$\log_2N$$, so the running time of the output algorithm is bounded by:

Running time of input algorithm + $$O(N\log_2^2N) \times$$ (time taken for doing the group operations)

Further, since finding the generating set is a one-time process for a given group $$G$$, it is most useful if the algorithm $$\mathcal{A}$$ needs to be run repeatedly (say, for different additional inputs).