Reprezentace přirozených čísel ve ibonacciho soustavě rantiše Maňá, JI ČVUT, 2005 Úvod Ja víme, přirozená čísla lze vyádřit různými způsoby Nečastěi zápisu čísel používáme soustavu desítovou, ale umíme používat i iné soustavy napřílad dvoovou a osmičovou V tomto článu se budeme zabývat reurentně zadanými číselnými soustavami, zeména pa soustavou ibonacciho Číselné soustavy Definice: Nechť Z ( ) Z e ostře rostoucí posloupnost celých čísel taová, že Z 0 Reprezentací přirozeného čísla n v soustavě Z rozumíme onečnou posloupnost celočíselných oeficientů ( ) ( a a L a ) Z n a taovou, že a Z Číslo n v soustavě Z zapisueme ao n a číslo nazýváme délou reprezentace Vidíme, že edno přirozené číslo může mít více reprezentací v dané soustavě Z Mezi všemi reprezentacemi daného n e nevýznamněší tzv hladový rozvo, terý zísáme hladovým algoritmem Na množině rozvoů přirozeného čísla n lze definovat tzv lexiograficé uspořádání a dá se uázat, že hladový rozvo e lexiograficy nevětší ze všech možných rozvoů přirozeného čísla n Jeho důležitost spočívá zeména v tom, že e pro aždé číslo n určen ednoznačně ibonacciho číselná soustava Jedná se o číselnou soustavu, eíž zálad tvoří prvy ibonacciho posloupnosti tzv ibonacciho čísla Ta sou definována následovně:, a pro 2 definueme 0 + 2 Existue i přímý vzorec pro n-té ibonacciho číslo: n 5 n ( ( ) ) + n τ τ + Definice: Nechť + 5 5, deτ a τ 2 2 n N Posloupnost a L a splňuící n a nazveme a 0, pro a) ibonacciho rozvoem čísla n, poud { } b) ibonacciho reprezentací čísla n, poud a N pro Zapisueme n ( a a a ) L Hladový rozvo: Lexiograficy nevětší, neobsahue dvě edničy vedle sebe Líný rozvo: Lexiograficy nemenší, neobsahue dvě nuly vedle sebe Zápis přirozeného čísla n ao součet různých ibonacciho čísel není ednoznačný Přílad: Vypišme něteré možné rozvoe čísla n 63: 63 55 + 5 + 3 9 + 4 + 3 (000000) 63 34 + 2 + 5 + 2 + 8 + 7 + 4 + 2 + (000)
Hladový rozvo čísla 63: 63 55 + 8 9 + 5 (0000000) Reprezentace, terá není rozvo: 63 2 7 + 2 5 + 4 (202000) Z definice ibonacciho čísel vyplývá následuící pravidlo pro rozvoe: Poud ve ibonacciho rozvoi čísla n zaměníme libovolnou sevenci 00 za 0 nebo naopa, zísáme ibonacciho rozvo steného čísla Postupným zaměňováním těchto sevencí zísáme všechny ibonacciho rozvoe čísla n K převodu přirozeného čísla do ibonacciho soustavy použieme hladový algoritmus, terý e pro ibonacciho soustavu ednodušší, než pro soustavy obecné Zednodušení e možné díy omezení oeficientů a efetivnímu výpočtu ibonacciho čísel Hladový algoritmus e velmi podobný algoritmu pro převádění čísel z desítové soustavy do dvoové Podařilo se uázat, že průměrný počet nul za první edničou v hladovém rozvoi onvergue hodnotě τ 2 2, 68 Proto ve hladovém algoritmu budeme ibonacciho čísla počítat zpětně dle vztahu + 2 + r r2 r Poznáma: Pro hladový rozvo čísla n N používáme často zápis n 0 0 0 i Zápisem 0 rozumíme edniču a za ní i nul Poznameneme, že hladový rozvo ibonacciho čísla n má právě n míst, z toho na prvním místě e edniča a za ní následue n nul L Počet rozvoů přirozeného čísla n ve ibonacciho soustavě Chceme zoumat, oli existue různých ibonacciho rozvoů daného přirozeného čísla n Dále nás zaímaí vlastnosti funce, terá tuto neednoznačnost popisue Definice: Nechť n N Definueme následuící funce: R(n) počet všech možných rozvoů čísla n do ibonacciho soustavy R 0 (n) počet rátých rozvoů čísla n, t těch, teré maí délu menší než hladový R (n) počet dlouhých rozvoů n, t těch, teré maí stenou délu ao hladový Je zřemé, že platí: ( n) R ( n) R ( n) R 0 + symetricá a platí R( + i) R( + i) Dále se podařilo uázat, že funce R(n) e pro aždé i 0, K, 2 unce R(n)
Metody pro výpočet hodnot R(n): a) Přímá metoda využívá nahrazování sevencí 00 za 0 Vychází z hladového rozvoe, e velmi zdlouhavá a neefetivní Používá se pro výpis všech možných rozvoů daného přirozeného čísla n b) Gi Hi metoda velmi rychlá a efetivní metoda pro výpočet hodnot R(n) založená na výpočtu hodnot dvou velmi rychle onverguících posloupností Vychází z hladového algoritmu, onrétně pa z počtů nul mezi sousedícími edničami v hladovém rozvoi Metoda e složitosti O(log n) c) Berstelova metoda rovněž velmi rychlá a efetivní metoda pro výpočet hodnot R(n) založená na Berstelově maticovém schématu Využívá reurzivních vlastností posloupnosti R(n) a e stené složitosti ao metoda Gi Hi, tedy O(log n) Vlastnosti funce R(n) unce R(n) byla podrobena rozsáhlému výzumu Podařilo se neen doázat eí symetrii, ale taé polohu a ednoznačný tvar všech eich maxim a minim Podařilo se uázat, aá přirozená čísla maí maximální možný počet rozvoů do ibonacciho číselné soustavy, uvažueme-li rozvoe pevné dély Pro hledání maxim této funce potřebueme definovat následuící funce: Max ArgMax ( n) max { R( ) n < n+ } ( n) { N < R( ) Max( n) } n n+ unce Max(n) udává maximální počet rozvoů čísla v intervalu mezi sousedními ibonacciho čísly Jde o maximum počtu rozvoů na všech číslech, eichž hladový rozvo má ve ibonacciho soustavě n míst unce ArgMax(n) e množina všech čísel z intervalu, na terých funce R() svého maxima nabývá n n+ Zde e souhrn poznatů o funci R(n), teré se podařilo doázat: a) Pro všechna n N platí R ( n) a navíc R ( n) n pro něaé n n b) R( n ) R( 0 ) + 2 c) lim inf R ( n), lim sup R( n) + d) Max ( 2 + ) +, Max( 2 + 2) 2 e) Pro n lichá maí hladové rozvoe čísel, na terých funce R nabývá maxima, tvar 3 3 4 3 3 2 ArgMax( 4 + ) {( 0 L0 0 ),( 0 0 L0 0 ) }, de počet sevencí 0 3 e roven Pro 2 bude navíc v množině ArgMax prve (0 2 0 2 0 2 ) 3 3 2 3 3 4 ArgMax( 4 + 3) {( 0 L0 0 ),( 0 0 L0 0 ) }, de počet sevencí 0 3 e roven v prvním rozvoi a ve druhém rozvoi f) Pro n sudá, n > 5, zísáme množinu ArgMax(n) ta, že prvům množiny ArgMax ( n 3) přidáváme na začáte a na onec sevenci 00 Nesmíme vša přidávat tuto sevenci současně na začáte i na onec rozvoe 3 3 4 3 3 2 g) R( 0 L 0 0 ) R( 0 0 L0 0 ) 2 +, de počet bloů 0 3 e roven 3 3 2 3 3 4 h) R( 0 L 0 0 ) R( 0 0 L0 0 ) 2 + 2, de počet bloů 0 3 v prvním čísle e roven a ve druhém čísle roven
i) Nechť N r r n, n ( 0 ) 0 L Poud existue i { K,, } ta, že r 5, potom R(n) není maximální (pro rozvoe dély + i r i ) r r ) Poud existue i {, K, 2} taové, že r i 4, potom rovněž R( 0 0 ) L není maximální n ) Průměrná hodnota R na intervalu, n n+ e přibližně rovna 5 2 n 3 τ i Reurzivní generování R(n) Byly odvozeny nové algoritmy založené na reurzivních vlastnostech R(n), teré umožnily generovat hodnoty této funce po velých blocích a přispěly ta urychlení výpočtu hodnot této funce Rovněž v dalších partiích, teré tuto funci využívaí, byly velmi přínosné Poznaty byly apliovány taé v algoritmu na hledání maxim R(n), de se podařilo původní složitost řádu O(n log n) snížit na řád O(n) unce r(m) a eí vlastnosti unce r(m) udává četnost výsytu hodnoty m v palindromech posloupnosti R(n) Jeí formální definice e následuící: Definice: Nechť n N Definueme množinu B m r r ( ) ω 0 L 0 r, r 2, R ω m { ( ) } Definueme funci r(m) #B(m), de # značí počet prvů množiny unce r(m) e velmi chaoticá Nicméně se podařilo o ní doázat následuící tvrzení: a) Prvy množiny B(m) maí rozvoe omezené dély Tedy pro ω B( m) platí ω 2m b) Nechť m, 2m Potom počet výsytů čísla m mezi čísly R( ),, ( K R + ) e roven r(m) #B(m) c) Nechť m N, m 2 Potom hodnota funce r(m) e sudé číslo Pro výpočet hodnot funce r(m) e nutné vyít ze vzorce, terý e poněud nepřehledný, ale terý dává funci r(m) do souvislosti s Eulerovou funcí φ : r m d ( m) φ r( d ) d < m d m S využitím tohoto vztahu spolu se známými vlastnostmi Eulerovy funce můžeme odvodit velmi nepřehledný vzorec, pomocí terého budeme moci hodnoty r(m) algoritmicy vypočítat Algoritmus bude založen na rychlém výpočtu hodnot Eulerovy funce tzv Eratostenovu sítu Rovněž můžeme zformulovat vztah pro přímý vzorec r(m) pro něterá m φ m 2 (m ) a) Nechť m e prvočíslo Potom r(m) 2 ( ) Potom ( ) ( )( ) b) Nechť m e prvočíslo a N r p 2 p 2 p Poznameneme, že další zobecnění není přímočaré z důvodů extrémní chaotičnosti funce r
Výpočet hodnot funce r(m) a) S využitím reurzivních vlastností R(n) algoritmus exponenciální složitosti b) S využitím Eratostenova síta algoritmus složitosti O(m ln m) Úsalí spočívá ve správném naprogramování velmi nepřehledného vzorce a efetivním výpočtu hodnot unce r(m) unce r(m) e opravdu velmi chaoticá Eulerova funce φ ( n)
ibonacciho reprezentace přirozeného čísla Počet reprezentací přirozeného čísla ve ibonacciho soustavě e vetší nebo roven počtu eho rozvoů Každý rozvo e zároveň i reprezentací, opačné tvrzení ale neplatí Definice: Nechť n N Definume funci B(n) počet ibonacciho reprezentací čísla n Pro tuto funci byl odvozen reurzivní vzorec a algoritmus pro výpočet eích hodnot, Definueme ( ) Definice: Nechť i n N b n, i počet ibonacciho reprezentací čísla n, de nevětší ibonacciho číslo vysytuící se v součtu e i Věta: Nechť, n N taová, že n < + Potom ( n, i) 0 b pro i >, i N Věta: Pro hodnoty b ( n, i) definované výše platí: b( n, i) b( n i, i) + b( n i, i ) + L + b( n i,) Spolu s počáteční podmínou b ( 0,) ta zísáváme vzorec pro výpočet hodnot ( n i) Pro výpočet hodnot B(n) použieme vztah B( n) b( n i) i b,,, de, n N a n < + První pozorování uazuí, že hodnoty B(n) rostou exponenciálně Toto pozorování se prozatím nepodařilo matematicy doázat Co se ale doázat podařilo, sou následuící tvrzení: a) unce B(n) e rostoucí b) Pro všechna N 2 n n n platí: b ( n, ), b ( n,2), ( n,3) + 2 b 2 2 unce B(n)
Závěr Pro práci s ibonacciho soustavou byl vytvořen program ibonacci3, terý si lze spolu s celou diplomovou prací stáhnout z adresy http://fmanawebzdarmacz Tento program umožnil vzninout spoustě vět a definic týaících se ibonacciho soustavy a funcí na ní definovaných Poslouží taé další práci s ibonacciho soustavou, apliaci výsledů na onrétní problematiu a další Zmíním taé možnost používat rychlého výpočtu Eulerovy funce, terá e užitečná zeména v oblasti disrétní matematiy a ryptologie Rovněž z odvozených matematicých poznatů může vycházet další práce