research

Algorithms for determining integer complexity

Abstract

We present three algorithms to compute the complexity n\Vert n\Vert of all natural numbers nN n\le N. The first of them is a brute force algorithm, computing all these complexities in time O(N2)O(N^2) and space O(Nlog2N)O(N\log^2 N). The main problem of this algorithm is the time needed for the computation. In 2008 there appeared three independent solutions to this problem: V. V. Srinivas and B. R. Shankar [11], M. N. Fuller [7], and J. Arias de Reyna and J. van de Lune [3]. All three are very similar. Only [11] gives an estimation of the performance of its algorithm, proving that the algorithm computes the complexities in time O(N1+β)O(N^{1+\beta}), where 1+β=log3/log21.5849631+\beta =\log3/\log2\approx1.584963. The other two algorithms, presented in [7] and [3], were very similar but both superior to the one in [11]. In Section 2 we present a version of these algorithms and in Section 4 it is shown that they run in time O(Nα)O(N^\alpha) and space O(NloglogN)O(N\log\log N). (Here α=1.230175\alpha = 1.230175). In Section 2 we present the algorithm of [7] and [3]. The main advantage of this algorithm with respect to that in [11] is the definition of kMax in Section 2.7. This explains the difference in performance from O(N1+β)O(N^{1+\beta}) to O(Nα)O(N^\alpha). In Section 3 we present a detailed description a space-improved algorithm of Fuller and in Section 5 we prove that it runs in time O(Nα)O(N^\alpha) and space O(N(1+β)/2loglogN)O(N^{(1+\beta)/2}\log\log N), where α=1.230175\alpha=1.230175 and (1+β)/20.792481(1+\beta)/2\approx0.792481.Comment: 21 pages. v2: We improved the computations to get a better bound for $\alpha

    Similar works

    Full text

    thumbnail-image

    Available Versions