Complete sequence

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In mathematics, an integer sequence is called a complete sequence if every positive integer can be expressed as a sum of values in the sequence, using each value at most once.

For example, the sequence of powers of two {1, 2, 4, 8, ...}, the basis of the binary numeral system, is a complete sequence; given any natural number, we can choose the values corresponding to the 1 bits in its binary representation and sum them to obtain that number (e.g. 37 = 1001012 = 1 + 4 + 32). This sequence is minimal, since no value can be removed from it without making some natural numbers impossible to represent. Simple examples of sequences that are not complete include:

  • The even numbers; since adding even numbers produces only even numbers, no odd number can be formed.
  • Powers of three; no integer having a digit "2" in its ternary representation (2, 5, 6...) can be formed.

Conditions for completeness[edit]

Without loss of generality, assume the sequence an is in nondecreasing order, and define the partial sums of an as:

s_n=\sum_{m=0}^n a_m.

Then the conditions

a_0 = 1 \,
s_{k-1} \ge a_k - 1 \, \forall \, k \ge 1

are both necessary and sufficient for an to be a complete sequence.[1]

A corollary to the above states that

a_0 = 1\,
2a_k \ge a_{k+1} \, \forall \, k \ge 1

are sufficient for an to be a complete sequence.[1]

However there are complete sequences that do not satisfy this corollary, see (sequence A203074 in OEIS).

Other complete sequences[edit]

Below is a list of the better-known complete sequences.

  • The sequence of the number 1 followed by the prime numbers (studied by S. S. Pillai[2] and others); this follows from Bertrand's postulate.[1]
  • The Fibonacci numbers, as well as the Fibonacci numbers with any one number removed.[1] This follows from the identity that the sum of the first n Fibonacci numbers is the (n + 2)nd Fibonacci number minus 1 (see Fibonacci_numbers#Second_identity).
  • All Fibonacci n-Step numbers,[3] where n=2 gives the Fibonacci numbers above, n=3 gives the Tribonacci numbers etc.
  • The Lazy caterer's sequence that gives the maximum number of partitions that a plane can be divided into, using n straight lines as dividers.
  • All higher dimensions of the Lazy caterer's sequence that uses n hyperplanes (of dimension d-1) to maximally divide a space (of dimension d). (sequence A216274 in OEIS)
  • The Cookie cutter's sequence that gives the maximum number of partitions that a plane can be divided into, using n circles as dividers.[4]
  • All higher dimensions of the Cookie cutter's sequence that uses n hyperspherical surfaces (of dimension d-1) to maximally divide a space (of dimension d). (sequence A059250 in OEIS)

Applications[edit]

Just as the powers of two form a complete sequence due to the binary numeral system, in fact any complete sequence can be used to encode integers as bit strings. The rightmost bit position is assigned to the first, smallest member of the sequence; the next rightmost to the next member; and so on. Bits set to 1 are included in the sum. These representations may not be unique.

Fibonacci coding[edit]

For example, in the Fibonacci arithmetic system, based on the Fibonacci sequence, the number 17 can be encoded in six different ways:

110111 (F6 + F5 + F3 + F2 + F1 = 8 + 5 + 2 + 1 + 1 = 17, maximal form)
111001 (F6 + F5 + F4 + F1 = 8 + 5 + 3 + 1 = 17)
111010 (F6 + F5 + F4 + F2 = 8 + 5 + 3 + 1 = 17)
1000111 (F7 + F3 + F2 + F1 = 13 + 2 + 1 + 1 = 17)
1001001 (F7 + F4 + F1 = 13 + 3 + 1 = 17)
1001010 (F7 + F4 + F2 = 13 + 3 + 1 = 17, minimal form, as used in Fibonacci coding)
The maximal form above will always use F1 and will always have a trailing one. The full coding without the trailing one can be found at
(sequence A104326 in OEIS). Note that by dropping the trailing one, the coding for 17 above occurs as the 16th term of A104326.
The minimal form will never use F1 and will always have a trailing zero. The full coding without the trailing zero can be found at
(sequence A014417 in OEIS). This coding is known as the Zeckendorf representation .

In this numeral system, any substring "100" can be replaced by "011" and vice versa due to the definition of the Fibonacci numbers.[5]

Other coding systems[edit]

Other coding systems can be similarly devised. As with the Fibonacci sequence above, these coding systems that employ complete sequences will need to deal with multiple encoding solutions. The two main methods used are the greedy algorithm that will attempt to minimize the number of terms needed to encode an integer from the complete sequence and a minimizing algorithm that will attempt to maximize the number of terms needed to encode the same integer.

  • A coding for the sequence of the number 1 followed by the prime numbers using the greedy algorithm can be found at
(sequence A007924 in OEIS).
  • A coding for the sequence of the number 1 followed by the prime numbers using a minimizing algorithm can be found at
(sequence A205598 in OEIS).
  • A coding for the Lazy caterer's sequence using the greedy algorithm can be found at
(sequence A204009 in OEIS).

See also[edit]

References[edit]

  1. ^ a b c d Honsberger, R. Mathematical Gems III. Washington, DC: Math. Assoc. Amer., 1985, pp.123-128.
  2. ^ S. S. Pillai, "An arithmetical function concerning primes", Annamalai University Journal (1930), pp. 159–167.
  3. ^ Weisstein, Eric W., "Fibonacci n-Step Number", MathWorld.
  4. ^ Weisstein, Eric W., "Plane Division by Circles", MathWorld.
  5. ^ Stakhov, Alexey. "The main operations of the Fibonacci arithmetic" at the Wayback Machine (archived March 16, 2012), Museum of Harmony and Golden Section. Originally accessed: 27 July 2010.

External links[edit]