Vissza a főoldalra    Vissza a Tudományos érdekességek oldalra

Vissza a Pí főoldalra

A π meghatározása téglányösszegek módszerével
(2002.02.20.)
 

      Ma, a nagyteljesítményű személyi számítógépek korában már akár otthonunkban is lehetőség nyílik olyan feladatok megoldására, amelyekről 50 éve csak álmodoztak a matematikusok és más kutatók. Az egységnyi sugarú kör területét egy jól programozható módszerrel fogjuk kiszámítani, amelyet muszály is programozni, hiszen a kívánt pontossággal arányban nő az elvégzendő számítások mennyisége.
      Általános iskolai tanulmányokra emlékezve talán még eszünkbe juthat egy területbecslési eljárás, amelynél egy síkidomot négyzethálós papírra rajzolva megszámolhatjuk a körvonalak által körbezárt négyzetek számát és így megkapjuk a síkidom körülbelüli területét. Az alábbi ábra szemlélteti, hogy minél finomabb négyzethálót használunk, annál pontosabban kapjuk a terület értékét. A "matematikusok fejedelme", Gauss(1777-1855) is egy ehhez hasonló, négyzetrácson alapuló módszert dolgozott ki a π meghatározására.

Példa a rácsozat finomítására

      Számítási eljárásunkat egy negyedkörre fogjuk levezetni. A negyedkör területének ismeretében a teljes kör területe már könnyen számítható, hiszen:

Tkör = 4 · Tnegyedkör.

 

A negyedkör területe

      A teljes körből az ábrán látható módon kiemelünk egy negyedet és ennek a területére próbálunk meg számítási eljárást találni. Az ábrán a piros vonalak egységnyi hosszúságúak, mert ezek a kör sugarai. Első lépésként a kör egységnyi sugarát osztjuk fel n részre (az ábrán n = 10). Így kapjuk az o osztásértéket, amely a sugár n-ed része (az ábrán így o = 0,1). Az o osztásérték adja meg a négyzetháló finomságát. Minél nagyobb n értéket választunk, annál kisebb lesz az o, így annál pontosabbak lesznek a számításaink. Persze n növelésével négyzetes arányban nő a számítási mennyiség, amelyet el kell végeznünk.
      A negyedkör által letakart négyzetháló vízszintes sorait az ábrán kék számokkal jelöltük meg: x Î [1,2,3 … n] (az ábrán 1-től 10-ig). Tehát ezek a számok 1-től n-ig terjednek, hiszen a vízszintes sorok száma n. (Mert a kör sugarát n részre osztottuk fel.) Annyi teendőnk maradt csupán, hogy minden egyes sorban megszámoljuk, mennyi négyzet van a körvonalon belül, és az eredményeket összeadjuk.
      Egy sor hosszának meghatározása. A fenti ábrán a vízszintes sorok felső vonalának és a körívnek a metszéspontjait levetítve kapjuk a sorok körív belsejébe eső hosszát (zöld), amely az 1. sornál a1, a 2. sornál a2, az x-edik sornál pedig ax. Az ábrán bejelöltük a vízszintes sorok felső vonalának a kör középpontjától számított "magasságát" is (kék), amely az 1. sornál h1, a 2. sornál h2, az x-edik sornál pedig hx. Könnyen belátható, hogy az egyes sorok magassága:

hx = x · o,

ahol x Î [1,2,3 … n].

      Tehát a h magasságot megkapjuk, ha a sor x számát (az ábrán a kék számok) megszorozzuk az o osztásértékkel.
      Ahhoz, hogy megtudjuk, egy adott x. sor mennyi kis négyzetet tartalmaz, ki kell számolnunk a sorhoz tartozó ax értéket. Majd elhagyva az ax tört részét (tizedesvessző utáni részét) megkapjuk a tartalmazott négyzetek számát. Az ax értéket a következőképpen számítjuk:

A negyedkört alkotó sorok hossza

      Látható, hogy mindegyik sorra fel kell írnunk a Püthagorasz-tételt, amiből kifejezhetjük a sor hosszát, ax-et. A tartalmazott négyzetek számát jelöljük sx-szel, így az x. sorban levő négyzetek száma:

sx = Int(ax / o),

ahol az Int művelet a zárójelben levő kifejezés egész részének képzését jelenti. Ezekután a negyedkörben elhelyezkedő négyzetek száma:

Σs = s1 + s2 + … + sn.

      Tehát az egyes sorokra kapott s értékeket összegezzük. A negyedkör területe:

Tnegyedkör = Σs · o2,

ahol o2 a kis kitöltőnégyzet területe.

      Ezzel megkaptuk a kör területét szögfüggvények használata nélkül, alkalmaztunk viszont négyzetreemelést és gyökvonást.
      A módszert számítógépes program formájában megvalósítva a következő eredményeket kapjuk:

Az o osztásérték (1/n) A π számított értéke A számítási idő

 

 

 

          0,1 2,9065233514         < 0,01s
          0,01 3,1204190318         < 0,01s
          0,001 3,1395554689         < 0,01s
          0,0001 3,1413914776         < 0,01s
          0,00001 3,1415726164         0,16s
          0,000001 3,1415906524         1,49s
          0,0000001 3,1415924536         14,96s
          0,00000001 3,1415926336         2min, 29s

      A táblázatból láthatjuk, hogy itt alulról közelítjük meg π értékét. Megfigyelhető még, hogy a pontosság egy tizedesjeggyel való növelése a számítási időt kb. kilencszeresére növeli. Így kiszámíthatjuk, hogy mennyi ideig tart egy bizonyos pontosságú számítás. Például tíz tizedesjegynyi pontossághoz az alábbi számítógép- és program-konfigurációval kb. 27 órás számításra volna szükség.
      (A tesztelés egy Turbo Pascal 6.0 nyelven, DOS alá írt programmal lett végezve 350MHz-es órajelű Pentium II processzort tartalmazó gépen Windows ME operációs rendszer alatt. A DOS alá írt (16 bites) programok természetesen nem használják ki a fenti konfigurációban (32 bites) rejlő teljesítményt.) Itt a programlista és a futtatható program is letölthető.

 

  Tudomány és Technika (test@t-es-t.hu)

Vissza a Pí főoldalra   Vissza az oldal elejére

Vissza a főoldalra    Vissza a Tudományos érdekességek oldalra