Fierichnaya番号システム、たたはなぜ1 + 10 = 100

「10.01 x 10.01 = 1000.1001」

ゞョヌゞオヌりェル。 「1010001001001000.1001001000100001」



画像








すべおの自然数が有限の桁数で曞かれおいる䞍合理な基盀を持぀䜍眮番号システムはありたすか 小数点の埌に数字がない1よりも倧きい数は、おそらく敎数でも合理的でもありたせんか どの1 + 10 = 100、および1 + 1 = 10.01ですか



ありたす。 これは、バヌグマンシステムたたはベヌスΊを䜿甚した数倀システム「fi」ず読みたす。これはロシア語のアルファベットではなくギリシャ語の文字ですず呌ばれたす。 数Ίは黄金数たたは定数黄金比ずも呌ばれ、次の匏を持ちたす。







\ Phi = \ frac {\ sqrt5 + 1} 2






本文の埌の方で、私は時々それをfierichnaya䟋えば8進数ずの類掚による数䜓系ず呌びたすが、時々そうではありたせん。



これは䜕ですか



フィリアン番号システムは、通垞ずは異なる䜍眮番号システムです。 共通の10進衚蚘の堎合、各桁は10の特定の环乗に察応し123 = 1∙10 2 + 2∙10 1 + 3∙10 0 、2進数では特定の2の环乗に察応したす101 2 = 1∙2 2 + 0∙2 1 + 1∙2 0 、その埌、Bergmanシステムでは、バむナリのように、数字0ず1のみがあり、各ナニットはFの特定の环乗を衚したす。次に䟋を瀺したす。







11_ \ Phi = 1 \ cdot \ Phi ^ 1 + 1 \ cdot \ Phi ^ 0 = \ frac {\ sqrt5 + 1} 2 + 1 = \ frac {3} {2} + \ frac {\ sqrt5} 2








どこに行ったの



名前から掚枬できるように、バヌグマンシステムは特定のバヌグマンによっお発明されたした。 おそらく、あなたは質問がありたす、どのようなカリスマ的なひげを生やした男が蚘事の冒頭に描かれおいたすか。 それで、これはカリフォルニア倧孊バヌクレヌ校の数孊代数孊者、教授であるゞョヌゞ・バヌグマンです。 圌は1943幎にブルックリンで生たれ、14幎埌、ただひげも博士号も持っおいなかったが、抜象的な代数にすでに想像力ず関心を持っおいたずき、数孊雑誌で圌が発芋した数䜓系を説明した蚘事を発衚した 圌はそれを「タりシステム」ず呌びたした、その基本的な特性ずその䞭の算術挔算のルヌル。 圌の蚘事では、立掟な謙虚さで、圌は「嚯楜や心の充満を陀いお、このような数字システムの有甚なアプリケヌションは芋圓たらない」ず認めたした。 しかし、圌の評䟡では、圌はたったく正しくなかったこずが時が瀺しおいたす。 しかし、私たちは、埌でフェリックス番号システムのアプリケヌションに぀いお話したす。



面癜いのは䜕ですか



有限の桁数の任意の自然数を蚘録できる無理数の基瀎を持぀無限に倚くのシステムがありたす。 たずえば、2の平方根に等しい底を持぀数倀システム。 2桁ごずにのみ基数の偶数乗に察応するものを䜿甚する堎合、通垞の2進数システムのように䜿甚できたす。







10101 _ {\ sqrt2} = 111_2








同様に、3の平方根、2の立方根は、ベヌスずしお私たちに合っおいたす...さお、あなたはアむデアを埗る。 ほがすべおの敎数が無限小数で曞き蟌たれる数䜓系も倚数ありたす。 秘密を教えたす
ネタバレ
さらに倚く、それらの連続䜓がありたす。 そしお、自然数が有限の桁数で曞かれおいる数倀システムは、可算集合にすぎたせん。


厳密に蚀えば、超越ベヌスず十分な数のセットを備えたシステムにはこのプロパティがありたす。 pycic、e-aic、およびe-degree-pi- numberシステムでも、1を超えるすべおの自然数は無限小数ずしお曞き蟌たれたす。



Bergmanシステムは、最初のグルヌプず2番目のグルヌプの䞡方ずは異なりたす。 その䞭で、1より倧きい自然数はれロではないが、小数点以䞋の桁数は有限です。 䟋



2 = 10.01 F

5 = 1000.1001 F

42 = 10100010.00100001 F

451 = 1010000001010.000100000101

1984 =゚ピグラフを参照



倧たかに蚀っお、これはパタヌンを少し壊したす。 「小数郚」ず「小数郚」の抂念は明らかに盞互に関連しおいるずいう事実に慣れおいたす。 ただし、fierichnoyシステムでは、小数郚はれロに等しく、この堎合の小数点以䞋の桁数は等しくない堎合がありたす。 さらに、小数点以䞋の桁数がれロに等しい堎合、れロず1を陀くすべおの堎合に、非れロの小数郚分が非幻想的に存圚するこずが蚌明できたす。
蚌明
数にれロより叀い単䜍を持たせおください。 すでにわかっおいるように、それらはいく぀かに察応したす

これらの次数を曞き留めお開き、远加するこずにより、a +b√5の圢匏の数を取埗したす。ここで、aずbは有理数であり、bは特定の数の二項係数の合蚈に特定の5を掛けお、いく぀かのデュヌスで割った。 明らかに、そのような数倀は有理数ではなく、したがっお敎数ではありたせん。




敎数に加えお、フィリアンナンバヌシステムの有限桁数は、℀からの数倀、぀たり、次の圢匏のすべおの数倀も曞き蟌みたす。







a + b \ cdot \ Phi \ quada、b \ in \ mathbb {Z}








気配りのある読者が気づいたかもしれたせんが、䞊蚘の激しい゚ントリのいずれにも、2぀のナニットが連続しおいない堎合がありたした。 これは偶然ではありたせん。 フィボナッチ数䜓系のように、バヌグマン䜓系では、最高䜍の単䜍は2぀䞋の単䜍の合蚈です。 ぀たり、 100 F = 11 Fです。 これは、黄金比のナニヌクな特性によるものです 2 =+ 1。 したがっお、フェリックシステムでの数倀の正芏衚蚘は、2぀のナニットが連続しない堎合です。



それに翻蚳する方法は



自然数に぀いお、Bergmanは次のアルゎリズムを提案したした。数倀nのレコヌドがわかっおいる堎合、小数点の前のれロ䜍眮にある数字の皮類を調べたす。 れロがある堎合は、そこに1を曞き蟌み、n + 1を取埗したす。 すでにナニットがある堎合、このナニットにルヌル100 = 11を適甚しお、番号の衚蚘を非正芏化したす。同時に、新たに圢成されたナニットの1぀が他のナニットによっお既に占有されおいる堎所に萜ちた堎合、最初にそれを倉換したす。 次に、非正芏化されたレコヌドで、れロを1に倉曎し、正芏化しお戻したす。 䟋



4 = 101.01 F = 101.0011 F = 100.1111 F

5 = 101.1111= 110.0111= 1000.0111= 1000.1001



このアルゎリズムの正圓性の蚌明読者の良心に任せたすから、特に、自然数は、フェリック数䜓系で有限衚珟を持っおいるこずがわかりたす。 私はこれに぀いおすでに前に話したしたが、今、あなたはそれに぀いお私の蚀葉をずる矩務はありたせん。



このアルゎリズムには、かなり悲しい時間の耇雑さがありたす。 次のように最適化できたす。1を単玔に加算する代わりに、2を連続しお乗算し、必芁に応じお1を加算したすたずえば、バむナリ衚蚘から数倀を取埗したす。 ただし、2を掛けるず、それ自䜓に数字が加算されたす。これは、バヌグマンシステムでは完党に単玔な操䜜ではありたせん。これに぀いおは埌で説明したす。



䞀方、線圢時間での定矩により、数の線圢圢匏を愚かに芋぀けるこずができたす。 このアルゎリズムは、次のjs-codeでほが説明できたす。



const Phi = (Math.sqrt(5)+1)/2; function toPhiBase(n){ var power = 1; var result = ""; while(power <= n){ power *= Phi; } while(n > 0){ if(power == 1){ result += "."; } power /= Phi; if(power <= n){ n -= power; result += 1; }else{ result += 0; } } return result; }
      
      







もちろん、このコヌドを芋お、プログラミングに粟通しおいる人は意気消沈するはずです。 浮動小数点数、粟床の䜎䞋、存圚の無益さは圌の頭の䞭を掗い流さなければならないずいう考え...そしお実際、䞎えられた関数は、同じ1984幎のように、少なくずも倧きな数のドロップに察しおは正しく機胜したせん。



浮動小数点数を䜿甚する堎合、粟床の䜎䞋はほずんど避けられたせん。 しかし、あなたはそのような数字を扱うこずはできたせん。 フィヌルドℚ√5぀たり、a +b√5、a、b∈formの圢匏の数字で構成されるフィヌルドですべおの操䜜を実行できたす。 そのような数倀に察するアクションは、有理数に察する挔算のみを䜿甚しお実珟できたす。 たた、敎数の加算、枛算、乗算のみを䜿甚しお有理数の挔算を実珟できたすが、これは粟床の䜎䞋に぀ながりたせん。 ぀たり、独自の小さなシンボリック算術を曞くこずができたす。 そしお、私はい぀もそれを曞きたかった。



数字をバヌグマンシステムに、たたはその逆に倉換する胜力がなく、むンタヌネットの䜏民がどれだけ苊しんでいるのかを理解するずすぐに、私はすぐに䞊蚘のアプロヌチに基づいおnpmモゞュヌルをむンスパむアしたした。 これで、コン゜ヌルに次のように入力するこずで、42番のワむルドカヌド゚ントリでミスを犯したかどうかを党員が個別に確認できたす。



 npmはphibaseをむンストヌルしたす
ノヌド
 var PhiBase = require "phibase"
 PhiBase.toPhiBase42 




䞍明な理由でノヌドをむンストヌルしおおらず、npmがオンラむンコンバヌタヌを䜿甚できる堎合



乗り換えずいえば。 ここでも、いく぀かのアプロヌチがありたす。 Bergmanのスタむルでは、必芁に応じお番号から1぀ず぀削陀しお、レコヌドを非正芏化できたす。 浮動小数点数で定矩するこずにより蚈算でき、粟床が倱われたすアルゎリズムは提䟛したせんが、非垞に明癜です。 たたは、有理数を扱う堎合は、再び「シンボリック」蚈算を䜿甚できたす。私のモゞュヌルでは、ご想像のずおり、この方法が䜿甚されおいたす。
非衚瀺のテキスト
実際のシンボリック蚈算は、もちろん、私が曞いた有理数のクラスや5有理数の根元よりも栌段にクヌルで匷力なものだからです。




それで働くには



短い答え難しい。



Bergmanシステムは、加算ず枛算の叀兞的なアルゎリズムを䜿甚したせん。 思い出しおください、 1 + 1 = 10.01 。 これは、「列に」远加しようずするず、発生するハむフネヌションが巊右に移動するこずを意味したす。 これにより、䞀方の端から数字を取埗しお加算し、䜙剰をもう䞀方の端に転送するずいう垌望が倱われたす。 fierichシステムでの加算のアプロヌチの1぀は、最初に数字のベクトル10.01 + 101.01 = 111.02のように数字を远加しおから、䜕らかの方法でレコヌドを正芏化するこずです。 Bergmanによっお提案された元の元の意味でのアプロヌチは、次のように構成されおいたした。数字を䞊䞋に曞き、2぀のナニットが同じカテゎリに属さないように非正芏化したす。 その埌、それらをビットごずに远加したす0を1に远加するか、0を0に远加するこずで、蚓緎を受けた数孊者にずっお困難はなくなりたす。次に、合蚈を正芏化したす。



このアプロヌチは私にはずおも面癜く芋えたので、プレヌダヌが自分の魅力をすべお感じるこずができる小さなゲヌムを曞きたした。
非衚瀺のテキスト
同時に、 Phaser.jsフレヌムワヌクを䜿甚しお緎習したので、将来的には朚造䜏宅ずCurtis-Hedland-Lyndonの定理に぀いおさらにクヌルなゲヌムを曞く可胜性がありたす。 しかし、もちろん、今幎のjvaよりも早くはありたせん。



ただし、乗算ず陀算は、ほが暙準的な方法で実珟されたす。列で乗算し、コヌナヌで陀算したす。



そしお圌女は䞀䜓䜕のためなのか



良い意味で、このセクションは私によっお曞かれるべきではありたせんが、゜ビ゚トの厳しい技術者によっお曞かれるべきです。 私の知る限り、Bergmanシステムは䞀郚のADCで䜿甚されおいたした。 ノむズ耐性を高めるために冗長性を䜿甚するこずを想定しおいたしたが、そのようなコンバヌタヌの「鉄」実装ぱラヌが発生しやすく、アむデアは箱に送られたした。 もっず䌝えたいのですが、できたせん。正盎、自分の無胜さを認めたす。 読者の䜕人かがもっず知っおいるこずを願っおいたす-この堎合、私は圌の有益なコメントぞのリンクをここに投皿したいず思いたす。



janatemはコメントで、特別な数字「-1」をBergmanシステムに远加するず、結果の察称数倀システムは非垞に有甚な特性、぀たり䞊列ビット単䜍加算の可胜性があるず瀺唆しおいたす。 蚀い換えれば、前の数字を蚈算せずに数字の合蚈の数字を取埗できたす。 10進法では、これは䞍可胜です999995 + xの合蚈が始たる桁を確実に知るためにxは数字、この数字が実際に5桁であるにもかかわらず、xの倀を確実に知る必芁がありたす興味がある。 このような攟電の独立性は、特定のアヌキテクチャでの蚈算を倧幅に高速化するために䜿甚できたす。



そうそう、私はほずんど忘れおいたした。 別の燃えるような数字システムを䜿甚しお、敎数を乗算できたす。 これは次のように行われたす。



  1. 番号の1぀は、フィリ番号システムに倉換され、どこかに、できれば垂束暡様の玙に曞かれおいたす。
  2. もう1぀は、最初の数のれロ攟電の䞋でセルに攟電されたす。
  3. 2番目の数倀の巊偎に、任意の3番目の数倀通垞は任意を曞き蟌みたす。
  4. 2番目ず3番目の数字の行を巊右に続けお、行の各数字がその右偎の2぀の数字の合蚈に等しくなるようにしたす。 フィボナッチ数列のようなもので、他の初期数に基づいお構築されおおり、右から巊に向けられおいたす。
  5. この行のすべおの数倀を芁玄したす。その䞊に単䜍が曞き蟌たれたす。 この量が望たしい補品になりたす




乗算䟋4 x 9
ステップ1

 1 | 0 | 1. | 0 | 1 
 -+-+-+-+-
   |  |  |  | 

ステップ2

 1 | 0 | 1. | 0 | 1 
 -+-+-+-+-
   |  | 9 |  | 

ステップ3

 1 | 0 | 1. | 0 | 1 
 -+-+-+-+-
   | 13 | 9 |  |
 
ステップ4

 1 | 0 | 1. | 0 | 1 
 -+-+-+-+-
 22 | 13 | 9 | 4 | 5

ステップ5

 22 + 9 + 5 = 36 






乗算に問題がありたすが、数倀をfieri数倀システムにすばやく倉換しおフィボナッチ数列を䜜成できる堎合、この方法は間違いなく最適です。 その正圓性の蚌明は、最䞊䜍のレコヌドの非正芏化時に、その単䜍の䞋の数倀の合蚈が倉化しないずいう事実に基づいおいたす。



それだけですか



最埌に蚀いたいこずがいく぀かありたす。 たず、私のオンラむンコンバヌタヌを適切に苊しめた堎合、他の䜍眮番号ず同様に、フィリアンナンバヌシステムの分数が呚期的な分数の圢匏で蚘述されおいるこずに気づいたかもしれたせん。 この事実の蚌明は、コヌナヌによる分割に基づいおおり、やはり、健康な人の数䜓系で行われた蚌明ず倉わらない。



第二に、「黄金比のナニヌクな特性」に぀いお話したずき、私はあなたに嘘を぀きたした。 もちろん、それはナニヌクですが、完党ではありたせん。 方皋匏x 2 = x + 1には別の解がありたす





\ varphi_- =-\ frac {1} {\ Phi} = \ frac {1- \ sqrt5} 2








ベヌスφ-それをantifiericず呌びたすを持぀システムでは、匷烈なシステムのすべおのプロパティが保持されたす。これは、アむデンティティ100 = 11 identityから掚定されたす。 特に、すべおの敎数およびフェリックシステムず同じには有限のレコヌドがありたす。 新しいファンデヌションは非合理的であるだけでなく、負であり、倧きさが統䞀されおいないため、これは特に面癜いです。 次の定理を蚌明するこずもできたす。数字が、物理的および反物理的数䜓系で同じ有限衚蚘を持っおいる堎合、それは党䜓です。



そしお最埌に、フィリアン数䜓系では、数formulaの匏を次のように曞き換えるこずができたす。







\ Phi = \ frac {\ sqrt {1000.1001_ \ Phi} + 1_ \ Phi} {10.01_ \ Phi}








利点は、䞊蚘の匏が方皋匏ず芋なされる堎合、唯䞀の実際の解があるこずです。 ぀たり、実際に数倀Fの定矩ずしお䜿甚できたす。



考えおみおください。



All Articles