4

二進対数の有理数近似

240
0
$$$$

こんにちは! 入試問題をジョークのネタにするマッドサイエンティスト ことNayuta Itoです。

今日は、私が最近興味のある二進対数の有理数近似について紹介したいと思います。
(この時点でオチが読めた人へ: その通りです。)

導入

$$ 2^{10} = 1024 \fallingdotseq 1000 = {10}^3 $$

という近似は有名ですね。これを少し変形することで、

$$ 2^{\frac{7}{3}} \fallingdotseq 5 $$

という近似を得ることができます。また、両辺の二進対数を取ると、

$$ \log_2{5} \fallingdotseq \frac{7}{3} = 2 + \frac{1}{3} $$

となり、$ \log_2{5} $の近似値が得られました。

$ \log_2{5} $が簡単に求まるなら、他の素数$ p $に対しても$ \log_2{p} $を求めてみたくなりますね。

$ 3 $について考える

$ 3 $を何乗かしていくと、こんな近似に気づくと思います。

$$ 3^{12} = 531441 \fallingdotseq 524288 = 2^{19} $$

これを変形すると、こんな式を得ることができます。

$$ \log_2{3} \fallingdotseq 1 + \frac{7}{12} $$

ここで、$ \log_2 $の後に来る数を$ 1 $以上$ 2 $未満に揃えておきましょう。こうすると、値が$ 0 $以上$ 1 $未満となり都合がよいです。
$ \log_2{5} $の近似と合わせると、こうなります。

$$ \log_2{\frac{3}{2}} \fallingdotseq \frac{7}{12} $$
$$ \log_2{\frac{5}{4}} \fallingdotseq \frac{1}{3} = \frac{4}{12} $$

これを使うと、こんなことができます。

$$ 2^{\frac{0}{12}} = 1 $$
$$ 2^{\frac{1}{12}} \fallingdotseq 2 \div \left( \frac{3}{2} \times \frac{5}{4} \right) = \frac{16}{15} $$
$$ 2^{\frac{2}{12}} \fallingdotseq \left( \frac{3}{2} \right)^2 \div 2 = \frac{9}{8} $$
$$ 2^{\frac{3}{12}} \fallingdotseq \frac{3}{2} \div \frac{5}{4} = \frac{6}{5} $$
$$ 2^{\frac{4}{12}} \fallingdotseq \frac{5}{4} $$
$$ 2^{\frac{5}{12}} \fallingdotseq 2 \div \frac{3}{2} = \frac{4}{3} $$
$$ 2^{\frac{6}{12}} = \left( 2^{\frac{3}{12}} \right)^2 \fallingdotseq \frac{36}{25} $$
$$ 2^{\frac{7}{12}} \fallingdotseq \frac{3}{2} $$
$$ 2^{\frac{8}{12}} \fallingdotseq 2 \div \frac{5}{4} = \frac{8}{5} $$
$$ 2^{\frac{9}{12}} \fallingdotseq 2 \div \left( \frac{3}{2} \div \frac{5}{4} \right) = \frac{5}{3} $$
$$ 2^{\frac{10}{12}} \fallingdotseq 2 \div \left( \frac{3}{2} \right)^2 = \frac{16}{9} $$
$$ 2^{\frac{11}{12}} \fallingdotseq \frac{3}{2} \times \frac{5}{4} = \frac{15}{8} $$
$$ 2^{\frac{12}{12}} = 2 $$

$ 1, \frac{9}{8}, \frac{5}{4}, \frac{4}{3}, \frac{3}{2}, \frac{5}{3}, \frac{15}{8}, 2 $といったおなじみの有理数が出てくるのが面白いですね。

ところでこれを見て疑問に思った人もいることでしょう。

$ 1 $以上$ 2 $以下で分母が$ 4 $以下の分数のうち、$ \frac{7}{4} $だけ抜けているのはなぜだろう? これもうまく近似できるだろうか?」

このためには、$ \log_2{\frac{7}{4}} $の近似が必要です。しかし、実際に計算すると

$$ \log_2{\frac{7}{4}} = \frac{9.68\cdots}{12} $$

となり、$ \frac{9}{12} $に近似するにも$ \frac{10}{12} $に近似するにも遠すぎることがわかります。

さあ、$ 12 $を飛び出して、二進対数の世界の深淵を覗いてみましょう。

$ 7 $について考える

$ \log_2{\frac{7}{4}} $を近似するためには、分母を$ 31 $まで増やす必要があります。

分母を$ 31 $にすると、

$$ \log_2{\frac{3}{2}} = \frac{18.13\cdots}{31} \fallingdotseq \frac{18}{31} $$
$$ \log_2{\frac{5}{4}} = \frac{9.97\cdots}{31} \fallingdotseq \frac{10}{31} $$
$$ \log_2{\frac{7}{4}} = \frac{25.02\cdots}{31} \fallingdotseq \frac{25}{31} $$

と近似できます。もちろん、$ 12 $のときに近似した「おなじみの有理数」たち

$$ 1, \frac{9}{8}, \frac{5}{4}, \frac{4}{3}, \frac{3}{2}, \frac{5}{3}, \frac{15}{8}, 2 $$

も分母が$ 31 $の分数で近似することができ、

$$ 2^{\frac{0}{31}}, 2^{\frac{5}{31}}, 2^{\frac{10}{31}}, 2^{\frac{13}{31}}, 2^{\frac{18}{31}}, 2^{\frac{23}{31}}, 2^{\frac{28}{31}}, 2^{\frac{31}{31}} $$

と表せます。

分子が$ 5 $ずつ増える箇所と$ 3 $ずつ増える箇所があるのが特徴的ですね。

また、$ \log_2{\frac{7}{4}} > \frac{25}{31} $という不等式を使うと、

$$ 1792 = 1024 \times \frac{7}{4} > 2^{10 + \frac{25}{31}} > 2^{10.8} = 2^{5.4} $$

と評価することもできます。

そして、プログラマの皆さんに朗報があります。分母を$ 12 $で近似すると

$$ \log_2{\frac{1024}{1000}} = \log_2{\frac{128}{125}} = \log_2{2 \div \left(\frac{5}{4}\right)^3 } \fallingdotseq 1 - \frac{4}{12} \times 3 = 0 $$

となってしまいますが、分母を$ 31 $にすると

$$ \log_2{\frac{1024}{1000}} = \log_2{\frac{128}{125}} = \log_2{2 \div \left(\frac{5}{4}\right)^3 } \fallingdotseq 1 - \frac{10}{31} \times 3 = \frac{1}{31} $$

となり、$ 1000 $$ 1024 $を区別することができます!!!

$ 11 $以上の素数

$ 11 $以上の素数については、単純に分母を増やせばいいというものではなく、素数ごとに最適な分母があります。そのため、「これを使えば近似できる」とは一概には言えません。いくつか近似の例を示します。

$$ \log_2{\frac{11}{8}} \fallingdotseq \frac{11}{24} $$
$$ \log_2{\frac{13}{8}} \fallingdotseq \frac{7}{10} $$
$$ \log_2{\frac{17}{16}} \fallingdotseq \frac{1}{12} $$
$$ \log_2{\frac{19}{16}} \fallingdotseq \frac{3}{12} $$
$$ \log_2{\frac{23}{16}} \fallingdotseq \frac{11}{21} $$
$$ \vdots $$

$ 12 $やその倍数である$ 24 $が見られるので、やはり$ 12 $は有能なのかもしれませんね。

ほかの観点

今回は表現できる素数を増やすという観点で見ましたが、$ 1000 $$ 1024 $のように区別できる数を増やすという観点で見ると、$ 53 $が分母として優位に立ちます。

分母を$ 53 $にすると、$ 31 $のときには区別できなかった$ 80 $$ 81 $が区別できるようになります。また、$ 1000 $$ 1024 $の違いももちろん区別できます。

また、

$$ \log_2{\frac{3}{2}} = \frac{31.00\cdots}{53} $$
$$ \log_2{\frac{5}{4}} = \frac{17.06\cdots}{53} $$
$$ \log_2{\frac{7}{4}} = \frac{42.78\cdots}{53} $$
$$ \log_2{\frac{11}{8}} = \frac{24.34\cdots}{53} $$

と、素数$ 3 $$ 5 $に関する近似が極めて良いため、$ 7 $以降の素数が不要な場合は分母として$ 53 $を使用するのが良いのかもしれません。

最後に

$ 12 $にまつわる面白い近似式を紹介して終わりにしようと思います。

$$ 2^{\frac{1 + 3}{12}} \fallingdotseq 1 + \frac{3}{12} $$
$$ 2^{\frac{1 + 4}{12}} \fallingdotseq 1 + \frac{4}{12} $$
$$ 2^{\frac{1 + 5}{12}} \fallingdotseq 1 + \frac{5}{12} $$
$$ 2^{\frac{1 + 6}{12}} \fallingdotseq 1 + \frac{6}{12} $$

ネタばらし

実は、二進対数の有理数近似は音楽理論の一部です。最初に紹介した$ 12 $とは単に、1オクターブの中にある半音の数のことです。むしろこのような性質があるからこそ、1オクターブは$ 12 $半音になったのです。

「じゃあ、オクターブを$ 31 $個や$ 53 $個に分割してもいいの?」と思った方へ
ようこそ微分音の世界へ。「$ 31 $平均律」「$ 53 $ 平均律」で検索して、新たな音楽の世界へ旅立ちましょう!

謝辞

査読くださった私のラマヌジャンこと みゆ@ますらば 様に感謝致します。

投稿日:2022331
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

nayuta_ito
93
31591

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中