Hesabımın pi dəqiqliyi olub olmadığını necə müəyyən edə bilərəm?

Pi sıralarını bir araya gətirən proqramı həyata keçirmək üçün müxtəlif üsullardan istifadə etməyə çalışdım. Mən üsulu sınamışam

744
11 янв. İşan Sharma 11 Yanvar təyin etdi 2013-01-11 20:15 '13 saat 20:15 'da 2013-01-11 20:15
@ 5 cavab

Mən ən çox pi rəqəmləri üçün dünya rekorduna sahib olduğum üçün iki sent əlavə edəcəyəm:

Əslində yeni bir dünya rekordunu təyin etmirsinizsə, hesablanmış ədədləri bilinən dəyərlərlə yoxlamaq üçün ümumi bir tətbiqdir. Yəni kifayət qədər sadədir.

Əslində, hesablarım doğrulamak üçün nömrələrin fraqmentlərini əks etdirən bir veb səhifəm var: http://www.numberworld.org/digits/Pi/


Amma dünya rekordu səviyyəsinə girəndə müqayisə etmək üçün bir şey yoxdur.

Tarixi olaraq hesablanmış ədədlərin düzgünlüyünü yoxlamaq üçün standart yanaşma ikinci alqoritmi istifadə edərək nömrələri yenidən tərtib etməkdir. Beləliklə, əgər hesablaşma ağırlaşarsa, sonunda nömrələr uyğun gəlmir.

Bu, adətən, tələb olunan vaxtı iki dəfə artırır (ikinci alqoritm adətən daha yavaş olur). Ancaq hesablanmış rəqəmləri və yeni bir dünya rekordunun heç bir yerə bölmədikdən sonra hesablanmış rəqəmləri yoxlamaq üçün yeganə yoldur.


Superkompüterlərin qeydləri qurulduğu günlərdə iki fərqli Gauss-Legendre alqoritmləri istifadə edildi .

Borwein alqoritmi

Bunlar olduqca asandır olan O(N log(N)^2) alqoritmləridir.

Ancaq bu günlərdə hər şey bir az fərqlidir. Son üç dünya rekordunda, iki hesablamanı yerinə yetirmək üçün, ən tez bilinən formula ( Chudnovsky Formula ) istifadə edərək, yalnız bir hesablama etdik :

2019

11 янв. Cavab Mystial tərəfindən verilir . 2013-01-11 20:28 '13 at 20:28 2013-01-11 20:28

Şübhəsiz ki, sizin məqsədləriniz üçün (məncə, yalnız bir proqramlaşdırma məşğələsi), nəticələrinizi internetdə pi rəqəmlərindən hər hansı birinə qarşı test etmək yaxşıdır.

Və bu dəyərlərin doğru olduğunu necə bilirik? Bəli, deyə bilərəm ki, alqoritmi tətbiqinin düzgünlüyünü sübut etmək üçün kompüter-elmi üsullar var.

Fərqli insanlar fərqli alqoritmlərdən istifadə edirlərsə, hər kəs on minlərlə (milyon, hər) ondalık yerlərin razılığını alırsa, daha pragmatik olur.

border=0

Tarixi olaraq, William Shanks 1873-ci ildə pi-dən 707 ədəd decimal ədədini nəşr etdi. Zəif adam, 528 nöqtədən başlayaraq bir səhv etdi.

1995-ci ildə bir əvvəlki rəqəmləri hesablamağa ehtiyac olmadan, n-ci nömrə (baz 16) pi hesablayacaq bir əmlak olan bir alqoritm dərc olundu ki, çox maraqlıdır!

Nəhayət, orijinal alqoritminiz pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... olmadıqlarını ümid edirəm pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... Bu proqram üçün asan ola bilər, amma bu da ən yavaş yollardan biridir. daha sürətli yanaşmalar üçün Wikipedia-da məqalə .

47
11 янв. Cavab 11 yanvarda Larry Smith tərəfindən verilir . 2013-01-11 20:44 '13 at 8:44 pm 2013-01-11 20:44

Müxtəlif yanaşmalardan istifadə edə bilərsiniz və eyni cavabı birləşdirməyinizə baxın. Və ya bəzi "web" işğalçı. Çudnovskinin alqoritmi, pi hesablanması üçün adətən çox sürətli bir üsul olaraq istifadə edilir. http://www.craig-wood.com/nick/articles/pi-chudnovsky/

20
11 янв. Cavab verildi argentage 11 yanvar. 2013-01-11 20:21 '13 at 8:21 pm 2013-01-11 20:21

Teylor seriyası pi-lə yaxınlaşmaq üçün bir yoldur. Qeyd edildiyi kimi, yavaş birləşir.

Taylor seriyasının qismən məbləğləri pi-nin əsl dəyərində növbəti dövrün müəyyən bir sürətində göstərilə bilər.

Pinin yaxınlaşdırılmasının digər üsulları maksimum səhv hesablamaq üçün oxşar üsullara malikdir.

Bunu bilirik, çünki biz bunu riyazi olaraq sübut edə bilərik.

14
11 янв. Yakk tərəfindən verilmiş cavab - Adam Nevraumont Jan 11 2013-01-11 20:24 '13 at 8:24 pm 2013-01-11 20:24

sin(pi/2) (və ya cos(pi/2) , bu məsələ üçün) günah və cos üçün (doğru) tez birləşən güc seriyasını istifadə edərək hesablamaq üçün cəhd edə bilərsiniz. (Daha yaxşı: daha sürətli birləşmə üçün yaxın x=0 hesablamaq üçün müxtəlif ikiqat formulalar istifadə edin.)

Yeri gəlmişkən, bu cos(x) hesablamalarını qara qutu kimi istifadə etməkdən daha yaxşıdır (məsələn, yuxarıda göstərildiyi kimi Taylor seriyasından istifadə edə bilərsiniz), bu, Newton vasitəsilə köklər üçün axtarışdır. Əlbəttə ki, daha yaxşı alqoritmlər var, amma ton nömrələri yoxlamaq istəmirsəniz, bu kifayətdir (və tətbiq etmək çox çətin deyil və yalnız bunun nə olduğunu başa düşmək üçün bir az hesablama lazımdır).

4
13 янв. Cavab 19 yanvar 2007-ci il tarixində istifadəçi tərəfindən verilmişdir 2013-01-13 22:09 '13 at 10:09 PM 2013-01-13 22:09

Etiketlərin dili-agnostic bağlı digər suallar və ya bir sual