English

On algorithms to calculate integer complexity

Number Theory 2018-12-19 v4

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)f(n) be the complexity of nZ+n \in \mathbb{Z^{+}}, where f(n)f(n) is defined as the least number of 11's needed to represent nn 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 nn. Currently, the fastest known algorithm runs in time O(n1.230175)\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(nd)f(d) + f\left(\frac{n}{d}\right), for d  nd \ |\ n, and sums, f(a)+f(na)f(a) + f(n - a), for aa up to some function of nn. 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 nn. 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 O(n1.230175)\mathcal{O}(n^{1.230175}) to O(n1.222911236)\mathcal{O}(n^{1.222911236}). All of our code can be found online at: https://github.com/kcordwel/Integer-Complexity.

Keywords

Cite

@article{arxiv.1706.08424,
  title  = {On algorithms to calculate integer complexity},
  author = {Katherine Cordwell and Alyssa Epstein and Anand Hemmady and Steven J. Miller and Eyvindur A. Palsson and Aaditya Sharma and Stefan Steinerberger and Yen Nhi Truong Vu},
  journal= {arXiv preprint arXiv:1706.08424},
  year   = {2018}
}

Comments

8 pages; more details were added for the complexity analysis and a link added to the code on GitHub; minor typos corrected