Ponieważ jestem obecnie rekordzistą świata w zakresie większości cyfr liczby pi, dodam dwa centy :
O ile nie ustanawiasz nowego rekordu świata, powszechną praktyką jest po prostu weryfikacja obliczonych cyfr względem znanych wartości. To jest dość proste.
Mam stronę internetową z listą fragmentów cyfr w celu weryfikacji obliczeń w stosunku do nich: http://www.numberworld.org/digits/Pi/
Ale kiedy wejdziesz na rekord świata, nie ma nic do porównania.
Historycznie standardowym podejściem do sprawdzania poprawności obliczonych cyfr jest przeliczanie cyfr przy użyciu drugiego algorytmu. Więc jeśli jedno z obliczeń pójdzie źle, cyfry na końcu nie będą pasować.
Zwykle powoduje to ponad dwukrotność potrzebnego czasu (ponieważ drugi algorytm jest zwykle wolniejszy). Ale to jedyny sposób, aby zweryfikować obliczone cyfry, gdy wędrujesz na nieznane terytorium nigdy wcześniej nie obliczonych cyfr i nowego rekordu świata.
W czasach, gdy superkomputery ustawiały rekordy, powszechnie stosowano dwa różne algorytmy AGM :
Oba O(N log(N)^2)
algorytmy były dość łatwe do wdrożenia.
Jednak w dzisiejszych czasach sytuacja wygląda nieco inaczej. W ostatnich trzech rekordach świata zamiast wykonać dwa obliczenia, wykonaliśmy tylko jedno obliczenie przy użyciu najszybszej znanej formuły ( Formuła Chudnovsky'ego ):
Algorytm ten jest znacznie trudniejszy do wdrożenia, ale jest znacznie szybszy niż algorytmy AGM.
Następnie weryfikujemy cyfry binarne za pomocą wzorów BBP do ekstrakcji cyfr .
Ta formuła pozwala obliczyć dowolne cyfry binarne bez obliczania wszystkich cyfr przed nim. Służy więc do weryfikacji ostatnich kilku obliczonych cyfr binarnych. Dlatego jest znacznie szybszy niż pełne obliczenia.
Zaletą tego jest:
- Potrzebne jest tylko jedno drogie obliczenie.
Wadą jest:
- Konieczne jest wdrożenie formuły Bailey – Borwein – Plouffe (BBP).
- Konieczny jest dodatkowy krok w celu weryfikacji konwersji podstawki z binarnej na dziesiętną.
Przejrzałem kilka szczegółów na temat tego, dlaczego weryfikacja kilku ostatnich cyfr oznacza, że wszystkie cyfry są poprawne. Łatwo to jednak zauważyć, ponieważ każdy błąd obliczeniowy zostanie przeniesiony do ostatnich cyfr.
Teraz ten ostatni krok (weryfikacja konwersji) jest właściwie dość ważny. Jeden z poprzednich rekordzistów świata tak naprawdę nas do tego wezwał, ponieważ początkowo nie przedstawiłem wystarczającego opisu jego działania.
Więc wyciągnąłem ten fragment z mojego bloga:
N = # of decimal digits desired
p = 64-bit prime number
Oblicz A za pomocą arytmetyki podstawowej 10, a B za pomocą arytmetyki binarnej.
Jeśli A = B
, to z „bardzo wysokim prawdopodobieństwem” konwersja jest prawidłowa.
Więcej informacji można znaleźć na moim blogu Pi - 5 bilionów cyfr .