Monte Carlo法を使用した円周率の計算方法


まず、モンテカルロ法による円周率の計算手法を説明します。以下の手順に従って、円周率の近似値を求めることができます。

  1. 正方形の中に半径1の円を描きます。
  2. 正方形の中に無作為に点をプロットします。
  3. プロットされた点が円の内側にあるかどうかを判定します。
  4. 円の内側にある点の数を数えます。
  5. 円の内側にある点の数と、全体の点の数の比を計算します。
  6. この比を使って、円の面積と正方形の面積の比を求めます。
  7. 求めた比を用いて円周率の近似値を計算します。

この手法をPythonコードで実装すると、以下のようになります。

import random
def estimate_pi(num_points):
    points_inside_circle = 0
    points_total = 0
    for _ in range(num_points):
        x = random.uniform(-1, 1)
        y = random.uniform(-1, 1)
        distance = x  2 + y  2
        if distance <= 1:
            points_inside_circle += 1
        points_total += 1
    pi_estimate = 4 * points_inside_circle / points_total
    return pi_estimate
num_points = 1000000
pi_approximation = estimate_pi(num_points)
print("Approximation of pi:", pi_approximation)

このコードは、estimate_pi関数を使ってモンテカルロ法による円周率の近似値を計算し、結果を表示します。num_points変数を調整することで、計算に使用する点の数を変えることができます。

以上が、Pythonを使ったモンテカルロ法による円周率の計算方法の例です。この手法を使うことで、円周率の近似値を効率的に求めることができます。ぜひ、試してみてください。