Chamtivý algoritmus pro egyptské zlomky

Chamtivý algoritmus pro egyptské zlomky  je chamtivý algoritmus , který převádí racionální čísla na egyptské zlomky , přičemž v každém kroku vybírá největší možný alikvot , který lze použít ve zbytkovém zlomku.

Rozklad získaný chamtivým algoritmem pro číslo se nazývá chamtivý egyptský rozklad , Sylvesterův rozklad nebo Fibonacciho-Sylvesterův rozklad čísla .

Historie

Mezi několika různými metodami pro konstrukci egyptských zlomků daný Fibonacci v Book of the Abacus byl chamtivý algoritmus, který byl navržen k použití pouze v případě, že jiné metody selhaly [1] . Následně byl chamtivý algoritmus a jeho rozšíření pro aproximaci iracionálních čísel několikrát znovu objeven, nejstarším a nejznámějším případem byl Sylvesterův algoritmus [2] [3] . Metoda, která v každém kroku udává nejbližší aproximaci, pro kterou jsou povoleny záporné zlomky, patří Lambertovi [4] .

Algoritmus a příklady

Fibonacciho algoritmus provádí rozklad postupným nahrazováním:

(v případě potřeby zjednodušení druhého termínu). Například:

.

V tomto rozšíření je jmenovatel prvního alikvotu výsledkem zaokrouhlení nahoru na další (vyšší) celé číslo a zbytek  je výsledkem snížení . Dělitel druhého zlomku - , - je výsledkem zaokrouhlení nahoru na další (větší) celé číslo a zbytek  je to, co zbyde po odečtení a .

Protože každý krok rozšíření snižuje čitatel zbytku, bude tato metoda dokončena v konečném počtu kroků. Ve srovnání se staroegyptskými metodami rozkladu nebo modernějšími metodami však tato metoda může poskytnout rozklad s poměrně velkými jmenovateli. Například chamtivé rozšíření čísla :

,

zatímco jiné metody poskytují mnohem jednodušší rozšíření:

,

a pro chamtivý algoritmus poskytuje rozšíření do deseti zlomků, z nichž poslední má 500 číslic ve jmenovateli, přičemž existuje reprezentace [5] :

.

Sylvesterova sekvence

Sylvesterova posloupnost může být reprezentována jako tvořená nekonečnou expanzí jednoty pomocí chamtivého algoritmu, kde je v každém kroku zvolen jmenovatel místo . Pokud tuto posloupnost ořízneme členy a vytvoříme odpovídající egyptský zlomek, například pro :

,

pak získáme z egyptských zlomků se členy nejbližší aproximaci zdola [6] [7] . Například jakýkoli egyptský zlomek vyžaduje alespoň pět výrazů pro číslo v otevřeném rozsahu . Je popsáno použití takových nejbližších rozšíření pro nižší odhad počtu dělitelů dokonalého čísla [6] , stejně jako v teorii grup [8] .

Rozšíření maximální délky a podmínky modulo

Libovolný zlomek poskytuje maximální podmínky v chamtivém algoritmu. Jsou zkoumány podmínky, za kterých expanze vyžaduje přesně zlomky [9] [10] , tyto podmínky lze popsat pomocí modulových srovnání:

V obecném případě posloupnost zlomků s minimálním jmenovatelem , která se rozšiřuje o chamtivý algoritmus se členy [11] :

.

Přibližný výpočet kořenů polynomů

Existuje metoda pro přibližný výpočet kořenů polynomu založená na greedy algoritmu [12] [13] , který určuje hrabivý rozklad kořene. V každém kroku se vytvoří další polynom, který má zbytek rozšíření jako kořen. Například pro výpočet zištné expanze zlatého řezu jako jednoho ze dvou řešení rovnice provede algoritmus následující kroky.

  1. Protože pro a pro všechny musí být kořen mezi a . První termín expanze je tedy . Pokud  je zbytek po prvním kroku chamtivé expanze, musí být splněna rovnice , kterou lze převést na .
  2. Protože pro a pro všechny , kořen leží mezi a , první člen v expanzi (druhý člen v expanzi zlatého řezu) je . Pokud  je zbytek po tomto kroku chamtivé expanze, splňuje rovnici , kterou lze převést na .
  3. Protože pro a pro všechny je dalším termínem rozšíření . Pokud  je zbytek po tomto chtivém expanzním kroku, splňuje rovnici , kterou lze převést na rovnici s celočíselnými koeficienty .

Pokračujeme-li v tomto procesu aproximace, získáme expanzi zlatého řezu na egyptský zlomek [14] :

.

Další celočíselné posloupnosti

Délka, minimální jmenovatel a maximální jmenovatel zištného rozšíření pro zlomky s malými čitateli a jmenovateli jsou zahrnuty v Encyklopedie celočíselných sekvencí [15] . Navíc chamtivé rozšiřování jakéhokoli iracionálního čísla vede k nekonečné rostoucí posloupnosti celých čísel a OEIS obsahuje rozšíření některých dobře známých konstant.

Související rozšíření

Je možné definovat chamtivý algoritmus s určitými omezeními ve jmenovateli:

,

kde je vybráno ze všech hodnot, které splňují uložená omezení a mají nejmenší možnou hodnotu, při které a takové, které se liší od všech předchozích jmenovatelů. Například Engelův rozklad lze považovat za algoritmus tohoto typu, ve kterém každý přípustný jmenovatel musí být získán vynásobením předchozího nějakým celým číslem. Je však často netriviální zjistit, zda takový algoritmus vždy vede ke konečnému rozkladu. Zejména liché chamtivé rozšíření zlomku je tvořeno chamtivým algoritmem s omezením na liché jmenovatele. Je známo, že pro liché existuje expanze do egyptského zlomku, ve kterém jsou všichni jmenovatelé lichí, ale zda lichý chamtivý algoritmus vždy povede ke konečnému rozšíření, není známo.

Poznámky

  1. Sigler, 2002 , kapitola II.7
  2. Silvestr, 1880 .
  3. Cahen, 1891 .
  4. Lambert, 1770 .
  5. Vůz, 1991 .
  6. 12 Curtiss , 1922 .
  7. Soundarajan, 2005 .
  8. Stong, 1983 .
  9. Květen, 1987 .
  10. Freitag, Phillips, 1999 .
  11. OEIS sekvence A048860 _
  12. Stratemeyer, 1930 .
  13. Salzer, 1947 .
  14. OEIS sekvence A117116 _
  15. A050205 , A050206 , A050210

Literatura