Differenciálgép

Charles Babbage differenciálgépének részlete, amit halála után a fia állított össze a Babbage laboratóriumában talált részekből
Charles Babbage differenciálgépének részlete, amit halála után a fia állított össze a Babbage laboratóriumában talált részekből

A differenciálgép (difference engine) egy mechanikus számológép, ami képes polinomfüggvények táblázatait kiszámolni. Mivel számos bonyolultabb függvény, többek között a logaritmus és a trigonometrikus függvények is közelíthetőek hatványsorral, egy ilyen gép sokoldalú számításokra képes.

Tartalomjegyzék

[szerkesztés] Története

Babbage gépének a Science Museum által készített másolata.
Babbage gépének a Science Museum által készített másolata.

Az első ilyen tervet Johann Müller készítette 1786-ban, de nem építette meg a gépet. Az ötlet feledésbe merült, és Charles Babbage fedezte fel újra 1822-ben, a Royal Astronomical Society-hez írt "Note on the application of machinery to the computation of very big mathematical tables." („a nagyon nagy matematikai táblázatok gép általi kiszámításáról”) című cikkében. A gép tizes számrendszert használt, és egy kar tekerésével lehetett működtetni. Babbage az angol kormány anyagi támogatásával elkezdte építeni a gépet, de hamarosan áttért egy sokkal általánosabb analitikus gép terevezésére. Később, 1847–49 között elkészítette egy fejlettebbb differenciálgép, a "Difference Engine No. 2" terveit. Ezekre alapozva 1855 után Per Georg Scheutz, majd Martin Wiberg épített differenciálgépet.

1991-re, Babbage születésének kétszázadik évfordulójára a londoni Science Museum Babbage tervei alapján elkészítette a Difference Engine No. 2 korhű mását, korabeli gyártási technológia felhasználásával. 2000-ben rekonstruálták a Babbage által a géphez tervezett nyomtatót is. Néhány appróbb hibát ki kellett javítaniuk Babbage terveiben, de ezután a gépek tökéletesen működtek, és működnek ma is. Ezzel eldőlt a hosszú ideje tartó vita, hogy lehetséges lett volna-e Babbage tervei alapján működőképes gépet készíteni a korabeli technológiával elérhető pontosság mellett.

[szerkesztés] Működése

Közelkép a Science Museum-beli gép oszlopairól
Közelkép a Science Museum-beli gép oszlopairól

A differenciálgép egy sor oszlopból áll, minden oszlop egy tízes számrendszerbeli számot tud tárolni. A gép egyetlen műveletre képes, egy oszlop értékének az előző oszlopéhoz való hozzáadására. Az utolsó oszlop csak egy konstanst tud tárolni, az első oszlop jelzi (vagy nyomtatja) ki az eredményt.

A gép programozása az egyes oszlopok kezdeti értékeinek beállításából áll. Az első oszlopba a polinom egy adott helyen felvett értéket kellett állítani, a továbbiakban a deriváltak értékeit. Ezután a gépet meghajtva az oszlopok forogni kezdenek, és az oszlopok értéke négy fázisban (egy a páratlan, egy a páros oszlopoknak, azon belül pedig egy az összeadásnak, egy az átvitelnek) hozzáadódnak az előttük lévőhöz.

[szerkesztés] Matematikai háttér

Mivel a gép nem tud szorozni, nem képes kiszámolni egy polinom értékét. Ha azonban egy adott érték (a deriváltakkal együtt) már rendelkezésre áll, a Newton-módszer alkalmazásával közelítően ki tudja számolni a függvény értékét más helyeken: ha a táblázatot h beosztással kell elkészíteni, legyen

\Delta_h f(a) = f(a+h)-f(a) \,,

ekkor

f(a+h) = f(a) + \Delta_h f(a) \,.

\Delta_h f \,-re is alkalmazhatjuk ugyanezt az eljárást:

\Delta_h^2 f(a) =  \Delta_h f(a+h) - \Delta_h f(a) = (f(a+2h)-f(a+h)) - (f(a+h)-f(a)),

és

\Delta_h f(a+h) = \Delta_h f(a) + \Delta_h^2 f(a),

amiből

f(a+2h) = f(a) + \Delta_h f(a) + \Delta_h f(a+h) = f(a) + \Delta_h f(a) + (\Delta_h f(a) + \Delta_h^2 f(a)).

A különbségeket f-nek n különböző értéke alapján n szintig kiszámolva \Delta_h^n-t vehetjük a-tól független konstansnak, és így közelíthetjük f(a + kh) értékét tetszőleges k-ra; adifferenciálgép éppen ezt teszi, az i-edik tengelyt \Delta_h^i-nek megfeleltetve. (Mai fogalmakkal azt mondhatjuk, hogy a gép Taylor-sorának első n tagjával közelíti a függvényt.)

[szerkesztés] Példa

Vegyük a p(x) = 2x2 − 3x + 2 másodfokú polinomot. A p(0), p(1), p(2) értékeket kézzel kiszámítva, majd ezekből a differenciákat és azokból a további függvényértékeket kifejezve az alábbi eredményt kapjuk:

p(0) = 2.0 *
Δp(0) = 1.72 − 2.0 = − 0.28 **
p(0.1) = 1.72 * Δ2p(0) = 0.24 − 0.28 = 0.04 **
Δp(0.1) = 1.48 − 1.72 = − 0.24 **
p(0.2) = 1.48 * 0.04 ***
− 0.24 + 0.04 = − 0.20 ****
p(0.3) = 1.48 − 0.20 = 1.28 **** 0.04 ***
− 0.20 + 0.04 = − 0.16 ****
p(0.4) = 1.28 − 0.16 = 1.12 ****

* Kézzel kiszámított érték
** A két balra fent és a balra lent található elem különbsége
*** A fölötte levő elemmel azonos
**** A fölötte és a tőle jobbra fel található elem összege

Mivel a másodfokú függvény második deriváltja konstans, itt nem keletkezett közelítési hiba azzal, hogy Δ2p-t állandónak vettük.

[szerkesztés] Lásd még

  • A gépezet (Bruce Sterling és William Gibson regénye Babbage gépéről)

[szerkesztés] Külső hivatkozások


system wymiany linków wymiana linkami SEO Tools kreatyna Gry Online Plaza 3 star hotel Los Angeles krynica noclegi Kredyty odnawialne