Integer-Complexity

On algorithms to calculate integer complexity. We consider a problem first proposed by Mahler and Popken in 1953 and later developed by Coppersmith, Erdős, Guy, Isbell, Selfridge, and others. Let (f(n)) be the complexity of (ninmathbb{Z}^+), where (f(n)) is defined as the least number of 1’s needed to represent (n) in conjunction with an arbitrary number of (+)’s, (ast)’s, and parentheses. Several algorithms have been developed to calculate the complexity of all integers up to (n). Currently, the fastest known algorithm runs in time (mathcal{O}(n^{1.230175})) and was given by J. Arias de Reyna and J. van de Lune in a recursiv definition given by Guy and iterates through products, (f(d)+f( rac{n}{d})), for (d|n), and sums, (f(a)+f(n-a)), for (a) up to some function of (n). The rate-limiting factor is iterating through the sums. We discuss potential improvements to this algorithsm via a method that provides a strong uniform bound on the number of summands that must be calculated for almost all (n). We also develop code to run J. Arias de Reyna and J. van de Lune’s analysis in higher bases and thus reduce their runtime of (mathcal{O}(n^{1.230175})) to (mathcal{O}(n^{1.222911236})). All of our code can be found online at url{https://github.com/kcordwel/Integer-Complexity}.