Metoda Monte Carlo i π

Metoda Monte Carlo odpowiada na pytania za pomocą losowych eksperymentów zamiast wzorów. Jej klasyczny pierwszy przykład szacuje π przez rzucanie rzutkami w koło wpisane w kwadrat.

Losowe rzutki w kwadracie: niebieskie wewnątrz koła, czerwone na zewnątrz, z oszacowaniem π i wykresem jego zbieżności
Losowe rzutki w kwadracie: niebieskie wewnątrz koła, czerwone na zewnątrz, z oszacowaniem π i wykresem jego zbieżności

Pola jako prawdopodobieństwa

Wybierz losowo punkt w kwadracie, tak by każde miejsce było jednakowo prawdopodobne. Prawdopodobieństwo, że trafi do jakiegoś obszaru, to pole tego obszaru podzielone przez pole kwadratu. Koło o promieniu 1 ma pole π, a kwadrat wokół niego ma boki 2 i pole 4. Losowy punkt trafia więc do koła z prawdopodobieństwem P = π/4 ≈ 0,785.

Od trafień do π

Rzuć N rzutek i policz trafienia H wewnątrz koła. Udział H/N szacuje π/4, więc

π ≈ 4H / N

Sprawdzenie trafienia w ogóle nie wymaga π: punkt (x, y), mierzony od środka z promieniem jako jednostką, leży wewnątrz koła, gdy x² + y² ≤ 1. π wyłania się z liczenia.

Wersja z ćwiartką koła umieszcza środek w rogu kwadratu o boku 1. Ćwiartka koła też zajmuje π/4 tego kwadratu, więc obowiązuje ten sam wzór.

Prawo wielkich liczb

Każda rzutka to mały eksperyment o dwóch wynikach: trafienie z prawdopodobieństwem p = π/4 albo pudło. Prawo wielkich liczb, udowodnione przez Jacoba Bernoulliego i opublikowane w 1713 roku, mówi, że udział trafień zbliża się dowolnie blisko do p, gdy N rośnie. Nie mówi ono, że trafienia i pudła wyrównują się w krótkim okresie: oszacowanie może długo oddalać się od π, zanim wróci.

Jak szybko to działa?

Liczba trafień ma rozkład dwumianowy. Jego odchylenie standardowe, przeliczone na skalę π, daje typowy błąd

σ ≈ 4 · √(p(1 − p) / N) ≈ 1.64 / √N

Po 100 rzutkach to około 0,16, po 10 000 około 0,016, po milionie około 0,0016. Błąd maleje wraz z pierwiastkiem kwadratowym z N: sto razy więcej rzutek daje jedną poprawną cyfrę więcej. W aplikacji zacieniony pas to ±1,96σ i obejmuje 95% wszystkich symulacji, a ± po oszacowaniu to jeden błąd standardowy.

Skąd wzięła się nazwa

W 1946 roku Stanisław Ulam, dochodząc do siebie po chorobie, zastanawiał się, jak duża jest szansa, że pasjans wyjdzie. Zamiast liczyć wszystkie możliwe rozdania, wpadł na pomysł, by po prostu wiele razy rozłożyć pasjansa i policzyć, ile razy wyszedł. Razem z Johnem von Neumannem przekształcił ten pomysł w metodę do obliczeń neutronowych w Los Alamos, a ich kolega Nicholas Metropolis nazwał ją od kasyna w Monte Carlo, gdzie stryj Ulama lubił grać. Znacznie starsze eksperymenty z przypadkiem, takie jak igła Buffona z 1777 roku, szacowały π w tym samym duchu.

Poznaj to w PictorX

Otwórz π metodą Monte Carlo, a rzutki już lecą, tysiąc na sekundę. Licznik koloruje cyfry, które już zgadzają się z π, a wykres pokazuje oszacowanie na osi logarytmicznej wewnątrz pasa, w którym kończy 95% symulacji. „Zwolnione tempo” rzuca jedną rzutkę na sekundę i rysuje jej odległość od środka; kliknij kwadrat, aby samemu rzucić rzutkę. „Milion rzutek” rzuca wszystkie naraz. „Ćwiartka koła” przełącza na wersję w rogu, a „Wygaszaj stare rzutki” utrzymuje obraz żywym przy dużej prędkości. Zapisz PNG albo porównaj z igłą Buffona, która szacuje π za pomocą spadających igieł.

Często zadawane pytania

Kto wymyślił metodę Monte Carlo?

Stanisław Ulam i John von Neumann opracowali ją pod koniec lat 40. XX wieku w Los Alamos, a Nicholas Metropolis nadał jej nazwę. Losowe eksperymenty szacujące liczby są starsze, na przykład igła Buffona z 1777 roku.

Dlaczego prawdopodobieństwo wynosi π/4?

Koło o promieniu 1 ma pole π, a kwadrat wokół niego ma pole 4. Punkt, który z jednakowym prawdopodobieństwem może wylądować w dowolnym miejscu kwadratu, trafia do koła z prawdopodobieństwem π/4.

Jak dokładne jest oszacowanie?

Jeden błąd standardowy wynosi około 1,64/√N dla N rzutek. Przy tysiącu rzutek wynik typowo różni się o około 0,05, przy milionie o około 0,0016.

Czy metoda Monte Carlo to dobry sposób na obliczanie π?

Nie. Za pomocą wzorów obliczono biliony cyfr π; losowe rzutki z trudem dochodzą do sześciu. Metoda błyszczy tam, gdzie nie ma żadnego wzoru, na przykład przy torach neutronów, ryzyku inwestycji czy świetle odbijającym się w scenie.

Czy oszacowanie kiedykolwiek osiąga dokładnie π?

Nie. Po N rzutkach oszacowanie jest ułamkiem 4H/N, a π jest liczbą niewymierną, więc nigdy nie może być dokładne. Jedynie się zbliża, z coraz większym prawdopodobieństwem.

Chcesz wypróbować?

Otwórz PictorX w swojej przeglądarce — do uruchomienia nie jest wymagana żadna instalacja ani karta kredytowa.

Wypróbuj π metodą Monte Carlo