The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Is the data encryption standard a group?
Proc. of a workshop on the theory and application of cryptographic techniques on Advances in cryptology---EUROCRYPT '85
Lower bounds for the cycle detection problem
STOC '81 Proceedings of the thirteenth annual ACM symposium on Theory of computing
Biased tadpoles: a fast algorithm for centralizers in large matrix groups
Proceedings of the 2009 international symposium on Symbolic and algebraic computation
A low-memory algorithm for finding short product representations in finite groups
Designs, Codes and Cryptography
Hi-index | 0.00 |
Given a function f over a finite domain D and an arbitrary starting point x, the sequence x,f(x),f(f(x)),... is ultimately periodic. Such sequences typically are used for constructing random number generators. The cycle problem is to determine the first repeated element fn(x) in the sequence. Previous algorithms for this problem have required 3n operations. In this paper we present an algorithm which only requires n(1+O(1/(@@@@)M)) steps, if M memory cells are available to store values of the function. By increasing M, this running time can be made arbitrarily close to the information-theoretic lower bound on the running time of any algorithm for the cycle problem. Our treatment is novel in that we explicitly consider the performance of the algorithm as a function of the amount of memory available as well as the relative cost of evaluating f and comparing sequence elements for equality.