Bölüm 12 · Simülasyon

Monte Carlo ile π Tahmini

← Bölüm 12
Atılan0
İçeride0
π tahmini–
Mutlak hata–

Hazır.

Monte Carlo ile π Tahmini

Birim karenin içine düzgün dağılımlı rastgele noktalar atılır ve çeyrek dairenin içine düşenler sayılır. İçeride kalan noktaların oranı, π'nin bir tahminini verir.

Yöntemin fikri

Kenarı 1 olan karenin alanı 1'dir. Merkezi karenin köşesinde, yarıçapı 1 olan çeyrek dairenin alanı ise π/4'tür. Kareden düzgün seçilen bir (x, y) noktası x² + y² ≤ 1 olduğunda çeyrek dairenin içindedir ve bunun olasılığı iki alanın oranına, yani π/4'e eşittir. n nokta atıldığında içeride kalanların sayısı k ise k/n ≈ π/4 olur; buradan π ≈ 4 · k / n tahmini elde edilir.

Monte Carlo türü bir algoritma

n nokta için çalışma süresi önceden bellidir: Θ(n). Buna karşılık yanıt rastgeledir ve gerçek değerden sapabilir. Süresi belirli, sonucu yalnızca belli bir olasılıkla doğru (ya da yeterince yakın) olan algoritmalara Monte Carlo algoritması denir. Sonucu her zaman doğru, süresi rastgele olan Las Vegas algoritmalarından bu yönüyle ayrılır. π tahmininde hata iki yönlüdür: tahmin gerçek değerin hem üstünde hem altında kalabilir.

Hata 1/√n hızıyla küçülür

Her nokta, başarı olasılığı p = π/4 olan bir Bernoulli denemesidir. 4 · k / n tahmininin standart sapması 4 · √(p(1 − p) / n) ≈ 1,64 / √n'dir. Hata bu yüzden yaklaşık 1/√n hızıyla küçülür: doğruluğa bir ondalık basamak eklemek için yaklaşık 100 kat daha çok nokta gerekir. Grafikteki gölgeli bant π ± 1,64/√n aralığıdır; tahmin yaklaşık üçte iki olasılıkla bu bandın içinde kalır.

nStandart sapma ≈ 1,64/√n
1000,16
10 0000,016
1 000 0000,0016

Kullanım

  • 1 nokta, 100 nokta ve 1000 nokta düğmeleri o kadar nokta atar. Tek nokta atıldığında son noktanın koordinatları ve x² + y² değeri durum satırında görünür, nokta karede halkayla işaretlenir.
  • Sürekli at noktaları kesintisiz atar; çalışırken düğme Durdur olur. Hız her karede atılan nokta sayısını belirler: 1, 10, 100 ya da 1000.
  • Tohum, sözde rastgele üretecin başlangıç değeridir. Aynı tohum her zaman aynı nokta dizisini verir. Tohum değiştiğinde ya da Sıfırla düğmesine basıldığında çalışma baştan başlar. Üreteç mulberry32'dir; sunumdaki Java örneği (new Random(2024)) başka bir üreteç kullandığından noktalar onunkilerle birebir aynı değildir.
  • Yeşil noktalar çeyrek dairenin içinde, kırmızı noktalar dışındadır. Grafiğin yatay ekseni nokta sayısını logaritmik ölçekte gösterir; kesikli yatay çizgi gerçek π değeridir.
  • En çok 100 000 nokta atılabilir.