Karena saya pemegang rekor dunia saat ini untuk digit pi terbanyak, saya akan menambahkan dua sen saya :
Kecuali jika Anda benar-benar membuat rekor dunia baru, praktik yang umum adalah hanya memverifikasi angka yang dihitung terhadap nilai yang diketahui. Jadi itu cukup sederhana.
Bahkan, saya memiliki halaman web yang mencantumkan snippet of digit untuk tujuan memverifikasi perhitungan terhadap mereka: http://www.numberworld.org/digits/Pi/
Tetapi ketika Anda masuk ke wilayah rekor dunia, tidak ada yang bisa dibandingkan.
Secara historis, pendekatan standar untuk memverifikasi bahwa digit yang dihitung benar adalah untuk menghitung ulang digit menggunakan algoritma kedua. Jadi, jika salah satu perhitungan memburuk, angka pada akhirnya tidak akan cocok.
Ini biasanya lebih dari dua kali lipat jumlah waktu yang dibutuhkan (karena algoritma kedua biasanya lebih lambat). Tapi itu satu-satunya cara untuk memverifikasi angka yang dihitung setelah Anda berkeliaran di wilayah yang belum dipetakan dengan angka yang belum pernah dihitung sebelumnya dan rekor dunia baru.
Kembali pada hari-hari di mana superkomputer mengatur catatan, dua algoritma AGM yang umum digunakan:
Ini adalah kedua O(N log(N)^2)
algoritma yang cukup mudah diimplementasikan.
Namun, saat ini, segalanya agak berbeda. Dalam tiga rekor dunia terakhir, alih-alih melakukan dua perhitungan, kami hanya melakukan satu perhitungan menggunakan rumus yang paling cepat dikenal ( Formula Chudnovsky ):
Algoritma ini jauh lebih sulit untuk diterapkan, tetapi jauh lebih cepat daripada algoritma AGM.
Kemudian kami memverifikasi angka biner menggunakan rumus BBP untuk ekstraksi digit .
Rumus ini memungkinkan Anda untuk menghitung angka biner acak tanpa menghitung semua angka sebelumnya. Jadi ini digunakan untuk memverifikasi beberapa digit biner terkomputasi. Oleh karena itu jauh lebih cepat daripada perhitungan penuh.
Keuntungan dari ini adalah:
- Hanya satu perhitungan mahal yang dibutuhkan.
Kerugiannya adalah:
- Implementasi dari Diperlukan formula Bailey – Borwein-Plouffe (BBP).
- Langkah tambahan diperlukan untuk memverifikasi konversi radix dari biner ke desimal.
Saya telah membahas beberapa detail mengapa memverifikasi beberapa digit terakhir menyiratkan bahwa semua digit itu benar. Tetapi mudah untuk melihat ini karena kesalahan perhitungan akan merambat ke digit terakhir.
Sekarang langkah terakhir ini (memverifikasi konversi) sebenarnya cukup penting. Salah satu pemegang rekor dunia sebelumnya benar-benar memanggil kami karena ini, pada awalnya, saya tidak memberikan deskripsi yang cukup tentang cara kerjanya.
Jadi saya telah mengambil cuplikan ini dari blog saya:
N = # of decimal digits desired
p = 64-bit prime number
Hitung A menggunakan basis 10 aritmatika dan B menggunakan aritmatika biner.
Jika A = B
, maka dengan "probabilitas sangat tinggi", konversi sudah benar.
Untuk bacaan lebih lanjut, lihat posting blog saya Pi - 5 Triliun Digit .