Babbage munkássága

A XIX. században Charles Babbage (1792-1871) brit matematikus és feltaláló kidolgozta a modern digitális számítógép alapelveit. Több új típusú gépet is kigondolt. Ilyen volt a Difference Engine (differenciagép), amit logaritmustáblázatok készítésére tervezett az 1820-as évek elején. A gép a számolás eredményét a tervek szerint pontozóval közvetlenül a nyomda által használható fémlemezbe írta volna. A differenciagép bizonyos függvényértékek (négyzetek, harmadik hatványok, logaritmusok, stb.) sorozatának kiszámítását különbségek, differenciák összeadására vezeti vissza.

Például a négyzetszámok sorozatának előállításához azt használja ki, hogy a négyzetszámok másodrendű számtani sorozatot alkotnak:

(n+1)2=n2+n+(n+1)=n2+[(n-1)+n]+2=n2+[n2-(n-1)2]+2

Eszerint a következő négyzetszámot úgy kapjuk meg, hogy az előző négyzetszámhoz hozzáadjuk ennek és az őt megelőzőnek a különbségét (az úgynevezett első differenciát) és még 2-t, a második differenciát. Más függvényértékek kiszámításához több differenciát kell összeadni, de az elv hasonló: ha a sorozat előző eleme ismert, ebből a következőt bizonyos differenciák hozzáadásával lehet megkapni. Tehát minden függvényérték kiszámítását összeadásokra vezeti vissza.

Babbage gépe még a hatodik rendű differenciákat is használta. Ehhez hat, egymáshoz kapcsolódó számolóművet tervezett, mai ismereteink szerint hibátlanul. A gép 20 jegyű számokkal dolgozott volna. Babbage csak a gép egyes részeit tudta elkészíteni, a munkát azonban nem tudta befejezni: részben anyagi okok miatt, részben pedig a kor technikai lehetőségei nem voltak elegendőek. 1834-ben a differenciagép előállítási költségeit 17 470 fontra becsülték (egy gőzmozdony ugyanekkor 1000 fontba került).

Az első működő differenciagépet Babbage készülékének egyszerűsítésével 1853-ban készítette el Pehr Scheutz és fia, Edvard Scheutz. Ez a gép harmadrendű differenciákat és 15 jegyű számokat kezelt csak. Christel Hamann tovább tökéletesítette a berendezést, és segítségével 1910-ben tízjegyű logaritmustáblázatot jelentetett meg. Differenciagépeket egészen az 1940-es évekig használtak matematikai táblázatok készítésére.

A londoni Science Museumban 1991-ben Babbage részletes rajzai alapján megépítették az eredeti differenciagép egyszerűsített változatát korszerű anyagokból. A gép négyezer alkatrészből áll, méretei is tekintélyesek: 3,4 m × 0,5 m × 2,1 m. A berendezés tökéletesen működött: hibátlanul kiszámította a 7. hatványok táblázatának első száz értékét.

 

 

1833-ban a differenciagép elveinek továbbfejlesztésével tervezte meg Babbage az Analytical Engine-t (analitikus gépet). A gép elkészítéséhez a kormánytól kapott előlegként 17 000 font támogatást, de a saját tőkéjéből is ráköltött mintegy 20 000 fontot (más forrás szerint a támogatást nem az analitikus géphez, hanem a differenciagéphez kapta Babbage). A kormány 1842-ben, miután még mindig nem voltak látható eredmények, megvonta támogatását Babbage munkájától. (“Mi lenne, ha a gépet arra használnánk, hogy számolja ki, mikor fog működni?” — élcelődött Robert Peel miniszterelnök.) Ez a gép teljes egészében sohasem épült meg, pedig a modern számítógépek sok sajátságával rendelkezett. Babbage univerzális gépet tervezett, amely adatbeviteli és eredmény-kiviteli egységből, számolóműből és részeredmény-tárolóból állt volna. A gép lyukkártyákról olvasta volna be az információkat, tudott volna utasításokat és adatokat tárolni, matematikai műveleteket végrehajtani és adatokat kinyomtatni. Lyukkártyák vezérelték volna a tulajdonképpeni számítási folyamatokat is. Megjelent a feltételes vezérlésátadás ötlete: egy szám előjelének függvényében a gép kétféleképpen folytatta volna működését. A tárolómű 200 részeredmény tárolására lett volna alkalmas. Erre a célra 1000 db, egyenként 50 fogaskereket tartalmazó oszlopot tervezett Babbage. Haláláig ezen a gépen dolgozott, bár az építése már kezdetben megakadt: a kor finommechanikai lehetőségeivel ezt a gépet nem lehetett elkészíteni. Ha megépült volna, egy futballpálya területét foglalta volna el és öt gőzgép energiája kellett volna a működtetéséhez. A gép működési elvei miatt azonban sok történész Babbege-et és a munkatársát, Augusta Ada Byron (Augusta Ada Lovelace) matematikust (Lord Byron angol költő lányát) tartja a modern digitális számítógép igazi feltalálójának.

Egy olasz mérnök írt francia nyelvű beszámolót Babbage differenciagépéről. Ezt olvasta az akkor 27 éves Augusta Ada Lovelace. Fantáziát látott a számológépben, lefordította a beszámolót angolra és saját neve alatt publikálta a Scientific Memoirsban. A fordítást Babbage-nek is megmutatta, aki megkérdezte, hogy miért nem írt inkább egy eredeti cikket. Lady Lovelace erre elkészítette a cikk bővített, az eredetinél háromszor hosszabb változatát. Ebben kijavított néhány komoly hibát is, amit Babbage elkövetett. Írásában összehasonlítja a számológépet Jacquard 1801-es szövőszékével: “Ez algebrai mintákat sző, ugyanúgy, ahogy Jacquard szövőszéke virágokat és leveleket”. Ebből az ismeretségből aztán munkatársi viszony lett. Ada Lovelace javasolta Babbage-nak, hogy ne decimális, hanem bináris formában tárolja a számokat. Ugyancsak ő találta ki, hogy hogyan lehetne a géppel egy utasítás-sorozatot többször végrehajtatni. Ada Lovelace-ről nevezték el később az Ada programnyelvet.