Dr. Baranyai László, fénykép

Dr. Baranyai László

 

Pí nap

11 nappal ez előtt, |

 

A nemzetközi pí napot március 14-én (3.14) tartják. A matematikai Π (3,14…) napját 1988 óta ünneplik ilyenkor. Van egy Π közelítő nap is, július 22 (22/7 = 3,1428…), de március 14 egyértelműen a konstans ünnepe. A jeles alkalomból bemutatok egy közelítő eljárást, amely a Π értékét számítja ki Monte Carlo módszerrel.

Monte Carlo módszer

A Monte Carlo módszer nevét a kaszinóvárosról kapta, ugyanis véletlen számokkal végzi el a műveleteket. Ennek köszönhetően a megismételt számítások eredményei némiképp eltérhetnek. A becslés pontossága az elvégzett iterációk mennyiségétől függ. A Π becslésének alap ötlete, hogy ismert a kör területe és sugara közötti összefüggés. Ha 0-1 tartományban véletlenszerűen választunk koordinátákat, az egységnyi négyzetben elszórt pontokat kapunk. Összegezve azok mennyiségét, amelyek maximum egység sugár távolságra vannak a középponttól, megkapjuk a konstansunkat. Egészen pontosan a negyedét, hiszen az egység négyzet az első síknegyedet fedi le.

Pí számítása Monte Carlo módszerrel
Pí számítása Monte Carlo módszerrel

A számításhoz Scilab programot használtam. A véletlen számok kiválasztása során egyenletes eloszlás (uniform) szerint válasszunk adatokat! Az alábbi függvény paramétere a generált pontok mennyisége. A függvény kiszámítja a pontok távolságát és sugárig 0, onnan pedig 1 értékkel helyettesíti. Ezáltal az összeg függvény megadhatja a sugár távolságon belül található potok mennyiségét.

// Calculating value of PI with Monte Carlo method
function [RV]=MC_PI(N)
 // check parameter and prevent zero division
 if N<=0 then
  RV = -1;
 else
  rand('seed',getdate('s'));
  x = rand(N,1,'uniform');
  y = rand(N,1,'uniform');
  d = sqrt(x.^2 + y.^2);
  d(d<=1)= 0.0;
  d(d>1) = 1.0;
  d = 1.0 - d;
  RV = 4*sum(sum(d))/N;
 end
endfunction

Használata igen egyszerű:

--> MC_PI(1e4)
 ans  =
   3.1416

Haladó Scilab felhasználók kiszámíthatják a becsült értéket minden iterációhoz és megfigyelhetik, hogyan közelít a függvény a végeredményhez az iterációk számának növekedésével. Ebből az adatsorból kideríthető, hogy az elvárt becslési pontossághoz mennyi iterációt célszerű végigvinni. A sikeres számolás után ünnepeljük meg a Π napot egy pitével!

 

« Régebbi