Sólin Sólin Rís 05:40 • sest 21:16 í Reykjavík
Tunglið Tunglið Rís 15:13 • Sest 05:59 í Reykjavík
Flóð Flóð Árdegis: 03:57 • Síðdegis: 16:31 í Reykjavík
Fjaran Fjara Árdegis: 10:23 • Síðdegis: 22:34 í Reykjavík

Hver var Charles Babbage og hvers vegna er hann kallaður faðir tölvunnar?

Snorri Agnarsson

Charles Babbage var nítjándu aldar stærðfræðingur og uppfinningamaður. Hann hannaði reiknivélar og tölvu, en því miður voru þær aldrei smíðaðar meðan hann lifði. Hann var sá fyrsti sem hannaði forritanlega tölvu.

Babbage hannaði þrjár mismunandi stórar vélrænar reiknivélar til nokkuð almennra nota auk þess sem hann hannaði eitthvað af smærri vélum. Allar þrjár stóru vélarnar byggðust á hárnákvæmri smíð á tannhjólum og öðrum vélrænum hlutum. Til að reikna með vélunum þurfti að keyra þær með handafli eða gufuvél.

Charles Babbage (1791-1871).

Fyrsta vélin, mismunavélin (e. difference engine), var tiltölulega einföld og gat einungis reiknað gildi á margliðum. Önnur vélin, greiningarvélin (e. analytical engine) var mun fullkomnari og ljóst er að hún var tölva í þeim skilningi sem tölvunarfræðingar leggja í það orð. Það er þessi vél sem er undirstaða þess að Charles Babbage er oft kallaður faðir tölvunnar, þótt ýmsir aðrir sem seinna komu fram geti með nokkrum rökum gert tilkall til þeirrar nafnbótar. Þriðja vél Babbage var endurbætt og einfaldari mismunavél.

Á nítjándu öld og reyndar allt fram á seinni hluta tuttugustu aldar byggðist mikið af útreikningum í stærðfræði, verkfræði, eðlisfræði, siglingafræði og fleiri greinum á notkun töflubóka yfir stærðfræðileg föll, svo sem $\log(x)$, $\log_e(x)$, $\log_{10}(x)$, $e^x$, $10^x$, $\sin(x)$, $\cos(x)$, $\tan(x)$, $\arctan(x)$ og mörg fleiri föll. Þegar höfundur þessa pistils var í menntaskóla var nemendum þar kennd notkun töflubóka til að reikna allt milli himins og jarðar, jafnvel til að margfalda saman stórar tölur. Nokkrum árum seinna voru handtölvur orðnar allsráðandi og hætt var að kenna slíka töflunotkun.

Opna með logratöflum í bókinni Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Abramowitz og Stegun, fyrst gefin út 1964).

Fyrir daga tölvunnar voru tölurnar í þessum töflubókum reiknaðar með mannafli með blaði og blýanti. Mjög algengt var að töflur þessar innihéldu villur. Villurnar voru reyndar oftar prentvillur en reiknivillur.

Charles Babbage hafði áhuga á að þróa ódýrari, auðveldari, hraðvirkari, öruggari og nákvæmari aðferðir til að reikna og prenta stærðfræðitöflurnar. Hann tók upp á sína arma hugmynd sem Þjóðverjinn J. H. Müller (1746-1830) hafði lagt fram árið 1786. Müller tókst aldrei að koma hugmynd sinni í framkvæmd. Babbage fékk hins vegar bresku ríkisstjórnina til að leggja fé í sína tillögu árið 1823. Verkefnið var að byggja mismunavélina.

Fyrri mismunavélin

Mismunavélin byggist á því að unnt er á tiltölulega einfaldan hátt að reikna runu af fallgildum $f(n)$, $f(n+1)$, $f(n+2)$,... fyrir margliðu $f$ með því að nota einungis samlagningu og frádrátt. Með smábrellu er hægt að sleppa því að nota frádrátt og nota einungis samlagningu. Mismunavélin vann einungis með jákvæð heiltölugildi, en það er ekki eins mikil takmörkun og kannski virðist við fyrstu sýn því það er tiltölulega einföld stærðfræðileg aðgerð að varpa vandamálum þeim sem Babbage hafði í huga yfir í vandamál sem mismunavélin réð við.

Til að útskýra virkni mismunavélarinnar skulum við nota sem dæmi margliðuna $f(x)=x^2+2x+1$:

 $x$   $f(x)$   $\Delta f(x)$ 
$\small{[f(x+1)-f(x)]}$
 $\Delta^2f(x)$ 
$\small{[\Delta f(x+1)-\Delta f(x)]}$
0132
1452
2972
3169.
425..
....
....
....
$k$$f(k)$$\Delta f(k)$$\Delta^2 f(k) = 2$

Við sjáum að ef við þekkjum gildin á $f(k)$ og $\Delta f(k)$ og $\Delta^2 f(k)$ (sem er reyndar alltaf 2 í þessu tilfelli) getum við reiknað

$$f(k+1) = f(k)+\Delta f(k)$$ og $$\Delta f(k+1) = \Delta f(k)+\Delta^2 f(k) = \Delta f(k)+2.$$Þeir sem eru stærðfræðilega sinnaðir munu átta sig á því að virkinn $\Delta$ verkar á svipaðan hátt og deildunarvirkinn $\frac{d}{dx}$. Fyrir margliðu $p(x)$ af gráðu $q$ gildir að $\Delta^q p(x)$ er fasti og að $\Delta^{q+1} p(x)$ er því núll fyrir öll $x$. Almennt gildir að ef $p$ er $q$-tu gráðu margliða og $q>0$ þá er $\Delta p$ einnig margliða og er af gráðu $q-1$.

Reyndar ríkir svipaður skyldleiki milli mismunavirkjans $\Delta$ og summuvirkjans $\Sigma$ annars vegar og hins vegar milli deildunar, ${df\over dx}$, og heildunar, $\int$.

Mismunavélin er forrituð með því að stilla hana með heiltölustuðlunum $f(k)$, $\Delta f(k)$, $\Delta^2 f(k)$, $\Delta^3 f(k)$ og svo framvegis, sem eru breytilegir eftir því hvaða margliðu er verið að reikna. Þessa heiltölustuðla þarf forritarinn sjálfur að reikna. Þegar búið er að forrita hana er vélin keyrð áfram skref fyrir skref þar sem hvert skref gefur nýja niðurstöðu. Runan af slíkum niðurstöðum er tölurnar $f(k+1)$, $f(k+2)$, og svo framvegis fyrir margliðuna $f$ sem reikna skal.

Babbage tókst aldrei að klára smíð mismunavélarinnar þótt hann reyndi í rúman áratug að klára verkið. Bresk stjórnvöld misstu að lokum trúna á verkefninu og Babbage varð að gefast upp.

Erfitt var á þessum tíma að smíða hluti í vélina vegna þess hve nákvæm smíðin varð að vera. Sérhvern hlut í vélina þurfti að smíða í höndunum og oft þurfti fyrst að smíða þau tól sem nota þurfti til smíðarinnar. Samskipti Babbage við verkstjóra smíðarinnar, Joseph Clement (1779-1844), voru líka oft á tíðum erfið. Clement var sjálfur allmerkilegur uppfinningamaður.

Babbage lagði allmikið af eigin fé í smíð vélarinnar auk þess fjár sem hann fékk frá stjórnvöldum en allt kom fyrir ekki. Þegar Babbage gafst upp á verkinu var hann að eigin sögn orðinn fullur viðbjóðs á málinu.

Greiningarvélin

Þegar Babbage var að fá sig fullsaddan á fyrstu mismunavélinni fór hann að hugsa um aðra og mun fullkomnari vél, greiningarvélina.

Smíði greiningarvélarinnar komst aðeins skammt á veg. Hér sést hluti hennar.

Á þessum tímum voru til sjálfvirkir vefstólar sem stýrt var með gataspjöldum. Vefstólar þessi voru því forritanlegir. Frakkinn Joseph Marie Jacquard (1752-1834) fann upp þessa aðferð í byrjun nítjándu aldar. Eðlilegt væri að tilnefna hann sem afa eða langafa tölvunnar.

Babbage áttaði sig á því að hann gæti notað gataspjöld til að stýra reiknivél. Hann skildi að til þess að reiknivélin fengi sem mestan sveigjanleika þurfti að uppfylla helstu skilyrði sem einkenna nútímatölvur:
  • Vélin þarf að vera forritanleg þannig að unnt sé að láta hana vinna eftir mismunandi forskriftum.
  • Vélin þarf að geta reiknað milliniðurstöður, geymt þær og notað í seinni útreikningum. Sérstaklega þarf vélin að geta notað milliniðurstöðurnar til ákvarðanatöku.
  • Forritunin þarf að vera sveigjanleg þannig að vélin gæti tekið ákvörðun í miðjum útreikningum um framhald útreikninganna og, til dæmis, endurtekið útreikninga þar til eitthvert skilyrði er uppfyllt eða valið milli mismunandi leiða í framhaldinu á grundvelli útkomu úr fyrri útreikningum.

Greiningarvélin var forrituð á svipaðan hátt og menn nú til dags forrita í smalamáli (e. assembly language). Ada Lovelace (1815-1852), dóttir Byrons lávarðar (1788-1824), skrifaði, að ósk Babbage, um greiningarvélina og í glósum hennar má finna það sem kalla mætti fyrsta forritið sem skrifað var fyrir forritanlega tölvu. Vegna þessa er Ada Lovelace oft sögð vera fyrsti forritarinn. Forritunarmálið Ada er nefnt eftir Ödu Lovelace.

Seinni mismunavélin

Babbage lærði af reynslu sinni með fyrstu mismunavélina og hannaði nýja mismunavél sem var mun einfaldari í smíðum. Einnig hannaði hann prentvél svo unnt væri að prenta töflubækur beint úr mismunavélinni og losna þannig við prentvillur.

Seinni mismunavélin.

Engin þessara þriggja véla Babbage var fullsmíðuð meðan hann lifði og lengi var deilt um það hvort unnt hefði verið að smíða þær með tækni nítjándu aldar. Úr þeirri deilu var skorið þegar seinni mismunavélin var að lokum smíðuð löngu eftir daga Babbage, í lok tuttugustu aldar. Vélin virkaði fullkomlega. Þess var gætt að smíðin væri gerð eftir nákvæmni sem unnt var að ná á nítjándu öld til þess að smíðin yrði réttlátur prófsteinn á deiluna um smíðanleikann. Vélin getur unnið með átta 31-stafa heiltölur á bilinu $0$ til $10^{31}-1$, eða $$0000000000000000000000000000000$$ til $$9999999999999999999999999999999$$ og ræður því við allt að sjöundu gráðu margliður og reiknar með mun meiri nákvæmni en við notum yfirleitt í nútímatölvum.

Heimildir og ítarefni:

Myndir:

Höfundur

Snorri Agnarsson

prófessor í tölvunarfræði við HÍ

Útgáfudagur

10.9.2012

Spyrjandi

Ritstjórn

Tilvísun

Snorri Agnarsson. „Hver var Charles Babbage og hvers vegna er hann kallaður faðir tölvunnar?“ Vísindavefurinn, 10. september 2012. Sótt 19. apríl 2024. http://visindavefur.is/svar.php?id=62939.

Snorri Agnarsson. (2012, 10. september). Hver var Charles Babbage og hvers vegna er hann kallaður faðir tölvunnar? Vísindavefurinn. Sótt af http://visindavefur.is/svar.php?id=62939

Snorri Agnarsson. „Hver var Charles Babbage og hvers vegna er hann kallaður faðir tölvunnar?“ Vísindavefurinn. 10. sep. 2012. Vefsíða. 19. apr. 2024. <http://visindavefur.is/svar.php?id=62939>.

Chicago | APA | MLA

Spyrja

Sendu inn spurningu LeiðbeiningarTil baka

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Senda grein til vinar

=

Hver var Charles Babbage og hvers vegna er hann kallaður faðir tölvunnar?
Charles Babbage var nítjándu aldar stærðfræðingur og uppfinningamaður. Hann hannaði reiknivélar og tölvu, en því miður voru þær aldrei smíðaðar meðan hann lifði. Hann var sá fyrsti sem hannaði forritanlega tölvu.

Babbage hannaði þrjár mismunandi stórar vélrænar reiknivélar til nokkuð almennra nota auk þess sem hann hannaði eitthvað af smærri vélum. Allar þrjár stóru vélarnar byggðust á hárnákvæmri smíð á tannhjólum og öðrum vélrænum hlutum. Til að reikna með vélunum þurfti að keyra þær með handafli eða gufuvél.

Charles Babbage (1791-1871).

Fyrsta vélin, mismunavélin (e. difference engine), var tiltölulega einföld og gat einungis reiknað gildi á margliðum. Önnur vélin, greiningarvélin (e. analytical engine) var mun fullkomnari og ljóst er að hún var tölva í þeim skilningi sem tölvunarfræðingar leggja í það orð. Það er þessi vél sem er undirstaða þess að Charles Babbage er oft kallaður faðir tölvunnar, þótt ýmsir aðrir sem seinna komu fram geti með nokkrum rökum gert tilkall til þeirrar nafnbótar. Þriðja vél Babbage var endurbætt og einfaldari mismunavél.

Á nítjándu öld og reyndar allt fram á seinni hluta tuttugustu aldar byggðist mikið af útreikningum í stærðfræði, verkfræði, eðlisfræði, siglingafræði og fleiri greinum á notkun töflubóka yfir stærðfræðileg föll, svo sem $\log(x)$, $\log_e(x)$, $\log_{10}(x)$, $e^x$, $10^x$, $\sin(x)$, $\cos(x)$, $\tan(x)$, $\arctan(x)$ og mörg fleiri föll. Þegar höfundur þessa pistils var í menntaskóla var nemendum þar kennd notkun töflubóka til að reikna allt milli himins og jarðar, jafnvel til að margfalda saman stórar tölur. Nokkrum árum seinna voru handtölvur orðnar allsráðandi og hætt var að kenna slíka töflunotkun.

Opna með logratöflum í bókinni Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Abramowitz og Stegun, fyrst gefin út 1964).

Fyrir daga tölvunnar voru tölurnar í þessum töflubókum reiknaðar með mannafli með blaði og blýanti. Mjög algengt var að töflur þessar innihéldu villur. Villurnar voru reyndar oftar prentvillur en reiknivillur.

Charles Babbage hafði áhuga á að þróa ódýrari, auðveldari, hraðvirkari, öruggari og nákvæmari aðferðir til að reikna og prenta stærðfræðitöflurnar. Hann tók upp á sína arma hugmynd sem Þjóðverjinn J. H. Müller (1746-1830) hafði lagt fram árið 1786. Müller tókst aldrei að koma hugmynd sinni í framkvæmd. Babbage fékk hins vegar bresku ríkisstjórnina til að leggja fé í sína tillögu árið 1823. Verkefnið var að byggja mismunavélina.

Fyrri mismunavélin

Mismunavélin byggist á því að unnt er á tiltölulega einfaldan hátt að reikna runu af fallgildum $f(n)$, $f(n+1)$, $f(n+2)$,... fyrir margliðu $f$ með því að nota einungis samlagningu og frádrátt. Með smábrellu er hægt að sleppa því að nota frádrátt og nota einungis samlagningu. Mismunavélin vann einungis með jákvæð heiltölugildi, en það er ekki eins mikil takmörkun og kannski virðist við fyrstu sýn því það er tiltölulega einföld stærðfræðileg aðgerð að varpa vandamálum þeim sem Babbage hafði í huga yfir í vandamál sem mismunavélin réð við.

Til að útskýra virkni mismunavélarinnar skulum við nota sem dæmi margliðuna $f(x)=x^2+2x+1$:

 $x$   $f(x)$   $\Delta f(x)$ 
$\small{[f(x+1)-f(x)]}$
 $\Delta^2f(x)$ 
$\small{[\Delta f(x+1)-\Delta f(x)]}$
0132
1452
2972
3169.
425..
....
....
....
$k$$f(k)$$\Delta f(k)$$\Delta^2 f(k) = 2$

Við sjáum að ef við þekkjum gildin á $f(k)$ og $\Delta f(k)$ og $\Delta^2 f(k)$ (sem er reyndar alltaf 2 í þessu tilfelli) getum við reiknað

$$f(k+1) = f(k)+\Delta f(k)$$ og $$\Delta f(k+1) = \Delta f(k)+\Delta^2 f(k) = \Delta f(k)+2.$$Þeir sem eru stærðfræðilega sinnaðir munu átta sig á því að virkinn $\Delta$ verkar á svipaðan hátt og deildunarvirkinn $\frac{d}{dx}$. Fyrir margliðu $p(x)$ af gráðu $q$ gildir að $\Delta^q p(x)$ er fasti og að $\Delta^{q+1} p(x)$ er því núll fyrir öll $x$. Almennt gildir að ef $p$ er $q$-tu gráðu margliða og $q>0$ þá er $\Delta p$ einnig margliða og er af gráðu $q-1$.

Reyndar ríkir svipaður skyldleiki milli mismunavirkjans $\Delta$ og summuvirkjans $\Sigma$ annars vegar og hins vegar milli deildunar, ${df\over dx}$, og heildunar, $\int$.

Mismunavélin er forrituð með því að stilla hana með heiltölustuðlunum $f(k)$, $\Delta f(k)$, $\Delta^2 f(k)$, $\Delta^3 f(k)$ og svo framvegis, sem eru breytilegir eftir því hvaða margliðu er verið að reikna. Þessa heiltölustuðla þarf forritarinn sjálfur að reikna. Þegar búið er að forrita hana er vélin keyrð áfram skref fyrir skref þar sem hvert skref gefur nýja niðurstöðu. Runan af slíkum niðurstöðum er tölurnar $f(k+1)$, $f(k+2)$, og svo framvegis fyrir margliðuna $f$ sem reikna skal.

Babbage tókst aldrei að klára smíð mismunavélarinnar þótt hann reyndi í rúman áratug að klára verkið. Bresk stjórnvöld misstu að lokum trúna á verkefninu og Babbage varð að gefast upp.

Erfitt var á þessum tíma að smíða hluti í vélina vegna þess hve nákvæm smíðin varð að vera. Sérhvern hlut í vélina þurfti að smíða í höndunum og oft þurfti fyrst að smíða þau tól sem nota þurfti til smíðarinnar. Samskipti Babbage við verkstjóra smíðarinnar, Joseph Clement (1779-1844), voru líka oft á tíðum erfið. Clement var sjálfur allmerkilegur uppfinningamaður.

Babbage lagði allmikið af eigin fé í smíð vélarinnar auk þess fjár sem hann fékk frá stjórnvöldum en allt kom fyrir ekki. Þegar Babbage gafst upp á verkinu var hann að eigin sögn orðinn fullur viðbjóðs á málinu.

Greiningarvélin

Þegar Babbage var að fá sig fullsaddan á fyrstu mismunavélinni fór hann að hugsa um aðra og mun fullkomnari vél, greiningarvélina.

Smíði greiningarvélarinnar komst aðeins skammt á veg. Hér sést hluti hennar.

Á þessum tímum voru til sjálfvirkir vefstólar sem stýrt var með gataspjöldum. Vefstólar þessi voru því forritanlegir. Frakkinn Joseph Marie Jacquard (1752-1834) fann upp þessa aðferð í byrjun nítjándu aldar. Eðlilegt væri að tilnefna hann sem afa eða langafa tölvunnar.

Babbage áttaði sig á því að hann gæti notað gataspjöld til að stýra reiknivél. Hann skildi að til þess að reiknivélin fengi sem mestan sveigjanleika þurfti að uppfylla helstu skilyrði sem einkenna nútímatölvur:
  • Vélin þarf að vera forritanleg þannig að unnt sé að láta hana vinna eftir mismunandi forskriftum.
  • Vélin þarf að geta reiknað milliniðurstöður, geymt þær og notað í seinni útreikningum. Sérstaklega þarf vélin að geta notað milliniðurstöðurnar til ákvarðanatöku.
  • Forritunin þarf að vera sveigjanleg þannig að vélin gæti tekið ákvörðun í miðjum útreikningum um framhald útreikninganna og, til dæmis, endurtekið útreikninga þar til eitthvert skilyrði er uppfyllt eða valið milli mismunandi leiða í framhaldinu á grundvelli útkomu úr fyrri útreikningum.

Greiningarvélin var forrituð á svipaðan hátt og menn nú til dags forrita í smalamáli (e. assembly language). Ada Lovelace (1815-1852), dóttir Byrons lávarðar (1788-1824), skrifaði, að ósk Babbage, um greiningarvélina og í glósum hennar má finna það sem kalla mætti fyrsta forritið sem skrifað var fyrir forritanlega tölvu. Vegna þessa er Ada Lovelace oft sögð vera fyrsti forritarinn. Forritunarmálið Ada er nefnt eftir Ödu Lovelace.

Seinni mismunavélin

Babbage lærði af reynslu sinni með fyrstu mismunavélina og hannaði nýja mismunavél sem var mun einfaldari í smíðum. Einnig hannaði hann prentvél svo unnt væri að prenta töflubækur beint úr mismunavélinni og losna þannig við prentvillur.

Seinni mismunavélin.

Engin þessara þriggja véla Babbage var fullsmíðuð meðan hann lifði og lengi var deilt um það hvort unnt hefði verið að smíða þær með tækni nítjándu aldar. Úr þeirri deilu var skorið þegar seinni mismunavélin var að lokum smíðuð löngu eftir daga Babbage, í lok tuttugustu aldar. Vélin virkaði fullkomlega. Þess var gætt að smíðin væri gerð eftir nákvæmni sem unnt var að ná á nítjándu öld til þess að smíðin yrði réttlátur prófsteinn á deiluna um smíðanleikann. Vélin getur unnið með átta 31-stafa heiltölur á bilinu $0$ til $10^{31}-1$, eða $$0000000000000000000000000000000$$ til $$9999999999999999999999999999999$$ og ræður því við allt að sjöundu gráðu margliður og reiknar með mun meiri nákvæmni en við notum yfirleitt í nútímatölvum.

Heimildir og ítarefni:

Myndir:...