現代の時代における古代のアルゴリズム:バビロニア平方根法の公開
バビロニアの平方根の魅力的な世界
数学は常に抽象的なものと現実的なものをつなぐ橋である。エジプトの壮大なピラミッドを建設することから、住宅ローンの利率を計算することまで、数学はあらゆるところでその応用を見つけることができる。あまり知られていないが非常に魅力的な古代のアルゴリズムの1つに、数の平方根を計算するためのバビロニア式の方法がある。
バビロニアの平方根を解読する
バビロニア法(ヒーロー法またはニュートン-ラフソン法とも呼ばれる)は、数の平方根を近似するための反復技術である。この方法は何世紀も前から存在し、先人たちの独創性を示している。巧妙な推測の戦略を使って、反復することで平方根に収束する。
本質的に、バビロニアの平方根法は初期の推測から始まり、その推測を反復的に洗練して実際の平方根に近づける。この式は次のように要約できる:
式:x_{n+1}-=-0.5-×-(x_n-+-S/x_n)
式の内容を解析する
式の要素を解析しよう:
S
:求めたい数の平方根。x_n
:平方根の現在の推測。x_{n+1}
:次の、より精密な平方根の推測。
この反復プロセスはx_{n+1}
がx n
に非常に近づくまで続けられ、実際の平方根に近づいたことを確かにする。
古代バビロニアから現代の計算まで
あなたが古代バビロニア人で25の平方根を計算する任務を負ったと想像してみてください。最初の推測は5かもしれませんが、もっと難しい数、例えば37の平方根を計算する場合はどうでしょうか?
バビロニア法でsqrt(37)を使う手順を見てみましょう
ステップバイステップの例
初期の推測を選ぶ:x₀-=-6
次の推測を計算する:
-x₁-=-0.5-×-(6-+-37/6)
-x₁-≈-6.0833
プロセスを繰り返す:
-x₂-=-0.5-×-(6.0833-+-37/6.0833)
-x₂-≈-6.0828
反復を続ける:
-x₃-=-0.5-×-(6.0828-+-37/6.0828)
-x₃-≈-6.0828-(収束)
実用的には、6.0828は37の真の平方根に十分近い。
応用と実生活の例
この方法は単なる歴史的な好奇心ではなく、現代でも実用的な応用があります:
- エンジニアリング:-設計における長さや許容差の計算。
- 金融:-分散と標準偏差を通じて株価のボラティリティを決定する。
- 日常の数学:-計算機を使わずに値を見積もる。
インタラクティブなコードとテスト
技術愛好家のために、この方法をJavaScriptで実装する方法を紹介します:
const-babylonianSquareRoot-=-(s,-initialGuess)-=>-{
--if-(typeof-s-!==-'number'-||-typeof-initialGuess-!==-'number')-{
----return-"入力が無効です:数値と初期推測の両方が有効な数値であることを確認してください。";
--}
--if-(s-<=-0-||-initialGuess-<=-0)-{
----return-"入力が無効です:数値と初期推測の両方がゼロより大きいことを確認してください。";
--}
--let-x-=-initialGuess;
--let-prev;
--do-{
----prev-=-x;
----x-=-0.5-*-(x-+-s-/-x);
--}-while (Math.abs(x prev) > 1e 10);
return x;
};
テストする方法は以下の通りです:
const tests = {
"37,6": 6.082762530298219,
"25,5": 5,
"10,3": 3.1622776601683795,
"13,2": 3.605551275463989,
"0,0": "入力が無効です:数値と初期推測の両方がゼロより大きいことを確認してください。"
};
よくある質問
なぜバビロニア法を使用するのですか?
効率的で理解しやすく、正しい結果に迅速に収束するためです。
初期の推測は重要ですか?
初期の推測は必要な反復回数に影響を与えるが、ほとんどすべての合理的な推測は正しい平方根に収束する。
この方法の精度はどれくらいですか?
この方法は、通常の実用目的に十分な精度まで非常に正確な結果を提供します。
まとめ
バビロニア法による平方根の計算は、過去の遺物であるだけでなく、人類の独創性の証でもある。現代の計算にも適用され、正確な結果を容易に得ることができる。古代バビロニアから現代の計算まで、このシンプルでありながら強力な方法は知られていないものと知られているもののギャップを埋め続けている。