Jump to content

Integer complexity

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by David Eppstein (talk | contribs) at 22:38, 24 January 2021 (Undo redundant reference that gives a misleading impression of this discovery. See addendum https://doi.org/10.1016/j.jnt.2012.12.006 regretting failure to credit prior discovery of same example.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In number theory, the integer complexity of an integer is the smallest number of ones that can be used to represent it using ones and any number of additions, multiplications, and parentheses. It is always within a constant factor of the logarithm of the given integer.

Example

For instance, the number 11 may be represented using eight ones:

11 = (1 + 1 + 1) × (1 + 1 + 1) + 1 + 1.

However, it has no representation using seven or fewer ones. Therefore, its complexity is eight.

The complexities of the numbers 1, 2, 3, ... are

1, 2, 3, 4, 5, 5, 6, 6, 6, 7, 8, 7, 8, 8, 8, 8, 9, 8, ... (sequence A005245 in the OEIS)

The smallest numbers with complexity 1, 2, 3, ... are

1, 2, 3, 4, 5, 7, 10, 11, 17, 22, 23, 41, 47, ... (sequence A005520 in the OEIS)

Upper and lower bounds

The question of expressing integers in this way was originally considered by Mahler & Popken (1953). They asked for the largest number with a given complexity k;[1] later, Selfridge showed that this number is

For example, when k = 10, x = 2 and the largest integer that can be expressed using ten ones is 22 32 = 36. Its expression is

(1 + 1) × (1 + 1) × (1 + 1 + 1) × (1 + 1 + 1).

Thus, the complexity of an integer n is at least 3 log3n. The complexity of n is at most 3 log2n (approximately 4.755 log3n): an expression of this length for n can be found by applying Horner's method to the binary representation of n.[2] Almost all integers have a representation whose length is bounded by a logarithm with a smaller constant factor, 3.529 log3n.[3]

Algorithms and counterexamples

The complexities of all integers up to some threshold N can be calculated in total time O(N1.222911236).[4]

Algorithms for computing the integer complexity have been used to disprove several conjectures about the complexity. In particular, it is not necessarily the case that the optimal expression for a number n is obtained either by subtracting one from n or by expressing n as the product of two smaller factors. The smallest example of a number whose optimal expression is not of this form is 353942783. It is a prime number, and therefore also disproves a conjecture of Richard K. Guy that the complexity of every prime number p is one plus the complexity of p − 1.[5]

References

  1. ^ Mahler, K.; Popken, J. (1953), "On a maximum problem in arithmetic", Nieuw Archief voor Wiskunde, 1: 1–15, MR 0053986.
  2. ^ Guy, Richard K. (1986), "Some suspiciously simple sequences", Unsolved Problems, American Mathematical Monthly, 93 (3): 186–190, doi:10.2307/2323338, MR 1540817.
  3. ^ Shriver, Christopher E. (2015), Applications of Markov chain analysis to integer complexity, arXiv:1511.07842, Bibcode:2015arXiv151107842S.
  4. ^ Cordwell, K.; Epstein, A.; Hemmady, A.; Miller, S.; Palsson, E.; Sharma, A.; Steinerberger, S.; Vu, Y. (2017), On algorithms to calculate integer complexity, arXiv:1706.08424, Bibcode:2017arXiv170608424C
  5. ^ Fuller, Martin N. (February 1, 2008), Program to calculate A005245, A005520, A005421, OEIS, retrieved 2015-12-13.