Algoritmul greedy pentru fracțiile egiptene este un algoritm lacom care convertește numerele raționale în fracții egiptene , alegând la fiecare pas cea mai mare alicotă posibilă care poate fi utilizată în fracția reziduală.
Descompunerea obținută de un algoritm lacom pentru număr se numește descompunerea egipteană lacomă , descompunerea lui Sylvester sau descompunerea numărului Fibonacci-Sylvester .
Printre mai multe metode diferite de construire a fracțiilor egiptene date de Fibonacci în Cartea Abacului a fost un algoritm lacom, care a fost sugerat să fie folosit numai dacă alte metode au eșuat [1] . Ulterior, algoritmul greedy și extensiile sale pentru aproximarea numerelor iraționale au fost redescoperite de mai multe ori, cel mai vechi și mai faimos caz fiind algoritmul Sylvester [2] [3] . O metodă care oferă cea mai apropiată aproximare la fiecare pas, pentru care sunt permise fracții negative, îi aparține lui Lambert [4] .
Algoritmul Fibonacci efectuează descompunerea prin înlocuire secvențială:
(simplificarea celui de-al doilea termen dacă este necesar). De exemplu:
.În această expansiune, numitorul primei alicote este rezultatul rotunjirii la următorul număr întreg (mai mare), iar restul este rezultatul reducerii . Împărțitorul celei de-a doua fracții - , - este rezultatul rotunjirii la următorul număr întreg (mai mare), iar restul este ceea ce rămâne după scăderea și .
Deoarece fiecare pas de extindere scade numărătorul restului, această metodă se va finaliza într-un număr finit de pași. Cu toate acestea, în comparație cu metodele egiptene antice de descompunere sau cu metodele mai moderne, această metodă poate da o descompunere cu numitori destul de mari. De exemplu, expansiunea lacomă a unui număr :
,în timp ce alte metode oferă o extindere mult mai simplă:
,iar pentru algoritmul lacom, dă o expansiune în zece fracții, ultima dintre acestea având 500 de cifre la numitor, în timp ce există o reprezentare [5] :
.Secvența Sylvester poate fi reprezentată ca fiind formată din expansiunea infinită a unității prin intermediul unui algoritm lacom, unde la fiecare pas se alege un numitor în loc de . Dacă tăiem această secvență cu termeni și formăm fracția egipteană corespunzătoare, de exemplu, pentru :
,atunci obținem cea mai apropiată aproximare de dedesubt dintre fracțiile egiptene cu membri [6] [7] . De exemplu, orice fracție egipteană necesită cel puțin cinci termeni pentru un număr dintr-un interval deschis . Este descrisă aplicarea acestor expansiuni cele mai apropiate pentru o estimare mai mică a numărului de divizori ai unui număr perfect [6] , precum și în teoria grupurilor [8] .
Orice fracție oferă termenii maximi în algoritmul lacom. Sunt investigate condițiile în care expansiunea necesită exact fracții [9] [10] , aceste condiții pot fi descrise în termeni de comparații modulo:
În cazul general, succesiunea fracțiilor cu numitorul minim , având expansiune printr-un algoritm lacom cu membri [11] :
.Există o metodă de calcul aproximativ al rădăcinilor unui polinom bazată pe algoritmul greedy [12] [13] care determină descompunerea lacomă a rădăcinii. La fiecare pas, se formează un polinom suplimentar, care are ca rădăcină restul expansiunii. De exemplu, pentru a calcula expansiunea lacomă a secțiunii de aur ca una dintre cele două soluții ale ecuației , algoritmul efectuează următorii pași.
Continuând acest proces de aproximare, se obține extinderea secțiunii de aur într-o fracție egipteană [14] :
.Lungimea, numitorul minim și numitorul maxim al expansiunii lacome pentru fracțiile cu numărători și numitori mici sunt incluse în Enciclopedia secvențelor întregi [15] . În plus, expansiunea lacomă a oricărui număr irațional duce la o succesiune infinită de numere întregi, iar OEIS conține expansiuni ale unor constante binecunoscute.
Este posibil să definiți un algoritm lacom cu unele restricții asupra numitorului:
,unde se alege dintre toate valorile care îndeplinesc restricțiile impuse și au cea mai mică valoare posibilă, la care și astfel care diferă de toți numitorii anteriori. De exemplu, descompunerea Engel poate fi gândită ca un algoritm de acest tip, în care fiecare numitor admisibil trebuie obținut prin înmulțirea celui precedent cu un număr întreg. Cu toate acestea, este adesea netrivial să se stabilească dacă un astfel de algoritm duce întotdeauna la o descompunere finită. În special , expansiunea impară greedy a unei fracții este formată dintr-un algoritm greedy cu o restricție asupra numitorilor impari. Se știe că pentru impar există o expansiune într-o fracție egipteană în care toți numitorii sunt impari, dar nu se știe dacă un algoritm lacom impar va duce întotdeauna la o expansiune finită.