TY - JOUR

T1 - The complexity of finding periods

AU - Sedgewick, Robert

AU - Szymanski, Thomas G.

N1 - Funding Information:
Suppose that we are given an arbitrary function f/which maps some finite domain D into D. If we take an arbitrary element z from D and generate the infinite sequence fo(,~), fl (z), f2(z), .... then we are guaranteed by the "pigeonhole principle" and the finiteness of D that the sequence becomes cyclic. That is, for some l and c we have l q--e distinct values ./°Cz),f'Cz),...,,ft+c-ICz ) but ft+c(z) -~ ft(z). This implies, in turn. that fi+c(z) = fi(z) for all i > l. The problem of finding this unique pair (l, c) will be termed the cycle problem for f and z. Tile integer c is the cycle length of the sequence, and l is termed the leader length. Similarly, tlie elements f~(z), ftWl(z),..., ft+c-I(z) are said to form the cycle of f on :~ and f°(z), ft(x),..., ft-I(x) are said to form the leader" of f on x. For notational * This work was supported in part by the National Science Foundation. grant number MCS75-23738.
Publisher Copyright:
© 1979 Association for Computing Machinery. All rights reserved.
Copyright:
Copyright 2018 Elsevier B.V., All rights reserved.

PY - 1979/4/30

Y1 - 1979/4/30

N2 - Given a function/over a finite domain D and an arbitrary starting point x, the sequence x f(x)t f[fix)) ? ? ? Is ultimately periodic Such sequences typically are used for constructiong 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(l-/-0(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/and comparing sequence elements for equality.

AB - Given a function/over a finite domain D and an arbitrary starting point x, the sequence x f(x)t f[fix)) ? ? ? Is ultimately periodic Such sequences typically are used for constructiong 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(l-/-0(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/and comparing sequence elements for equality.

UR - http://www.scopus.com/inward/record.url?scp=77950380194&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77950380194&partnerID=8YFLogxK

U2 - 10.1145/800135.804400

DO - 10.1145/800135.804400

M3 - Conference article

AN - SCOPUS:77950380194

SN - 0737-8017

SP - 74

EP - 80

JO - Proceedings of the Annual ACM Symposium on Theory of Computing

JF - Proceedings of the Annual ACM Symposium on Theory of Computing

T2 - 11th Annual ACM Symposium on Theory of Computing, STOC 1979

Y2 - 30 April 1979 through 2 May 1979

ER -