数学やコンピュータ科学において、最適な基数選択とは、数値を表現するのに最も適した基数(または基数)を選択する問題です。特にコンピュータシステムにおいて、数値を表現する際に異なる基数を使用する際の相対的なコストを定量化するために、様々な提案がなされてきました。その一つの公式は、その基数で数値を表現するために必要な桁数に基数(各桁が取り得る値の数)を掛けたものです。この表現は、組織構造、ネットワーク、その他の分野に関する問題にも現れます。
与えられた基数bで数Nを表現するコストは次のように定義できます。
bとNが両方とも正の整数である場合、その量はは、数N をb基数で 表すのに必要な桁数にbを掛けたものに等しい。[ 1 ]この量は、各「桁」のコストがbに比例する場合、数Nをb基数で保存または処理するコストを測定する。平均が低い基数したがって、ある意味では、平均値が高い基準値よりも効率的である。
例えば、100は 10進数では 3 桁なので、その表現コストは 10×3 = 30 ですが、2 進数では 7 桁 (1100100 2 ) なので、同様の計算で 2×7 = 14 となります。同様に、3 進数では 5 桁 (10201 3 ) なので、値は 3×5 = 15 となり、36 進数 (2S 36 ) では 36×2 = 72 となります。
数字がダイヤル錠またはタリーカウンターで表されていると想像すると、各ホイールにはb桁の面があり、そして持っている車輪、それからは、0からNまでの任意の整数を包括的に表現するために必要な数字面の総数です。
数量Nが大きい場合、次のように近似できます。
漸近的に最良の値は、基数3の場合に得られます。最小値に達する正の整数において:
10進数では、次のようになります。
関数の最大値を求めるという密接に関連する連続最適化問題 または同等に、対数を取って逆算し、最小化する整数値ではなく連続値の場合これは1850年にヤコブ・シュタイナーによって提起され、解決された。[ 2 ]解はオイラー数である。自然対数の底は、この解をシュタイナーの定式化に翻訳し直すと、は、[ 3 ]
この分析は、ある意味で「基本数値の表現と保存のための最も経済的な基盤である」とされているが、それが実際に何を意味するのか理解するのは難しい。[ 4 ]
この話題はアンダーウッド・ダドリーの『数学の奇人』に登場する。この本で取り上げられている奇人のうちの一人は、次のように主張している。これは、シュタイナーの微積分問題に対する曖昧な理解と、基数の選択がいかに重要であるかという非常に誇張された認識に基づく最良の基数である。[ 5 ]
値Nの値が大きい場合、塩基b1とb2を比較することができます。
選択するのために与える
平均様々な基数(2~12のべき乗およびeのべき乗に近接しないもの)の値が以下の表に示されています。また、基数eに対する相対値も示されています。 任意の数はただそのため、最初のいくつかの整数では単項演算子が最も経済的ですが、Nが無限大に近づくとこれはもはや成り立ちません。
3進数の相対的な経済性の結果の一つとして、3進検索木はデータベースの要素を取得するための効率的な戦略を提供する。[ 6 ]同様の分析によると、平均的な顧客が聞かなければならないメニューの選択肢の数(つまり、メニューごとの選択肢の数とメニューのレベル数の積)を最小限に抑えるための大規模な電話メニューシステムの最適な設計は、メニューごとに3つの選択肢を持つことである。[ 1 ]
d進ヒープ(d進木に基づく優先度キューデータ構造)では、ヒープ内の操作ごとの比較の最悪ケース数は、要素は(低次の項まで)上記と同じ式。または実際には最適なパフォーマンスを発揮する可能性がある。[ 7 ]
ブライアン・ヘイズは次のように示唆しているインタラクティブ音声応答メニューの複雑さの適切な尺度となる可能性がある。ツリー構造の電話メニューでは結果とステップごとの選択肢数、メニューをたどる時間は、(各ステップで選択肢を提示する時間)(結果を決定するために必要な選択の数)。この分析から、このようなメニューにおける各ステップでの最適な選択数は3つであることがわかる。[ 1 ]
1950年の参考文献「高速コンピューティングデバイス」では、当時の技術を用いた特定の状況が説明されています。数値の各桁は、複数の三極管で構成されるリングカウンタの状態として格納されます。真空管であろうとサイラトロンであろうと、三極管はカウンタの中で最も高価な部分でした。基数rが約7未満の場合、1桁にはr個の三極管が必要でした。[ 8 ] (基数が大きい場合は、 ENIACの10進カウンタのように、r個のフリップフロップとして配置された2r個の三極管が必要でした。) [ 9 ]
したがって、 n桁の数値レジスタにおける三極管の数はrnであった。10⁶までの数を表現するには、以下の数の真空管が必要であった。
著者らは次のように結論づけている。
これらの仮定の下では、平均的に基数 3 が最も経済的な選択肢であり、基数 2 と 4 がそれに僅差で続きます。もちろん、これらの仮定は近似的にしか有効ではなく、基数 2 の選択はより完全な分析によって正当化されることがよくあります。10 個の三極管で 10 進リングが得られるという楽観的な仮定でも、基数 10 は基数 2、3、または 4 の約 1.5 倍の複雑さになります。ここで使用されている議論の浅い性質にもかかわらず、これはおそらく重要なことです。[ 10 ]