1. On algorithms to calculate integer complexity
- Author
-
Cordwell, Katherine, Epstein, Alyssa, Hemmady, Anand, Miller, Steven J., Palsson, Eyvindur A., Sharma, Aaditya, Steinerberger, Stefan, and Vu, Yen Nhi Truong
- Subjects
Mathematics - Number Theory ,11Y55, 11Y16 (primary), 11B75, 11A67, 68Q25 (secondary) - Abstract
We consider a problem first proposed by Mahler and Popken in 1953 and later developed by Coppersmith, Erd\H{o}s, Guy, Isbell, Selfridge, and others. Let $f(n)$ be the complexity of $n \in \mathbb{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, $*$'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 2014. This algorithm makes use of a recursive definition given by Guy and iterates through products, $f(d) + f\left(\frac{n}{d}\right)$, 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 algorithm 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: https://github.com/kcordwel/Integer-Complexity., Comment: 8 pages; more details were added for the complexity analysis and a link added to the code on GitHub; minor typos corrected
- Published
- 2017