Differenciálgép
A differenciálgép (difference engine) olyan mechanikus számológép, amely 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.
Története
[szerkesztés]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 tízes 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 tervezé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 apró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.
Működése
[szerkesztés]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.
Matematikai háttér
[szerkesztés]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 beosztással kell elkészíteni, legyen
- ,
ekkor
- .
-re is alkalmazhatjuk ugyanezt az eljárást:
- ,
és
- ,
amiből
- .
A különbségeket -nek különböző értéke alapján szintig kiszámolva -t vehetjük a-tól független konstansnak, és így közelíthetjük értékét tetszőleges -ra; a differenciálgép éppen ezt teszi, az -edik tengelyt -nek megfeleltetve. (Mai fogalmakkal azt mondhatjuk, hogy a gép Taylor-sorának első tagjával közelíti a függvényt.)
Példa
[szerkesztés]Vegyük a másodfokú polinomot. A , , é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:
* | ||
** | ||
* | ** | |
** | ||
* | *** | |
**** | ||
**** | *** | |
**** | ||
**** |
- * 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 -t állandónak vettük.
Lásd még
[szerkesztés]- A gépezet (Bruce Sterling és William Gibson regénye Babbage gépéről)