Ahne algoritmi Egyptin murtoluvuille

Egyptin murto - osien ahne algoritmi  on ahne algoritmi , joka muuntaa rationaaliset luvut egyptiläisiksi murtoluvuiksi ja valitsee jokaisessa vaiheessa suurimman mahdollisen alikvootin , jota voidaan käyttää jäännösmurtoluvussa.

Lukulle ahneella algoritmilla saatua hajotusta kutsutaan ahneeksi egyptiläiseksi hajotukseksi , Sylvester -hajotelmaksi tai luvun Fibonacci-Sylvester- hajotukseksi .

Historia

Fibonaccin Abacus - kirjassa esittämien Egyptin murtolukujen muodostamismenetelmien joukossa oli ahne algoritmi, jota ehdotettiin käytettäväksi vain, jos muut menetelmät epäonnistuivat [1] . Myöhemmin ahne algoritmi ja sen laajennukset irrationaalisten lukujen approksimoimiseksi löydettiin uudelleen useita kertoja, varhaisin ja tunnetuin tapaus oli Sylvester -algoritmi [2] [3] . Menetelmä, joka antaa lähimmän likiarvon kussakin vaiheessa, jolle negatiiviset murtoluvut ovat sallittuja, kuuluu Lambertille [4] .

Algoritmi ja esimerkit

Fibonacci-algoritmi suorittaa hajotuksen peräkkäisellä korvauksella:

(yksinkertaistaa tarvittaessa toista termiä). Esimerkiksi:

.

Tässä laajennuksessa ensimmäisen alikvootin nimittäjä saadaan pyöristämällä ylöspäin seuraavaan (suurempaan) kokonaislukuun, ja loppuosa  on vähennyksen tulos . Toisen murtoluvun jakaja - , - saadaan pyöristämällä ylöspäin seuraavaan (suurempaan) kokonaislukuun, ja jäännös  on se, mikä jää jäljelle vähentämisen ja .

Koska jokainen laajennusvaihe pienentää jäännöksen osoittajaa, tämä menetelmä valmistuu äärellisessä määrässä vaiheita. Kuitenkin verrattuna muinaisiin egyptiläisiin hajotusmenetelmiin tai nykyaikaisimpiin menetelmiin tämä menetelmä voi antaa hajotuksen melko suurilla nimittäjillä. Esimerkiksi luvun ahne laajennus :

,

kun taas muut menetelmät antavat paljon yksinkertaisemman laajennuksen:

,

ja ahneelle algoritmille se antaa laajennuksen kymmeneen murto-osaan, joista viimeisen nimittäjässä on 500 numeroa, kun taas on esitys [5] :

.

Sylvesterin sekvenssi

Sylvester-sekvenssi voidaan esittää muodostuneen yksikön äärettömällä laajennuksella ahneella algoritmilla, jossa jokaisessa vaiheessa valitaan nimittäjä :n sijaan . Jos katkaisemme tämän sekvenssin termeillä ja muodostamme vastaavan egyptiläisen murto-osan, esimerkiksi :

,

niin saadaan lähin likiarvo alhaalta Egyptin murtoluvuista, joissa on jäseniä [6] [7] . Esimerkiksi mikä tahansa egyptiläinen murtoluku edellyttää vähintään viisi termiä avoimen alueen luvulle . Sellaisten lähimpien laajennusten soveltaminen täydellisen luvun jakajien lukumäärän pienempään estimaatiin [6] sekä ryhmäteoriassa [8] kuvataan .

Maksimipituuslaajennukset ja moduloehdot

Mikä tahansa murtoluku antaa ahneen algoritmin enimmäistermit. Olosuhteet, joissa laajennus vaatii täsmälleen murto -osia [9] [10] , tutkitaan , nämä olosuhteet voidaan kuvata modulo-vertailuilla:

Yleisessä tapauksessa murto-osien sarja, jonka nimittäjä on pienin ja joka laajenee ahneella algoritmilla, jossa on jäseniä [11] :

.

Polynomien juurien likimääräinen laskelma

On olemassa menetelmä polynomin juurien likimääräiseen laskemiseen, joka perustuu ahneeseen algoritmiin [12] [13] , joka määrittää juuren ahneen hajoamisen. Jokaisessa vaiheessa muodostetaan ylimääräinen polynomi, jonka juurena on loppuosa laajennuksesta. Esimerkiksi laskeakseen kultaisen leikkauksen ahneen laajennuksen yhdeksi yhtälön kahdesta ratkaisusta , algoritmi suorittaa seuraavat vaiheet.

  1. Koska for ja for all , juuren on oltava välillä ja . Laajennuksen ensimmäinen termi on siis . Jos  on jäännös ahneen laajennuksen ensimmäisen vaiheen jälkeen, yhtälön tulee täyttyä , joka voidaan muuntaa muotoon .
  2. Koska ja kaikille , Juuri sijaitsee välillä ja , ensimmäinen termi laajennus (toinen termi laajentaminen kultainen leikkaus) on . Jos  on tämän ahneen laajennusvaiheen jälkeen jäävä osa, se täyttää yhtälön , joka voidaan muuntaa muotoon .
  3. Koska kaikille , laajennuksen seuraava termi on . Jos  on tämän ahneen laajennusvaiheen jälkeen jäävä osa, se täyttää yhtälön , joka voidaan muuntaa yhtälöksi kokonaislukukertoimilla .

Jatkamalla tätä lähentämisprosessia saadaan kultaleikkauksen laajennus egyptiläiseksi jakeeksi [14] :

.

Muut kokonaislukusekvenssit

Pienillä osoittajilla ja nimittäjillä olevien murtolukujen ahneen laajennuksen pituus, pienin nimittäjä ja maksiminimittäjä sisältyvät Encyclopedia of Integer Sequences [15] . Lisäksi minkä tahansa irrationaalisen luvun ahne laajennus johtaa äärettömään kasvavaan kokonaislukujonoon, ja OEIS sisältää joidenkin hyvin tunnettujen vakioiden laajennuksia.

Aiheeseen liittyvät laajennukset

On mahdollista määritellä ahne algoritmi tietyin nimittäjän rajoituksin:

,

jossa valitaan kaikista arvoista, jotka täyttävät asetetut rajoitukset ja joilla on pienin mahdollinen arvo, jolla ja sellaisella, joka eroaa kaikista aikaisemmista nimittäjistä. Esimerkiksi Engel-hajotelma voidaan ajatella tämän tyyppisenä algoritmina, jossa jokainen sallittu nimittäjä on hankittava kertomalla edellinen jollain kokonaisluvulla. Usein ei kuitenkaan ole triviaalia määrittää, johtaako tällainen algoritmi aina äärelliseen hajoamiseen. Erityisesti murto -osan pariton ahne laajennus muodostetaan ahneella algoritmilla, jossa on rajoitus parittomille nimittäjille. Tiedetään, että parittomalla on laajennus egyptiläiseksi murto-osaksi, jossa kaikki nimittäjät ovat parittomia, mutta johtaako pariton ahne algoritmi aina äärelliseen laajennukseen, ei tiedetä.

Muistiinpanot

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

Kirjallisuus