Algoritmo codicioso para fracciones egipcias - Greedy algorithm for Egyptian fractions

En matemáticas , el algoritmo codicioso para las fracciones egipcias es un algoritmo codicioso , descrito por primera vez por Fibonacci , para transformar números racionales en fracciones egipcias . Una fracción egipcia es una representación de una fracción irreducible como una suma de fracciones unitarias distintas , como 5/6 = 1/2 + 1/3. Como su nombre indica, estas representaciones se han utilizado desde el antiguo Egipto , pero el primer método sistemático publicado para construir tales expansiones se describe en el Liber Abaci ( 1202 ) de Leonardo de Pisa (Fibonacci). Se llama algoritmo codicioso porque en cada paso el algoritmo elige codiciosamente la fracción unitaria más grande posible que se puede utilizar en cualquier representación de la fracción restante.

Fibonacci en realidad enumera varios métodos diferentes para construir representaciones de fracciones egipcias ( Sigler 2002 , capítulo II.7). Incluye el método codicioso como último recurso para situaciones en las que fallan varios métodos más simples; consulte la fracción egipcia para obtener una lista más detallada de estos métodos. Como detalla Salzer (1948), el método codicioso y sus extensiones para la aproximación de números irracionales han sido redescubiertos varias veces por los matemáticos modernos, la primera y más notablemente por JJ Sylvester  ( 1880 ); véanse, por ejemplo, Cahen (1891) y Spiess (1907) . Un método de expansión estrechamente relacionado que produce aproximaciones más cercanas en cada paso al permitir que algunas fracciones unitarias en la suma sean negativas se remonta a Lambert (1770) .

La expansión producida por este método para un número x se denomina expansión egipcia codiciosa , expansión de Sylvester o expansión de Fibonacci-Sylvester de x . Sin embargo, el término expansión de Fibonacci generalmente se refiere, no a este método, sino a la representación de números enteros como sumas de números de Fibonacci .

Algoritmo y ejemplos

El algoritmo de Fibonacci expande la fracción X/y ser representado, realizando repetidamente el reemplazo

(simplificando el segundo término en este reemplazo según sea necesario). Por ejemplo:

en esta expansión, el denominador 3 de la primera fracción unitaria es el resultado del redondeo 15/7 hasta el siguiente entero más grande, y la fracción restante 2/15 es el resultado de simplificar −15 mod 7/15 × 3 = 6/45. El denominador de la segunda fracción unitaria, 8, es el resultado del redondeo15/2 hasta el siguiente entero más grande, y la fracción restante 1/120 es lo que queda de 7/15 después de restar ambos 1/3 y 1/8.

Como cada paso de expansión reduce el numerador de la fracción restante a expandir, este método siempre termina con una expansión finita; sin embargo, en comparación con las expansiones del antiguo Egipto o con métodos más modernos, este método puede producir expansiones bastante largas, con denominadores grandes. Por ejemplo, este método se expande

mientras que otros métodos conducen a una expansión mucho mejor

Wagon (1991) sugiere un ejemplo aún peor comportado,31/311. El método codicioso conduce a una expansión con diez términos, el último de los cuales tiene más de 500 dígitos en su denominador; sin embargo,31/311 tiene una representación no codiciosa mucho más corta, 1/12 + 1/63 + 1/2799 + 1/8708.

Secuencia de Sylvester y aproximación más cercana

La secuencia de Sylvester 2, 3, 7, 43, 1807, ... ( OEISA000058 ) puede verse como generada por una expansión voraz infinita de este tipo para el número 1, donde en cada paso elegimos el denominador y/X⌋ + 1 en lugar de y/X . Truncar esta secuencia en k términos y formar la fracción egipcia correspondiente, p. Ej. (Para k  = 4)

da como resultado la subestimación más cercana posible de 1 por cualquier fracción egipcia de término k ( Curtiss 1922 ; Soundararajan 2005 ). Es decir, por ejemplo, cualquier fracción egipcia para un número en el intervalo abierto (1805/1806, 1) requiere al menos cinco términos. Curtiss (1922) describe una aplicación de estos resultados de aproximación más cercana en el límite inferior del número de divisores de un número perfecto , mientras que Stong (1983) describe aplicaciones en la teoría de grupos .

Expansiones de longitud máxima y condiciones de congruencia

Cualquier fracción X/yrequiere como máximo x términos en su expansión codiciosa. Mays (1987) y Freitag y Phillips (1999) examinan las condiciones bajo las cuales el método codicioso produce una expansión deX/ycon exactamente x términos; estos pueden describirse en términos de condiciones de congruencia en y .

  • Cada fracción 1/yrequiere un término en su codiciosa expansión; la fracción más simple es1/1.
  • Cada fracción 2/yrequiere dos términos en su expansión codiciosa si y solo si y ≡ 1 (mod 2) ; la fracción más simple es2/3.
  • Una fracción 3/yrequiere tres términos en su expansión codiciosa si y solo si y ≡ 1 (mod 6) , para entonces - y mod x = 2 yy ( y + 2)/3 es impar, por lo que la fracción que queda después de un solo paso de la expansión codiciosa,
es en términos más simples. La fracción más simple3/y con una expansión de tres términos es 3/7.
  • Una fracción 4/yrequiere cuatro términos en su expansión codiciosa si y solo si y ≡ 1 o 17 (mod 24) , porque entonces el numerador - y mod x de la fracción restante es 3 y el denominador es 1 (mod 6) . La fracción más simple4/y con una expansión de cuatro términos es 4/17. La conjetura de Erdős-Straus establece que todas las fracciones4/ytienen una expansión con tres o menos términos, pero cuando y ≡ 1 o 17 (mod 24) tales expansiones deben ser encontradas por métodos distintos al algoritmo codicioso, con el caso 17 (mod 24) cubierto por la relación de congruencia 2 (mod 3) .

De manera más general, la secuencia de fracciones X/yque tienen expansiones codiciosas de término x y que tienen el denominador más pequeño posible y para cada x es

(secuencia A048860 en la OEIS ).

Aproximación de raíces polinomiales

Stratemeyer (1930) y Salzer (1947) describen un método para encontrar una aproximación precisa de las raíces de un polinomio basado en el método codicioso. Su algoritmo calcula la expansión codiciosa de una raíz; en cada paso de esta expansión mantiene un polinomio auxiliar que tiene como raíz la fracción restante a expandir. Considere como ejemplo la aplicación de este método para encontrar la expansión codiciosa de la proporción áurea , una de las dos soluciones de la ecuación polinomial P 0 ( x ) = x 2 - x - 1 = 0 . El algoritmo de Stratemeyer y Salzer realiza la siguiente secuencia de pasos:

  1. Dado que P 0 ( x ) <0 para x  = 1, y P 0 ( x )> 0 para todo x ≥ 2 , debe haber una raíz de P 0 ( x ) entre 1 y 2. Es decir, el primer término de la expansión codiciosa de la proporción áurea es1/1. Si x 1 es la fracción restante después del primer paso de la expansión codiciosa, satisface la ecuación P 0 ( x 1 + 1) = 0 , que se puede expandir como P 1 ( x 1 ) = x2
    1
    + x 1 - 1 = 0
    .
  2. Dado que P 1 ( x ) <0 para x  = 1/2, y P 1 ( x )> 0 para todo x > 1 , la raíz de P 1 se encuentra entre1/2 y 1, y el primer término en su expansión codiciosa (el segundo término en la expansión codiciosa de la proporción áurea) es 1/2. Si x 2 es la fracción restante después de este paso de la expansión codiciosa, satisface la ecuación P 1 ( x 2 +1/2) = 0 , que se puede expandir como P 2 ( x 2 ) = 4 x2
    2
    + 8 x 2-1 = 0
    .
  3. Dado que P 2 ( x ) <0 para x  = 1/9, y P 2 ( x )> 0 para todo x >1/8, el siguiente término de la expansión codiciosa es 1/9. Si x 3 es la fracción restante después de este paso de la expansión codiciosa, satisface la ecuación P 2 ( x 3 +1/9) = 0 , que nuevamente se puede expandir como una ecuación polinomial con coeficientes enteros, P 3 ( x 3 ) = 324 x2
    3
    + 720 x 3 - 5 = 0
    .

Continuar con este proceso de aproximación eventualmente produce la expansión codiciosa de la proporción áurea,

(secuencia A117116 en la OEIS ).

Otras secuencias de enteros

La longitud, el mínimo denominador y el máximo denominador de la expansión codiciosa para todas las fracciones con numeradores y denominadores pequeños se pueden encontrar en la Enciclopedia en línea de secuencias de enteros como secuencias OEISA050205 , OEISA050206 y OEISA050210 , respectivamente. Además, la expansión codiciosa de cualquier número irracional conduce a una secuencia creciente infinita de números enteros, y la OEIS contiene expansiones de varias constantes bien conocidas . Algunas entradas adicionales en el OEIS , aunque no están etiquetadas como producidas por el algoritmo codicioso, parecen ser del mismo tipo.

Expansiones relacionadas

En general, si uno quiere una expansión de fracción egipcia en la que los denominadores están restringidos de alguna manera, es posible definir un algoritmo codicioso en el que en cada paso se elige la expansión

donde d se elige, entre todos los valores posibles que satisfacen las restricciones, tan pequeño como sea posible, de modo que xd  >  y y tal que d sea ​​distinto de todos los denominadores elegidos previamente. Por ejemplo, la expansión de Engel puede verse como un algoritmo de este tipo en el que cada denominador sucesivo debe ser un múltiplo del anterior. Sin embargo, puede ser difícil determinar si un algoritmo de este tipo siempre puede tener éxito en encontrar una expansión finita. En particular, la extraña expansión codiciosa de una fracciónX/yestá formado por un algoritmo codicioso de este tipo en el que todos los denominadores están restringidos a números impares; se sabe que, siempre que y es impar, hay una expansión de fracción egipcia finita en la que todos los denominadores son impares, pero no se sabe si la expansión codiciosa impar es siempre finita.

Referencias

  • Cahen, E. (1891), "Note sur un développement des quantités numériques, qui presente quelque analogie avec celui en fracciones continúa", Nouvelles Annales des Mathématiques , Ser. 3, 10 : 508–514.
  • Curtiss, DR (1922), "Sobre el problema diofántico de Kellogg", American Mathematical Monthly , 29 (10): 380–387, doi : 10.2307 / 2299023 , JSTOR  2299023.
  • Freitag, HT ; Phillips, GM (1999), "El algoritmo de Sylvester y los números de Fibonacci", Aplicaciones de los números de Fibonacci, vol. 8 (Rochester, NY, 1998) , Dordrecht: Kluwer Acad. Publ., Págs. 155-163, MR  1737669.
  • Lambert, JH (1770), Beyträge zum Gebrauche der Mathematik und deren Anwendung , Berlín: Zweyter Theil, págs. 99-104.
  • Mays, Michael (1987), "El peor caso de la expansión Fibonacci-Sylvester", Journal of Combinatorial Mathematics and Combinatorial Computing , 1 : 141-148, MR  0888838.
  • Salzer, HE (1947), "La aproximación de números como sumas de recíprocos", American Mathematical Monthly , 54 (3): 135-142, doi : 10.2307 / 2305906 , JSTOR  2305906 , MR  0020339.
  • Salzer, HE (1948), "Observaciones adicionales sobre la aproximación de números como sumas de recíprocos", American Mathematical Monthly , 55 (6): 350–356, doi : 10.2307 / 2304960 , JSTOR  2304960 , MR  0025512.
  • Sigler, Laurence E. (trad.) (2002), Liber Abaci de Fibonacci , Springer-Verlag, ISBN 0-387-95419-8.
  • Soundararajan, K. (2005), Aproximando 1 desde abajo usando n fracciones egipcias , arXiv : math.CA/0502247.
  • Spiess, O. (1907), "Über eine Klasse unendlicher Reihen", Archiv der Mathematik und Physik , Tercera Serie, 12 : 124-134.
  • Stong, RE (1983), "Pseudo-acciones libres y el algoritmo codicioso", 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, JJ (1880), "Sobre un punto en la teoría de las fracciones vulgares", American Journal of Mathematics , 3 (4): 332–335, doi : 10.2307 / 2369261 , JSTOR  2369261.
  • Wagon, S. (1991), Mathematica en acción , WH Freeman, págs. 271–277.