Przeczytaj
Metoda Monte Carlo
Metoda Monte Carlo została opracowana przez Stanisława UlamaStanisława Ulama. Wykorzystano ją podczas pracy nad bombą atomową do procesu symulowania rozpadu cząsteczek. Naukowcy nie potrafili zastosować do tych obliczeń klasycznych modeli matematycznych, postanowili więc wykorzystać losową symulację przeprowadzoną za pomocą komputerów.
Terminem Monte Carlo określamy wszystkie metody numeryczne, które wykorzystują wybór przypadkowy (losowanie) wielkości charakteryzujących modelowany proces, przy czym losowanie przeprowadzane jest zgodnie ze znanym rozkładem.
Wyznaczanie powierzchni koła metodą Monte Carlo
Przeprowadźmy eksperyment myślowy. Załóżmy, że nie znamy wzoru na pole koła ani tym bardziej przybliżonej wartości liczby . Wyobraźmy sobie, że mamy kwadratową kartkę. Rysujemy na niej koło, które jest styczne do każdego boku kwadratu lub wpisujemy koło w kwadrat. Następnie zaczynamy rzucać ołówkiem w losowe miejsca na kartce. Notujemy, ile rzutów oddaliśmy. W momencie, gdy ołówek narysuje punkt wewnątrz koła, zapisujemy zdarzenie jako trafienie.
Podejście to przedstawiono na poniższym rysunku. Trafione w koło rzuty ołówkiem zaznaczono kolorem ciemnozielonym, a nietrafione – ciemnoczerwonym.

Po pewnym czasie stosunek liczby trafień do liczby rzutów powinien zbliżać się do stosunku pola koła do pola kartki, wówczas:
Dalsze oszacowanie pola koła jest bardzo proste. Pozostało nam obliczyć powierzchnię kartki. Użyjemy do tego wzoru na pole kwadratu i podstawimy do obliczeń. Niech długość boku kwadratu wynosi :
Wyznaczanie liczby pi metodą Monte Carlo
W poprzednim eksperymencie wyznaczyliśmy pole koła, zakładając, że nie znamy wzoru. Teraz przyszła pora na założenie, że znamy wzór na pole koła, ale nie dysponujemy przybliżeniem liczby . Przypomnijmy wzór na pole koła:
Ponieważ koło jest wpisane w kwadrat o boku :

korzystamy z równania:
by wyznaczyć wartość liczby :
W tym momencie możemy zauważyć, że wartość liczby nie zależy od długości boku kwadratu ani od promienia koła.
Pojawia się pytanie, w jaki sposób przeprowadzić symulację za pomocą komputera. Skorzystajmy z nierówności opisującej koło o środku w punkcie i promieniu :
W celu wyznaczenia liczby wystarczy przyjąć dowolny kwadrat, losować na nim dowolny punkt oraz w odpowiedni sposób – za pomocą nierówności opisującej koło – sprawdzać, czy trafiliśmy do wnętrza koła.
W dalszej części materiału symulację przeprowadzamy w kartezjańskim układzie współrzędnych. Wybieramy kwadrat o boku 2 ze środkiem w punkcie . Rozwiązanie zapisane za pomocą pseudokodu może przedstawiać się następująco:
Zakładamy, że funkcja losuj()
losuje jednakowo prawdopodobne liczby z zakresu .
Dokładność wyniku
Zastanówmy się, od czego zależy dokładność osiągniętego wyniku przy użyciu metody Monte Carlo. Możemy dojść do wniosku, że im większa liczba losowanych punktów, tym dokładniejszy wynik. Jednak nie jest to jedyny czynnik, który ma na to wpływ. Liczby losowe w komputerze są bowiem wyznaczane za pomocą generatora liczb pseudolosowychgeneratora liczb pseudolosowych. Proces zupełnej losowości jest niemożliwy do zaimplementowania. Pamiętajmy jednak, że dysponując idealnym generatorem liczb losowych, można założyć, iż statystyczna dokładność metody Monte Carlo rośnie wraz ze wzrostem liczby losowań.
Sprawdźmy zatem, w jaki sposób może wyglądać wykres zależności błędu od liczby wykonanych losowań. Jako błąd przyjmujemy wartość bezwzględną różnicy pomiędzy przybliżeniem liczby wyznaczonej metodą Monte Carlo, a wartością, którą podaje najdokładniejsze przybliżenie możliwe do przechowania w zmiennej typu zmiennoprzecinkowego. W celu poprawnej wizualizacji wyniku oś x (liczbę losowań) przedstawiono w skali logarytmicznejskali logarytmicznej. Intuicyjnie możemy przypuszczać, że na wykresie będą występowały liczne skoki z uwagi na losowania, które mogą odstawać od przewidywanych. W ostateczności jednak wartość błędu powinna być coraz mniejsza.

Wykres potwierdza przypuszczenia intuicyjne. Łatwo zauważyć, że metoda nie jest stabilna – czasem następuje skok w górę lub w dół, jednak ostatecznie widać, że wartość błędu maleje.
Ukryte piękno liczby
— to liczba cyfr po przecinku dziesiętnego rozwinięcia liczby (znanych ludzkości na dzień powstania tego e‑materiału). Wynik ten został osiągnięty dzięki programowi y‑cruncher. Program pracował przez 108 dni. Niewykluczone, że w obecnym momencie jakiś śmiałek próbuje pobić ten rekord.
Zastanawiające może być, ile tak naprawdę powinniśmy znać cyfr rozwinięcia dziesiętnego liczby . Nikt przecież nie będzie używał wymienionego wyżej rekordu, aby obliczyć liczbę cegieł potrzebnych do zbudowania okrągłej studni. Okazuje się, że do wyliczenia obwodu znanego nam wszechświata z dokładnością do wielkości 1 atomu, potrzeba tylko 39 cyfr dziesiętnych liczby . Rozwinięcie to wygląda następująco:
Warto również spojrzeć na przybliżenia historyczne. Pierwsze wzmianki o liczbie sięgają czasów starożytnej Babilonii (1900‑1700 p.n.e.). Na odnalezionej z tego okresu kamiennej tablicy pojawia się opis obwodu koła o średnicy , który wynosił . Ponieważ wzór na obwód koła to liczba pomnożona przez długość średnicy, liczba to jedno z pierwszych odnalezionych na kartach historii przybliżeń liczby .
Znacznie mniej dokładne przybliżenie możemy znaleźć w Biblii:
1 Księga Królewska 7, 23Następnie sporządził odlew „morza” o średnicy dziesięciu łokci, okrągłego, o wysokości pięciu łokci i o obwodzie trzydziestu łokci.
Źródło: 1 Księga Królewska 7, 23, [w:] Biblia Tysiąclecia.
Sprawdźmy, ile według tego fragmentu wynosi liczba . Oto wzór na obwód koła o średnicy :
Dokonując przekształcenia, otrzymujemy wzór na :
Zatem według przytoczonego fragmentu:
Ciekawym zbiegiem okoliczności jest występowanie w rozwinięciu dziesiętnym liczby po przecinku dwóch kolejnych liczb: 14 oraz 15. Fakt ten pozwolił na ustalenie adekwatnego na święto liczby miejsca w kalendarzu — jest to noc z 14 na 15 marca. Data ta może być zapisana w amerykańskim systemie jako 3.14‑15, co stanowi całkiem przyzwoite przybliżenie liczby .
Słownik
podprogram (lub funkcja programu) zwracający kolejne liczby z deterministycznego ciągu liczb, który ma podobne własności do ciągów losowych
polski matematyk (ur. 1909 r. we Lwowie, zm. 1984 r. w USA), zaliczany do lwowskiej szkoły matematycznej; swoją pracą przysłużył się rozwojowi teorii mnogości oraz topologii; twórca metod numerycznych; więcej informacji na temat naukowca znajdziesz w e‑materiale Polacy w informatycePolacy w informatyce
rodzaj skali pomiarowej, w której wartość przekształcana jest za pomocą funkcji logarytmicznej, najczęściej o podstawie 2, 10 lub