Stern – Brocotův strom - Stern–Brocot tree
v teorie čísel, Stern – Brocotův strom je nekonečný kompletní binární soubor strom ve kterém vrcholy korespondovat jeden za jednoho do pozitivní racionální čísla, jehož hodnoty jsou seřazeny zleva doprava jako v a vyhledávací strom.
Strom Stern – Brocot objevil nezávisle na sobě Moritz Stern (1858 ) a Achille Brocot (1861 ). Stern byl německý teoretik čísel; Brocot byl Francouz hodinář který použil Stern – Brocotův strom k návrhu systémů ozubených kol s a převodový poměr blízko nějaké požadované hodnotě nalezení poměru plynulá čísla blízko této hodnoty.
Kořen stromu Stern – Brocot odpovídá číslu 1. Vztah rodič-dítě mezi čísly ve stromu Stern – Brocot lze definovat z hlediska pokračující zlomky nebo medianty a cestu ve stromu od kořene po jakékoli jiné číslo q poskytuje posloupnost aproximace na q s menšími jmenovatelé než q. Protože strom obsahuje každé kladné racionální číslo přesně jednou, a šířka první vyhledávání of the tree provides a method of listing all positive rationals that is close related Farey sekvence.
Strom pokračujících zlomků
Každé kladné racionální číslo q lze vyjádřit jako pokračující zlomek formy
kde k a A0 jsou nezáporná celá čísla a každý následující koeficient Ai je kladné celé číslo. Toto znázornění není jedinečné, protože jeden má
pro každou posloupnost koeficientů A0, ..., Ak−1Použitím této identity k přepsání jakéhokoli vyjádření původní formy do druhé lze získat, aby konečný koeficient splňoval Ak ≥ 2 (pokud k = 0, v takovém případě jeden získá A0 ≥ 1); s tímto dalším požadavkem se reprezentace stává jedinečnou. Pak, pokud q = 1, číslo q má ve stromě Stern – Brocot nadřazený prvek daný pokračujícím zlomkovým výrazem
což v případě Ak = 2 lze přepsat jako Například racionální číslo23⁄16 má pokračující zlomkové zastoupení
takže jeho rodič ve stromu Stern – Brocot je číslo
Tento nadřazený prvek je vytvořen snížením jmenovatele v nejvnitřnějším členu pokračujícího zlomku o 1 a smrštěním s předchozím členem, pokud se zlomek stane .
Naopak každé číslo q ve stromu Stern – Brocot má přesně dvě děti: pokud
pak jedno dítě je číslo představované pokračujícím zlomkem
zatímco druhé dítě je reprezentováno pokračujícím zlomkem
Jedno z těchto dětí je méně než q a toto je levé dítě; druhý je větší než q a je to pravé dítě (ve skutečnosti původní výraz dává levému dítěti, pokud k je liché a správné dítě, pokud k je sudé). Například pokračující zlomkové zastoupení13⁄9 je [1; 2,4] a její dvě děti jsou [1; 2,5] =16⁄11 (pravé dítě) a [1; 2,3,2] =23⁄16 (levé dítě).
Je zřejmé, že pro každý konečný zlomkový výraz lze opakovaně přejít na jeho rodiče a dosáhnout kořene [1;] =1⁄1 stromu v konečně mnoha krocích (v A0 + ... + Ak − 1 přesné kroky). Každé kladné racionální číslo se proto v tomto stromu objeví právě jednou. Navíc všichni potomci levého dítěte libovolného počtu q jsou menší než qa všichni potomci pravého dítěte q jsou větší než q. Čísla v hloubce d ve stromu jsou čísla, pro která je součet koeficientů pokračujícího zlomku d + 1.
Medianty a binární vyhledávání
Strom Stern – Brocot tvoří nekonečno binární vyhledávací strom s ohledem na obvyklé řazení racionálních čísel.[1][2] Sada racionálních čísel sestupujících z uzlu q je definován otevřeným intervalem (Lq,Hq) kde Lq je předchůdcem q to je menší než q a nejblíže tomu na stromě (nebo Lq = 0 pokud q nemá žádného menšího předka) Hq je předchůdcem q to je větší než q a nejblíže tomu na stromě (nebo Hq = + ∞ pokud q nemá většího předka).
Cesta od kořene 1 k číslu q na stromě Stern – Brocot lze najít a binární vyhledávání algoritmus, který lze vyjádřit jednoduchým způsobem pomocí medianty. Nezáporná racionální čísla rozšiřte o hodnotu 1/0 (představující + representing), která je ze své podstaty větší než všechny ostatní racionální hodnoty. The binární vyhledávací algoritmus postupuje takto:
- Inicializujte dvě hodnoty L a H na 0/1, respektive 1/0.
- Dokud q je nalezen, opakujte následující kroky:
- Nechat L = A/b a H = C/d; spočítat mediant M = (A + C)/(b + d).
- Li M je méně než q, pak q je v otevřeném intervalu (M,H); nahradit L podle M a pokračovat.
- Li M je větší než q, pak q je v otevřeném intervalu (L,M); nahradit H podle M a pokračovat.
- Ve zbývajícím případě q = M; ukončit vyhledávací algoritmus.
Posloupnost hodnot M vypočtené tímto hledáním je přesně posloupnost hodnot na cestě od kořene k q ve stromu Stern – Brocot. Každý otevřený interval (L,H) vyskytující se v určitém kroku vyhledávání je interval (LM,HM) představující potomky prostředníka M. Rodič q ve stromu Stern – Brocot je poslední nalezený prostředník, který se nerovná q.
Tento postup binárního vyhledávání lze použít k převodu plovoucí bod čísla do racionálních čísel. Zastavením, jakmile je dosaženo požadované přesnosti, lze čísla s plovoucí desetinnou čárkou aproximovat na libovolnou přesnost.[3] Pokud skutečné číslo X je aproximováno jakýmkoli racionálním číslem A/b který není v posloupnosti mediánů nalezených výše uvedeným algoritmem, pak posloupnost mediánů obsahuje bližší přiblížení X který má jmenovatele maximálně roven b; v tomto smyslu tvoří tyto medianty nejlepší racionální aproximace na X.
Samotný strom Stern – Brocot lze definovat přímo z hlediska mediánů: levé dítě libovolného čísla q je prostředníkem q s nejbližším menším předkem a správným dítětem q je prostředníkem q s nejbližším větším předkem. V tomto vzorci q a jeho předchůdce musí být oba brány v nejnižších termínech, a pokud neexistuje žádný menší nebo větší předek, mělo by být použito 0/1 nebo 1/0. Jako příklad je třeba použít 7/5, jeho nejbližší menší předek je 4/3, takže jeho levé dítě je (4 + 7) / (3 + 5) = 11/8 a jeho nejbližší větší předek je 3/2, takže jeho pravé dítě je (7 + 3) / (5 + 2) = 10/7.
Vztah k Fareyovým sekvencím
The Farey sekvence řádu n je seřazená posloupnost zlomků v uzavřeném intervalu [0,1], které mají jmenovatele menší nebo rovný n. Stejně jako v binární vyhledávací technice pro generování Stern – Brocotova stromu lze Fareyovy sekvence konstruovat pomocí mediánů: Fareyova sekvence řádu n + 1 je vytvořeno z pořadí Farey pořadí n výpočtem mediant každé dvě po sobě jdoucí hodnoty v pořadí Farey pořadí n, udržující podmnožinu mediánů, které mají jmenovatele přesně rovny n + 1 a umístění těchto mediánů mezi dvě hodnoty, ze kterých byly vypočítány.
Podobný proces vložení média, počínaje odlišnou dvojicí koncových bodů intervalu [0 / 1,1 / 0], lze také popsat konstrukci vrcholů na každé úrovni stromu Stern – Brocot. The Stern – Brocotova sekvence objednávky 0 je sekvence [0 / 1,1 / 0] a Stern – Brocotova sekvence objednávky i je sekvence vytvořená vložením prostředku mezi každou po sobě jdoucí dvojici hodnot v pořadí Stern – Brocot pořadí i - 1. Stern – Brocotova posloupnost objednávky i se skládá ze všech hodnot na první i úrovně stromu Stern – Brocot společně s hraničními hodnotami 0/1 a 1/0 v číselném pořadí.
Sekvence Stern – Brocot se tedy liší od sekvencí Farey dvěma způsoby: nakonec zahrnují všechny pozitivní racionály, nejen racionály v intervalu [0,1], a na nv tomto kroku jsou zahrnuty všechny mediány, nejen ty, které mají stejného jmenovatele n. Fareyova sekvence řádu n lze najít inorderovým procházením levého podstromu stromu Stern – Brocot, zpětným sledováním vždy, když je číslo s jmenovatelem větším než n je dosaženo.
Další vlastnosti
Li jsou tedy všechny racionály ve stejné hloubce ve stromu Stern – Brocot
- .
Navíc pokud jsou dva po sobě jdoucí zlomky na nebo nad určitou úrovní ve stromu (v tom smyslu, že jakýkoli zlomek mezi nimi musí být na nižší úrovni stromu), pak
- .[4]
Spolu s výše popsanými definicemi ve smyslu pokračujících zlomků a mediánů lze strom Stern – Brocot definovat také jako Kartézský strom pro racionální čísla upřednostňovaná jejich jmenovateli. Jinými slovy je to jedinečný binární vyhledávací strom racionálních čísel, ve kterém je rodič jakéhokoli vrcholu q má menší jmenovatel než q (nebo když q a jeho rodič jsou obě celá čísla, ve kterých je rodič menší než q). Z teorie karteziánských stromů vyplývá, že nejnižší společný předek libovolných dvou čísel q a r ve stromu Stern – Brocot je racionální číslo v uzavřeném intervalu [q, r], který má nejmenší jmenovatel ze všech čísel v tomto intervalu.
Prostupující vrcholy na každé úrovni Stern – Brocotova stromu o a bit-reverzní permutace produkuje jiný strom, Calkin – Wilfův strom, ve kterém jsou děti každého čísla A/b jsou dvě čísla A/(A + b) a (A + b)/b. Stejně jako strom Stern – Brocot obsahuje strom Calkin – Wilf každé kladné racionální číslo přesně jednou, ale nejedná se o binární vyhledávací strom.
Viz také
- Funkce Minkowského otazníku, jehož definice racionálních argumentů úzce souvisí se stromem Stern – Brocot
- Calkin – Wilfův strom
Poznámky
- ^ Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren (1994), Konkrétní matematika (Druhé vydání), Addison-Wesley, str. 116–118, ISBN 0-201-55802-5
- ^ Gibbons, Jeremy; Lester, David; Bird, Richarde (2006), „Functional pearl: Enumerating the rationals“, Journal of Functional Programming, 16 (3): 281–291, doi:10.1017 / S0956796806005880.
- ^ Sedgewick a Wayne, Úvod do programování v Javě. Implementaci tohoto algoritmu v jazyce Java lze nalézt tady.
- ^ Bogomolny připisuje tuto vlastnost kanadskému hudebnímu teoretikovi Pierru Lamothe.
Reference
- Brocot, Achille (1861), „Calcul des rouages par aproximace, nouvelle méthode“, Revue Chronométrique, 3: 186–194.
- Stern, Moritz A. (1858), „Ueber eine zahlentheoretische Funktion“, Journal für die reine und angewandte Mathematik, 55: 193–220.
- Berstel, Jean; Lauve, Aaron; Reutenauer, Christophe; Saliola, Franco V. (2009), Kombinatorika slov. Christoffel slova a opakování slovSérie monografií CRM, 27, Providence, RI: Americká matematická společnost, ISBN 978-0-8218-4480-9, Zbl 1161.68043
externí odkazy
- Aiylam, Dhroova, Modifikované Stern-Brocotovy sekvence, arXiv:1301.6807, Bibcode:2013arXiv1301.6807A
- Austin, David, Stromy, zuby a čas: Matematika výroby hodin Sloupec funkcí z AMS
- Bogomolny, Alexander, Stern brocot-strom, cut-the-uzel, vyvoláno 2008-09-03.
- Sloane, N. J. A., Stern – Brocot nebo Farey Tree, On-line encyklopedie celočíselných sekvencí.
- Wildberger, Norman, MF96: Frakce a Stern-Brocotův strom.
- Weisstein, Eric W. „Stern – Brocot Tree“. MathWorld.
- Stern – Brocotův strom na PlanetMath.org.
- Nekonečné zlomky, Numberphile