Ing. Petr Faltus

Ludolfovo číslo

Výpočet PI na 201 desetinných míst

Venca Bartáček, spolužák z MFF UK a kamarád, udělal v roce 1994 program v Pascalu na výpočet Ludolfova čísla PI na 201 desetinných míst
3.1415926535 8979323846 2643383279 5028841971 6939937510
  5820974944 5923078164 0628620899 8628034825 3421170679
  8214808651 3282306647 0938446095 5058223172 5359408128
  4811174502 8410270193 8521105559 6446229489 5493038196
  4

Čas výpočtu: 3 minuty 59 sec
Program: zatím v Pascalu, později bude v Céčku
Počítač: 80386SX - 33MHz
Kde: V Písku 8.1.1994
Kdo: Václav Bartáček (toho času student MFF UK v Praze)

Od té doby uplynulo hodně času...

A dnes?

Algoritmus pro výpočet Ludolfova čísla PI

Výpočet PI metodou Monte Carlo

Máme-li čtverec a do něj vepsanou kružnici, výběrem nekonečného počtu pseudonáhodných bodů uvnitř čtverce získáme čtvrtinu Ludolfova čísla PI, jako podíl počtu zásahů dovnitř kružnice a vně kružnice. Výpočet pomocí metody Monte Carlo je zatížen chybou generátoru psaudonáhodných čísel a pro daný počet pokusů těžko určíme přesnost, s jakou se výsledek číslu PI blíží.

Podíl obsahů čtverce a do něj vepsané kružnice je čtvrtina čísla PI

Podíl obsahů čtverce a do něj vepsané kružnice je čtvrtina čísla PI

Výpočet PI jako součet nekonečné matematické řady

Nekonečná matematická řada je nejoblíbenější způsob vyčíslení PI. Při výpočtu snadno vysledujeme velikosti přírůstků v každém kroku, takže jsme schopni určit přesnost výsledku v závislosti na počtu kroků výpočtu.

Příklady matematických řad pro výpočet PI

Rychlost výpočtu (mimo optimalizace algoritmu) záleží na výběru matematické řady, protože rychlost konvergence jednotlivých řad k číslu PI se výrazně liší.

Pi = 4*( 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ... )

Pi = 4*( 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ... )

Pi = 4*( (1/2+1/3) - (1/2^3+1/3^3)/3 + (1/2^5+1/3^5)/5 - (1/2^7+1/3^7)/7 + ... )

Pi = 4*( (1/2+1/3) - (1/2^3+1/3^3)/3 + (1/2^5+1/3^5)/5 - (1/2^7+1/3^7)/7 + ... )

Pi = 4*( (4/5-1/239) - (4/5^3-1/239^3)/3 + (4/5^5-1/239^5)/5 - (4/5^7-1/239^7)/7 + ... )

Pi = 4*( (4/5-1/239) - (4/5^3-1/239^3)/3 + (4/5^5-1/239^5)/5 - (4/5^7-1/239^7)/7 + ... )

Příklady výsledků výpočtu PI

Pro srovnání s Vencou uvádím (užitím 2. a 3. matematické řady výše) současné výsledky ze dne 15.5.2012, počítané pomocí BCMath v linuxovém PHP 5.2.10 (cli) procesorem Intel(R) Core(TM)2 Duo E4500 na 2.20GHz. Abych zabránil chybě posledních číslic, celý výpočet probíhal s přesností o 2 desetinná místa vyšší než je výsledek zobrazen. 1.matematická řada výše konverguje proti uvedeným dvěma extrémně pomalu, proto chybí, pro výpočet Ludolfova čísla PI je neefektivní.

Výpočet PI na 201 desetinných míst dle 2.řady

Program pro vypocet Pi = 4*( (1/2+1/3) - (1/2^3+1/3^3)/3 + (1/2^5+1/3^5)/5 - (1/2^7+1/3^7)/7 + ... )

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964

Desetinnych mist: 201
Vypocetnich cyklu: 333
Delka vypoctu: 0.011015892028809s

Výpočet PI na 201 desetinných míst dle 3.řady

Program pro vypocet Pi = 4*( (4/5-1/239) - (4/5^3-1/239^3)/3 + (4/5^5-1/239^5)/5 - (4/5^7-1/239^7)/7 + ... )

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964

Desetinnych mist: 201
Vypocetnich cyklu: 145
Delka vypoctu 0.0047039985656738s


(c) Ing. Petr Faltus

  
     E-mail

Ing. Petr Faltus na Google+  Ing. Petr Faltus na YouTube  Ing. Petr Faltus na Pinterestu


 45 

Vaše IP adresa je 54.227.51.103 (ec2-54-227-51-103.compute-1.amazonaws.com)