Nasıl pi benim hesaplama doğru olup olmadığını belirlemek için?
Çeşitli yöntemler pi sayısının rakamlarını sıralı olarak veren bir program uygulamaya çalışıyordum. Taylor series yöntemi denedim, ama çok yavaş yakınsama bir süre sonra online değerleri ile benim sonuç ben karşılaştırıldığında) kanıtladı. Her neyse, daha iyi algoritmalar çalışıyorum.
Bu yüzden, tüm algoritmalar ile program bir sorun üzerinde takılıp kaldım yazarken, Nasıl hesapladım o n
basamak doğru olduğunu nereden bileceğim?
CEVAP
Pi sayısının en çok basamağını için geçerli dünya rekoru sahibi ben olduğuma göre, benim two cents eklerim:
Aslında yeni bir dünya rekoru ayarı değilsen, yaygın bir uygulama sadece bilinen değerlere karşı hesaplanan rakamı doğrulamak için. Bu kadar basit yani.
Aslında, onlara karşı hesaplamaların doğrulanması için basamak parçacıkları listeleyen bir web sayfası var: http://www.numberworld.org/digits/Pi/
Ama dünya rekoru topraklarına vardığında, karşı karşılaştırmak için bir şey yok.
Tarihsel olarak, hesaplanan rakam doğru olduğunu doğrulamak için standart yaklaşım basamak ikinci bir algoritma kullanarak yeniden. Eğer hesaplama da kötü giderse, sonunda rakam uyuşmaz.
Bu genellikle zaman iki katından daha fazla miktarda ihtiyaç duyulan ikinci algoritma genellikle daha yavaş olmasıdır). Ama daha önce hesaplanan basamak keşfedilmemiş toprakları ve yeni bir dünya rekoru merak ettik hesaplanan rakamı doğrulamak için tek yolu bu.
Süper kayıtları ayarı olduğu günlerde, AGM algorithms iki farklı yaygın olarak kullanılmıştır:
Bu uygulamak oldukça kolay olduğunu O(N log(N)^2)
Her iki algoritmaları vardır.
Ancak günümüzde işler biraz daha farklı. İki hesaplamaları gerçekleştirmek yerine, son üç dünya rekoru, sadece bir hesaplama olarak bilinen en hızlı formülü (Chudnovsky Formula) kullanıldı:
Bu algoritma çok daha zor uygulamaktır, ama çok AGM algoritmaları daha hızlı.
Sonra biz ikili basamak BBP formulas for digit extraction kullanarak doğrulayın.
Bu formül keyfi ikili basamak hesaplamak için izin verirolmadanbilgisayar önce tüm rakamları. Son birkaç hesaplanan ikili rakamları doğrulamak için kullanılır. Bu nedenleçoktam bir hesaplama daha hızlı.
Bunun avantajı:
- Sadece pahalı bir hesaplama gerekli değildir.
Dezavantajı:
- Bailey–Borwein–Plouffe (BBP) formül uygulaması gerekiyor.
- Ek bir adım ondalık ikili sayı tabanı dönüştürme doğrulamak için gereklidir.
Şimdi bu son adım (dönüşüm doğrulama) aslında oldukça önemlidir. Önceki dünya rekoru kıran biriaslında bizi aradıbaşlangıçta, çünkü bu, işe yaradı nasıl yeterli bir açıklama vermedim.
Blogumun bu kod parçası buldum:
N = # of decimal digits desired
p = 64-bit prime number
Aritmetik ve B kullanarak temel 10 ikili Bir aritmetik hesaplama.
A = B
, Daha sonra ise "çok yüksek olasılık", dönüşüm doğru değildir.
Daha fazla okumak için, blog benim yazı bakınPi - 5 Trillion Digits.
Nasıl benim etkinliklerinden biri ön p...
Nasıl değişken olup olmadığını belirle...
Nasıl belirli bir Linux 32 bit veya 64...
Nasıl bir web sayfası doğrudan tarayıc...
Nasıl bir dize bir sayı olup olmadığın...