Algoritm lacom pentru fracțiile egiptene

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 .

Istorie

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] .

Algoritm și exemple

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 lui Sylvester

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] .

Expansiuni de lungime maximă și condiții modulo

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] :

.

Calculul aproximativ al rădăcinilor polinoamelor

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.

  1. Deoarece pentru și pentru toți , rădăcina trebuie să fie între și . Astfel, primul termen al expansiunii este . Dacă  este restul după primul pas al expansiunii lacome, trebuie îndeplinită ecuația , care poate fi convertită în .
  2. Deoarece pentru și pentru toți , rădăcina se află între și , primul termen din expansiune (al doilea termen din extinderea secțiunii de aur) este . Dacă  este restul după acest pas de expansiune lacom, acesta satisface ecuația , care poate fi convertită în .
  3. Deoarece pentru și pentru toți , următorul termen în expansiune este . Dacă  este restul după acest pas de expansiune lacom, aceasta satisface ecuația , care poate fi convertită într-o ecuație cu coeficienți întregi .

Continuând acest proces de aproximare, se obține extinderea secțiunii de aur într-o fracție egipteană [14] :

.

Alte secvențe întregi

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.

Extinderi înrudite

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ă.

Note

  1. Sigler, 2002 , capitolul II.7
  2. Sylvester, 1880 .
  3. Cahen, 1891 .
  4. Lambert, 1770 .
  5. Vagon, 1991 .
  6. 12 Curtiss , 1922 .
  7. Soundarajan, 2005 .
  8. Stong, 1983 .
  9. Mays, 1987 .
  10. Freitag, Phillips, 1999 .
  11. Secvența OEIS A048860 _
  12. Stratemeyer, 1930 .
  13. Salzer, 1947 .
  14. Secvența OEIS A117116 _
  15. A050205 , A050206 , A050210

Literatură