En matemáticas , el algoritmo voraz para fracciones egipcias es un algoritmo voraz , 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 indica el nombre, estas representaciones se han utilizado desde el antiguo Egipto , pero el primer método sistemático publicado para construir tales expansiones se describió en 1202 en el Liber Abaci de Leonardo de Pisa (Fibonacci). [1] Se llama algoritmo voraz porque en cada paso el algoritmo elige vorazmente la fracción unitaria más grande posible que se puede utilizar en cualquier representación de la fracción restante.
Fibonacci enumera varios métodos diferentes para construir representaciones de fracciones egipcias. [2] Incluye el método voraz como último recurso para situaciones en las que fallan varios métodos más simples; véase Fracción egipcia para una lista más detallada de estos métodos. Como detalla Salzer (1948), el método voraz y sus extensiones para la aproximación de números irracionales han sido redescubiertos varias veces por matemáticos modernos, el primero y más notable fue JJ Sylvester (1880) [3]. 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 que se produce con este método para un número se denomina expansión egipcia voraz , expansión de Sylvester o expansión de Fibonacci-Sylvester de . Sin embargo, el término expansión de Fibonacci no suele referirse a este método, sino a la representación de números enteros como sumas de números de Fibonacci .
El algoritmo de Fibonacci expande la fracción a representar, 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 mayor, y la fracción restante 2/15 es el resultado de simplificar -15 módulo 7/15 × 3 = 6/45 . El denominador de la segunda fracción unitaria, 8, es el resultado del redondeo .15/2 hasta el siguiente entero mayor, 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 que son bastante largas, con denominadores grandes. Por ejemplo, este método expande mientras que otros métodos conducen a una expansión mucho mejor. Wagon (1991) sugiere un ejemplo aún peor, 31/311 . El método voraz 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 .
La secuencia de Silvestre 2, 3, 7, 43, 1807, ... ( OEIS : A000058 ) puede verse como generada por una expansión infinita y voraz de este tipo para el número 1, donde en cada paso elegimos el denominador ⌊ y/incógnita ⌋ + 1 en lugar de ⌈ y/incógnita ⌉ . Truncando esta secuencia a k términos y formando la fracción egipcia correspondiente, p. ej. (para k = 4) se obtiene la subestimación más cercana posible de 1 por cualquier fracción egipcia de k términos. [4] Es decir, por ejemplo, cualquier fracción egipcia para un número en el intervalo abierto ( 1805/18061) requiere al menos cinco términos. Curtiss (1922) describe una aplicación de estos resultados de aproximación más cercana para limitar inferiormente el número de divisores de un número perfecto , mientras que Stong (1983) describe aplicaciones en la teoría de grupos .
Cualquier fracciónincógnita/y requiere como máximo x términos en su expansión voraz. Mays (1987) y Freitag & Phillips (1999) examinan las condiciones bajo las cuales el método voraz produce una expansión de incógnita/y con exactamente x términos; estos pueden describirse en términos de condiciones de congruencia en y .
De manera más general, la secuencia de fraccionesincógnita/y que tienen expansiones voraces de términos x y que tienen el denominador y más pequeño posible para cada x es
Stratemeyer (1930) y Salzer (1947) describen un método para encontrar una aproximación precisa para las raíces de un polinomio basado en el método voraz. Su algoritmo calcula la expansión voraz 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 voraz de la proporción áurea , una de las dos soluciones de la ecuación polinómica P 0 ( x ) = x 2 − x − 1 = 0 . El algoritmo de Stratemeyer y Salzer realiza la siguiente secuencia de pasos:
Continuar con este proceso de aproximación produce eventualmente la expansión codiciosa de la proporción áurea,
La longitud, el denominador mínimo y el denominador máximo de la expansión voraz para todas las fracciones con numeradores y denominadores pequeños se pueden encontrar en la Enciclopedia en línea de secuencias de números enteros como secuencias OEIS : A050205 , OEIS : A050206 y OEIS : A050210 , respectivamente. Además, la expansión voraz de cualquier número irracional conduce a una secuencia infinita creciente de números enteros, y la OEIS contiene expansiones de varias constantes bien conocidas. Algunas entradas adicionales en la OEIS, aunque no están etiquetadas como producidas por el algoritmo voraz, parecen ser del mismo tipo.
En general, si se desea una expansión de fracción egipcia en la que los denominadores estén restringidos de alguna manera, es posible definir un algoritmo voraz en el que en cada paso se elige la expansión donde se elige, entre todos los valores posibles que satisfacen las restricciones, lo más pequeño posible tal que y tal que sea distinto de todos los denominadores elegidos previamente. Ejemplos de métodos definidos de esta manera incluyen la expansión de Engel , en la que cada denominador sucesivo debe ser un múltiplo del anterior, y la expansión voraz impar , en la que todos los denominadores están restringidos a ser números impares.
Sin embargo, puede resultar difícil determinar si un algoritmo de este tipo siempre puede encontrar una expansión finita. En particular, se desconoce si la expansión voraz impar termina con una expansión finita para todas las fracciones para las que es impar, aunque es posible encontrar expansiones impares finitas para estas fracciones mediante métodos no voraces.