Greedy algorithm for Egyptian fractions
In mathematics, the greedy algorithm for Egyptian fractions is a greedy algorithm, first described by Fibonacci, for transforming rational numbers into Egyptian fractions. An Egyptian fraction is a representation of an irreducible fraction as a sum of distinct unit fractions, as e.g. 5/6 = 1/2 + 1/3. As the name indicates, these representations have been used as long ago as ancient Egypt, but the first published systematic method for constructing such expansions is described in the Liber Abaci (1202) of Leonardo of Pisa (Fibonacci). It is called a greedy algorithm because at each step the algorithm chooses greedily the largest possible unit fraction that can be used in any representation of the remaining fraction.
Fibonacci actually lists several different methods for constructing Egyptian fraction representations (Sigler 2002, chapter II.7). He includes the greedy method as a last resort for situations when several simpler methods fail; see Egyptian fraction for a more detailed listing of these methods. As Salzer (1948) details, the greedy method, and extensions of it for the approximation of irrational numbers, have been rediscovered several times by modern mathematicians, earliest and most notably by J. J. Sylvester (1880); see for instance Cahen (1891) and Spiess (1907). A closely related expansion method that produces closer approximations at each step by allowing some unit fractions in the sum to be negative dates back to Lambert (1770).
The expansion produced by this method for a number x is called the greedy Egyptian expansion, Sylvester expansion, or Fibonacci–Sylvester expansion of x. However, the term Fibonacci expansion usually refers, not to this method, but to representation of integers as sums of Fibonacci numbers.
Algorithm and examples
Fibonacci's algorithm expands the fraction x/y to be represented, by repeatedly performing the replacement
(simplifying the second term in this replacement as necessary). For instance:
in this expansion, the denominator 3 of the first unit fraction is the result of rounding 15/7 up to the next larger integer, and the remaining fraction 2/15 is the result of simplifying (-15 mod 7)/(15×3) = 6/45. The denominator of the second unit fraction, 8, is the result of rounding 15/2 up to the next larger integer, and the remaining fraction 1/120 is what is left from 7/15 after subtracting both 1/3 and 1/8.
As each expansion step reduces the numerator of the remaining fraction to be expanded, this method always terminates with a finite expansion; however, compared to ancient Egyptian expansions or to more modern methods, this method may produce expansions that are quite long, with large denominators. For instance, this method expands
while other methods lead to the much better expansion
Wagon (1991) suggests an even more badly-behaved example, 31/311. The greedy method leads to an expansion with ten terms, the last of which has over 500 digits in its denominator; however, 31/311 has a much shorter non-greedy representation, 1/12 + 1/63 + 1/2799 + 1/8708.
Sylvester's sequence and closest approximation
Sylvester's sequence 2, 3, 7, 43, 1807, ... can be viewed as generated by an infinite greedy expansion of this type for the number one, where at each step we choose the denominator instead of . Truncating this sequence to k terms and forming the corresponding Egyptian fraction, e.g. (for k = 4)
results in the closest possible underestimate of 1 by any k-term Egyptian fraction (Curtiss 1922; Soundararajan 2005). That is, for example, any Egyptian fraction for a number in the open interval (1805/1806,1) requires at least five terms. Curtiss (1922) describes an application of these closest-approximation results in lower-bounding the number of divisors of a perfect number, while Stong (1983) describes applications in group theory.
Maximum-length expansions and congruence conditions
Any fraction x/y requires at most x terms in its greedy expansion. Mays (1987) and Freitag & Phillips (1999) examine the conditions under which the greedy method produces an expansion of x/y with exactly x terms; these can be described in terms of congruence conditions on y.
- Every fraction 1/y requires one term in its greedy expansion; the simplest such fraction is 1/1.
- Every fraction 2/y requires two terms in its greedy expansion if and only if y ≡ 1 (mod 2); the simplest such fraction is 2/3.
- A fraction 3/y requires three terms in its greedy expansion if and only if y ≡ 1 (mod 6), for then -y mod x = 2 and y(y+2)/3 is odd, so the fraction remaining after a single step of the greedy expansion,
- is in simplest terms. The simplest fraction 3/y with a three-term expansion is 3/7.
- A fraction 4/y requires four terms in its greedy expansion if and only if y ≡ 1 or 17 (mod 24), for then the numerator -y mod x of the remaining fraction is 3 and the denominator is 1 (mod 6). The simplest fraction 4/y with a four-term expansion is 4/17. The Erdős–Straus conjecture states that all fractions 4/y have an expansion with three or fewer terms, but when y ≡ 1 or 17 (mod 24) such expansions must be found by methods other than the greedy algorithm, with the 17 (mod 24) case being covered by the congruence relationship 2 (mod 3).
More generally the sequence of fractions x/y that have x-term greedy expansions and that have the smallest possible denominator y for each x is
Approximation of polynomial roots
Stratemeyer (1930) and Salzer (1947) describe a method of finding an accurate approximation for the roots of a polynomial based on the greedy method. Their algorithm computes the greedy expansion of a root; at each step in this expansion it maintains an auxiliary polynomial that has as its root the remaining fraction to be expanded. Consider as an example applying this method to find the greedy expansion of the golden ratio, one of the two solutions of the polynomial equation P0(x) = x2 - x - 1 = 0. The algorithm of Stratemeyer and Salzer performs the following sequence of steps:
- Since P0(x) < 0 for x = 1, and P0(x) > 0 for all x ≥ 2, there must be a root of P0(x) between 1 and 2. That is, the first term of the greedy expansion of the golden ratio is 1/1. If x1 is the remaining fraction after the first step of the greedy expansion, it satisfies the equation P0(x1 + 1) = 0, which can be expanded as P1(x1) = x12 + x1 - 1 = 0.
- Since P1(x) < 0 for x = 1/2, and P1(x) > 0 for all x > 1, the root of P1 lies between 1/2 and 1, and the first term in its greedy expansion (the second term in the greedy expansion for the golden ratio) is 1/2. If x2 is the remaining fraction after this step of the greedy expansion, it satisfies the equation P1(x2 + 1/2) = 0, which can be expanded as P2(x2) = 4x22 + 8x2 - 1 = 0.
- Since P2(x) < 0 for x = 1/9, and P2(x) > 0 for all x > 1/8, the next term in the greedy expansion is 1/9. If x3 is the remaining fraction after this step of the greedy expansion, it satisfies the equation P2(x3 + 1/9) = 0, which can again be expanded as a polynomial equation with integer coefficients, P3(x3) = 324x32 + 720x3 - 5 = 0.
Continuing this approximation process eventually produces the greedy expansion for the golden ratio,
Other integer sequences
The length, minimum denominator, and maximum denominator of the greedy expansion for all fractions with small numerators and denominators can be found in the On-Line Encyclopedia of Integer Sequences as sequences OEIS: A050205, OEIS: A050206, and OEIS: A050210, respectively. In addition, the greedy expansion of any irrational number leads to an infinite increasing sequence of integers, and the OEIS contains expansions of several well known constants. Some additional entries in the OEIS, though not labeled as being produced by the greedy algorithm, appear to be of the same type.
In general, if one wants an Egyptian fraction expansion in which the denominators are constrained in some way, it is possible to define a greedy algorithm in which at each step one chooses the expansion
where d is chosen, among all possible values satisfying the constraints, as small as possible such that xd > y and such that d is distinct from all previously chosen denominators. For instance, the Engel expansion can be viewed as an algorithm of this type in which each successive denominator must be a multiple of the previous one. However, it may be difficult to determine whether an algorithm of this type can always succeed in finding a finite expansion. In particular, the odd greedy expansion of a fraction x/y is formed by a greedy algorithm of this type in which all denominators are constrained to be odd numbers; it is known that, whenever y is odd, there is a finite Egyptian fraction expansion in which all denominators are odd, but it is not known whether the odd greedy expansion is always finite.
- Cahen, E. (1891), "Note sur un développement des quantités numériques, qui presente quelque analogie avec celui en fractions continues", Nouvelles Annales des Mathématiques, Ser. 3, 10: 508–514.
- Curtiss, D. R. (1922), "On Kellogg's diophantine problem", American Mathematical Monthly, 29 (10): 380–387, doi:10.2307/2299023, JSTOR 2299023.
- Freitag, H. T.; Phillips, G. M. (1999), "Sylvester's algorithm and Fibonacci numbers", Applications of Fibonacci numbers, Vol. 8 (Rochester, NY, 1998), Dordrecht: Kluwer Acad. Publ., pp. 155–163, MR 1737669.
- Lambert, J. H. (1770), Beyträge zum Gebrauche der Mathematik und deren Anwendung, Berlin: Zweyter Theil, pp. 99–104.
- Mays, Michael (1987), "A worst case of the Fibonacci–Sylvester expansion", Journal of Combinatorial Mathematics and Combinatorial Computing, 1: 141–148, MR 0888838.
- Salzer, H. E. (1947), "The approximation of numbers as sums of reciprocals", American Mathematical Monthly, 54 (3): 135–142, doi:10.2307/2305906, JSTOR 2305906, MR 0020339.
- Salzer, H. E. (1948), "Further remarks on the approximation of numbers as sums of reciprocals", American Mathematical Monthly, 55 (6): 350–356, doi:10.2307/2304960, JSTOR 2304960, MR 0025512.
- Sigler, Laurence E. (trans.) (2002), Fibonacci's Liber Abaci, Springer-Verlag, ISBN 0-387-95419-8.
- Soundararajan, K. (2005), Approximating 1 from below using n Egyptian fractions, arXiv:math.CA/0502247.
- Spiess, O. (1907), "Über eine Klasse unendlicher Reihen", Archiv der Mathematik und Physik, Third Series, 12: 124–134.
- Stong, R. E. (1983), "Pseudofree actions and the greedy algorithm", Mathematische Annalen, 265 (4): 501–512, doi:10.1007/BF01455950, MR 0721884.
- Stratemeyer, G. (1930), "Stammbruchentwickelungen für die Quadratwurzel aus einer rationalen Zahl", Mathematische Zeitschrift, 31: 767–768, doi:10.1007/BF01246446.
- Sylvester, J. J. (1880), "On a point in the theory of vulgar fractions", American Journal of Mathematics, 3 (4): 332–335, doi:10.2307/2369261, JSTOR 2369261.
- Wagon, S. (1991), Mathematica in Action, W. H. Freeman, pp. 271–277.