Оскільки я є поточним світовим рекордсменом з найбільшого числа пі, додамо свої два центи :
Якщо ви насправді не встановите новий світовий рекорд, загальною практикою є лише перевірка обчислених цифр проти відомих значень. Тож це досить просто.
Насправді у мене є веб-сторінка, в якій перераховані фрагменти цифр для перевірки обчислень проти них: http://www.numberworld.org/digits/Pi/
Але, потрапляючи на територію світових рекордів, з чим порівняти немає.
Історично склалося, що стандартним підходом до перевірки правильності обчислених цифр є перерахунок цифр за допомогою другого алгоритму. Тож якщо обчислення йдуть погано, цифри в кінці не збігаються.
Зазвичай це більше, ніж удвічі більше часу, необхідного (оскільки другий алгоритм зазвичай повільніше). Але це єдиний спосіб перевірити обчислені цифри після того, як ти прогулявся на незафіксовану територію ніколи не обчислених цифр і новий світовий рекорд.
Ще в часи, коли суперкомп'ютери встановлювали записи, зазвичай використовували два різні алгоритми AGM :
Це обидва O(N log(N)^2)
алгоритми, які було досить легко здійснити.
Однак нині справи дещо інакше. В останніх трьох світових рекордах замість того, щоб виконати два обчислення, ми виконали лише одне обчислення, використовуючи найшвидшу відому формулу (формула Чудновського ):
Цей алгоритм реалізувати набагато складніше, але він набагато швидший, ніж алгоритми AGM.
Потім ми перевіряємо двійкові цифри, використовуючи формули BBP для вилучення цифр .
Ця формула дозволяє обчислити довільні двійкові цифри без обчислення всіх цифр перед нею. Тому він використовується для перевірки останніх кількох обчислених двійкових цифр. Тому це набагато швидше, ніж повне обчислення.
Перевага цього:
- Потрібно лише одне дороге обчислення.
Недоліком є:
- Потрібна реалізація формули Бейлі-Борвейна – Плоуффа (BBP).
- Необхідний додатковий крок для перевірки перетворення радіусу від двійкового до десяткового.
Я описав деякі деталі того, чому перевірка останніх цифр означає, що всі цифри є правильними. Але це легко переконатися, оскільки будь-яка помилка обчислення поширюється на останні цифри.
Тепер цей останній крок (перевірка конверсії) насправді досить важливий. Один з попередніх світових рекордсменів нас справді закликав до цього, оскільки, спочатку, я не дав достатньої характеристики того, як це працює.
Тому я витягнув цей фрагмент із свого блогу:
N = # of decimal digits desired
p = 64-bit prime number
Обчисліть A, використовуючи основу 10 арифметики та B, використовуючи двійкову арифметику.
Якщо A = B
тоді з "надзвичайно високою ймовірністю" перетворення правильне.
Для подальшого читання дивіться мій пост у блозі Pi - 5 трлн цифр .