2.3 Charles Babbage mechanikus számítógépei

Charles Babbage 1791 december 26-án született egy londoni bankárcsalád gyermekeként. Fiatalon elkezdett érdeklődni az algebra iránt, jól ismerte a kortárs matematikusok eredményeit, így amikor 1811-ben megkezdi tanulmányait a Trinity College-ban, azt tapasztalja, hogy tanárainál jóval korszerűbb és szélesebb körű ismeretekkel rendelkezik. Egyetemista éveiben diáktársaival, többek között John Herschellel, George Peacock-kal megalakítja az “Analytical Society”-t.

Huszas éveiben matematikusként tevékenykedik, 1816-ban (25 évesen!) a Royal Society tagjává választják, 1920-ban részt vesz az “Astronomical Society of London” megalapításában (később Royal Astronomical Society). Ettől kezdve fordul érdeklődése a gépesített számolóeszközök felé, s ennek megfelelően felhagy a matematikai tevékenységgel.

Differential Engine

Babbage idejében a hajózáshoz, navigációhoz nélkülözhetetlen táblázatokat “nyers emberi erővel”, az értékeket papíron kiszámító számoló-emberek (computer-ek) készítették, akik a monoton számítások végzésekor értelemszerűen számos hibát vétettek. Felismerve, hogy a matematikai táblák rengeteg hibát tartalmaznak, s ennek köszönhetően pl. számos hajó elpusztul, Babbage megpróbált keresni egy másik módszert: létrehozni egy gépet, amely nem hibázik, nem fárad el és nem unja meg a számolást, mint az emberi kalkulátorok.

Babbage visszaemlékezései szerint az automatikus számolóberendezés ötlete 1820 körül született, amikor csillagász barátjával John Herschel-lel egy éjszaka hibáktól hemzsegő csillagászati számításokat ellenõriztek. Babbage a reménytelennek tűnő munka közben elkeseredetten sóhajtott fel: “adná Isten, hogy ezeket a számításokat gõzgéppel lehessen elvégezni!”. Herschel válasza “It is quite possible” gondolkodtatta el Babbage-et először a kérdésen, aki néhány napon belül ki is dolgozta a később “Differencial Engine” néven ismertté vált gép alapelveit.

Babbage egyrészről jól ismerte a Pascal és Leibniz által készített számológépeket, másrészről a gyakorlatból ismerte a logaritmustáblák készítésének módját. (1827-ben publikálta a “Table of Logarithms of the Natural Numbers from 1 to 108,000” című munkáját, melyet még a huszadik században is használtak). 1822-ben, egy Sir Humphrey Davyhez címzett levelében írja le részletesen a megépítendő gép képességeit, többek között , hogy az a kiszámított matematikai táblák kinyomtatására is képes.

A Differencial Engine alapötlete – ahogy a neve is mutatja – a differenciák használatán alapszik. Az alábbi egyszerû táblázatban az T=x2+x+41 kifejezés értékét ábrázoljuk:

xx2+x+41D1D2
041
1432
24742
35362
46182
571102
683122
797142
8113162
9131182

A fenti példában egy másodfokú polinomot vizsgáltunk(D2 konstans, a D3 oszlop folyamatosan 0-t tartalmazna). Általában akárhányad fokú polinomnak van olyan differenciaoszlopa, mely már konstans, így a polinom felépíthetõ összeadások egymásutánjával.

A differenciák használatának jelentősége abban rejlik, hogy bármely függvény polinomokkal adott intervallumon belül tetszõleges pontossággal megközelíthetõ. A közelítés pontossága a polinom fokszámával nõ, és ahány rendû differenciákkal számol a gép, olyan fokszámú polinomokkal tud közelíteni. Ha tehát táblázatba szeretnénk foglalni egy fügvény értékeit, legyen szó szinuszfüggvényről, vagy a naplemente időpontjának változásáról, csupán megfelelően kis intervallumokra kell osszuk a függvényt egy adott értéktartományban, és minél pontosabban közelítő polinomokat kell találjunk az eredményekhez. Ezután a differenciák használatával egyszerű összeadások sorozatával kiszámollhatók a függvény hiányzó értékei.

Babbage felismerte, hogy ily módon a számolás gépesíthető. Ehhez csupán olyan mechanizmusra van szükség, amely külön képes tárolni a fenti táblázatban a T, a D1 és D2 oszlopok egyes értékeit, valamint képes azokat összeadni: D1+D2+T

1822 elején Babbage készít egy gépet, amely a fenti példában tárgyalt T=x2+x+41 függvény értékeit volt képes kiszámolni – az első 30 értéket két és fél perc alatt. Sajnos sem a szerkezet, sem Babbage tervrajzai nem maradtak fenn, csupán néhány 1822-ben írt levelének részleteiből következtethetünk a működésére, mely feltehetőleg nagy vonalakban megegyezett a későbbi, 1830-as terveivel. Fontos kiemelni, hogy ez egy minden szempontból működőképes szerkezet volt.

Babbage számára nem a műveleti sebesség, hanem a pontosság volt elsődleges fontosságú, hiszen gépét hibátlan (hajózási, matematikai, csillagászati stb.) táblázatok készítésére tervezte. Ennek megfelelően a számítások elvégzése csupán a probléma egyik oldalát jelentette számára, a másik megoldandó kérdés az eredmények (táblázatok) kinyomtatása volt. Ha ugyanis ezt emberek végzik manuális másolás útján, úgy a pontatlanságok, elírások nem zárhatók ki teljesen, így nem garantálható a hibátlan táblázatok készítése. Babbage tehát azt a célt tűzte maga elé, hogy a Differencial Engine önmaga legyen képes kinyomtatni a kiszámolt értékeket. Ez a mechanizmus az 1822-es első változatban még nem szerepelt, de Babbage folyamatos kísérleteket végzett a nyomtatás különböző módozataival kapcsolatban.

Jitze Couperus from Los Altos Hills, California, USA, CC BY 2.0 <https://creativecommons.org/licenses/by/2.0>, via Wikimedia Commons

Babbage meggyőződése szerint az 1822-ben elkészített változat prototípusa volt a később megépítendő gépnek, melynek megvalósításához elsősorban anyagi támogatásra volt szüksége. Ám a 19. század elején a kutatást-fejlesztést elősegítő állami támogatás fogalma még teljesen ismeretlen volt az újkori demokráciákban.

A már említett, Sir Humphrey Davy-nek, a Royal Society elnökéhez írt nyílt levéllel Babbage célja éppen az volt, hogy minél szélesebb körben, elsősorban a tudományos világban ismertesse elképzeléseit és eredményeit. A Differencial Engine jelentősége egyértelmű volt a Royal Society tudósai számára, hiszen ezidőtájt mindenfajta számításigényes művelethez a matematikai táblázatok biztosították az egyetlen segítséget, így a pontos táblázatok készítése az élet minden területén kiemelkedő fontossággal bírt. (Ilyen volt pédául a tengeri navigációban használt csillagászati táblázatok problémája, melyeket évente kellett aktualizálni és nyomtatott formában megjelentetni.)

Babbage tehát állami támogatásban részesült, melynek célja a Differential Engine megépítése volt, összege eleinte 1500, majd 1700 angol fontban került megállapításra. Sem Babbage, sem a kormány részéről nem kerültek részletezésre a támogatás felhasználásának módja, pontos céljai, mely folyamatos és egyre erősödő konfliktusokhoz vezetett. Mindenesetre Babbage a támogatást a gép megépítése melletti kiállásként értelmezte a kormány részéről, annak megvonását pedig szószegésnek.

A Differencial Engine számolóművének 1832-ben összeszerelt részlete

1832-ben, amikor a lassan készülő szerkezettel kapcsolatos első komoly aggályok megfogalmazódtak, a kételyek eloszlatására a Royal Society bizottsága számára a számolómű egy része már összeszerelt, működőképes állapotban került bemutatásra. A képen látható darab a teljes számolómű körülbelül egyheted része.

1833-ban, amikor Babbage a gép mechanikai kivitelezését végző mérnökkel, Joseph Clement-tel összetűzésbe kerül, s a produkció átmenetileg leáll, a kormány leállítja a további támogatás folyósítását. A Differencial Engine építése soha nem indult újra, pedig ekkor a gép már közel áll a megvalósuláshoz, addig felhasznált 17 000 fonthoz képest elenyésző, becslések szerint 500 font ráfordítást igényelt volna még a befelyezése. (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.)

A Differencial Engine egy része, amit a Babbage műhelyében talált darabokból raktak össze

A munkálatok leállásának idején a teljes számolómű majdnem összes alkatrésze legyártásra került, ám sosem került összeszerelésre.

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. (A belső áttételeknél túlzott súrlódás merült fel, s az állandó vibráció problémákat okozott. A kudarc másik oka az volt, hogy Babbaga az eredeti terveket megváltoztatta a gép készítése közben, 1832-ben a nyomtató-, illetve a teljes kontrollmechanizmust újratervezte.)

A Differencial Engine nyomtatóegysége puha fémlemez sablonba lyukasztotta a számjegyeket. A nyomtatás rendkívül összetett vezérlőmechanizmusa lehetővé tette a változtatható oszlop és sorszélességet, programozható szöveg formázást, és támogatta pl. az automatikus sortörést (line-wrapping).

A londoni Science múzeumban látható replika, mely Babbage eredeti tervei szerint épült.

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 legyszerűsített szerkezet négyezer alkatrészből áll, méretei: 3,4 m × 0,5 m × 2,1 m.

A teljes, a működő nyomtatóegységgel kiegészült Differential Engine rekonstrukciója végül 2002-ben került sor. (Valójában ez már a második, Babbage által áttervezett változat replikája, a Differential Engine No. 2.)

A demo of Charles Babbage’s Difference Engine: https://www.youtube.com/watch?v=BlbQsKpq3Ak

Az első 19. században elkészült működõ differenciagépet Babbage készülékének egyszerűsítésével a svéd Pehr Georg Scheutz (1785 – 1873) és fia, Edvard Scheutz építette meg. Hatodik differenciák helyett csupán negyediket használt és csak tizennégy számjeggyel dolgozott, viszont Babbage gépéhez hasonlóan alkalmas volt táblázatok készítésére, nyomtatására is. 1854-ben az elkészült szerkezetet Londonban is bemutatták. Babbage mindenki meglepetésére a Sheutz-differenciagép lelkes támogatójaként lépett fel.

Pehr Georg Scheutz 1834-ben Edward fiával együtt az Edinburgh Review-ban olvasnak a Babbage differenciagépéről. A cikk alapján hozzáfogtak egy lényegesen módosított és egyszerűsített, de tökéletesített változat megépítéséhez. A prototípus már 1834-ben elkészült, de a végleges, továbbfejlesztett változat gyártására csak 1851-ben, a Svéd Akadémia anyagi támogatásával kerülhetett sor, végül a kész szerkezetet 1853-ban mutatták be először.

Differenciagépeket egészen az 1940-es évekig használtak matematikai táblázatok készítésére.

Kis kitérő: a lyukkártya

Mint már láttuk, a korai automaták vezérlésére a mai zenélődobozokból ismert – a fogaskerék őséből, a bütyköstengelyből kifejlődött – tüskés henger, a vezérlődob szolgált. A lyukkártya, lyukszalag elve ugyanez, csupán tüskék helyett lyukak tárolják a programot. A szövőgépek első változatai is ezen az elven alapulnak.

Basile Bouchon szövőgépe 1725-ből, melyet Jean Baptiste Falcon tökéletesít 3 évvel később
Vaucanson automata szövőgépe, 1740 körül
lyukkártyák Jacquard szövőgépében (Jacquard szövőgépét 1801-ben mutatja be először, majd többször tökéletesíti)
Jacquard selyemből szőtt portréja, 1839 (24000 lyukkártya szolgált a teljes kép tárolására, csupán megrendelésre készült, Babbage is rendelt egyet magának)

Analitycal Engine

Babbage érdeklődése a Differencial Engine kudarca után azonnal egy új, általános célú gép építése felé fordul, 1834 végére már elkészül az Analitycal Engine névre keresztelt szerkezet alapvető terveivel, melynek így írta le mûködését:

“A gép két fő részből áll.

1. A tárolóból, ahol azok a változók helyezkednek el, amelyekkel műveleteket kell végezni, valamint a más műveletek eredményeként keletkező mennyiségek.

2. A malomból, amelybe mindig azokat a mennyiségeket visszük be, amelyeken éppen valamilyen műveletet kell végezni.

Minden formula – amelyet az analitikus géppel ki lehet számoltatni – bizonyos algebrai műveletekbõl áll, amelyeket adott betűkön kell végrehajtatni; továbbá bizonyos módosításokból, a szóban forgó betűkhöz hozzárendelt numerikus értékektől függõen.

Ennek folytán két kártyacsomag van: az első a végrehajtandó műveleteket határozza meg – ezek a műveleti kártyák; a másik meghatározza azokat a speciális változókat, amelyeken az előzőeknek a műveleteket végre kell hajtani – ez utóbbiak a változókártyák. Most valamennyi változó és konstans betűjelét egy oszlop tetejére írjuk, amely oszlop bármilyen, szükséges mennyiségben képes számjegyeket tartalmazni.

Ebben az elrendezésben, ha bármilyen formulát ki akarunk számítani, a műveleti kártyák csomagját úgy kell egymás után elhelyezni, hogy azok a műveleteket olyan sorrendben tartalmazzák, ahogy a formulában előfordulnak. Ezután egy másik kártyacsomagot kell összeraknunk, amely a változókat behívja a malomba, abban a sorrendben, ahogy dolgozni kívánunk velük. Minden művelet elvégzéséhez három további kártyára lesz szükség: kettő azon változókat és konstansokat, illetve ezek numerikus értékeit tartalmazza, amelyekre az előző műveleti kártya hatással van; a harmadik jelzi azt a változót, amelyben a művelet számszerű eredményét el kell helyezni.

Az analitikus gép ennél fogva rendkívül általános jellegű. Bármilyen formula értékét akarjuk kiszámíttatni, e számítás szabályait két kártyacsomag útján kell közölnünk vele. Ha ezeket behelyeztük, a gépet beállítottuk erre a speciális formulára.

Ha egyszer a kártyacsomagokat egy adott formulához összeállítottuk, azokat bármely későbbi időpontban ismét felhasználhatjuk, hogy a formula értékét más, esetleg szükségessé váló konstansokkal számítsuk ki újra.

Az analitikus gépnek így saját könyvtára lesz. Bármely,egyszer már összeállított kártyacsomag bármely későbbi idõpontban meg fogja ismételni azokat a számításokat, amelyekre eredetileg létrehozták. Ekkor csak a konstansok numerikus értékét kell beadni.”

“The Analytical Engine consists of two parts:

  • 1st. The store in which all the variables to be operated upon, as well as all those quantities which have arisen from the result of other operations, are placed.
  • 2nd. The mill into which the quantities about to be operated upon are always brought.

Every formula which the Analytical Engine can be required to compute consists of certain algebraical operations to be performed upon given letters, and of certain other modifications depending on the numerical value assigned to those letters.

There are therefore two sets of cards, the first to direct the nature of the operations to be performed—these are called operation cards: the other to direct the particular variables on which those cards are required to operate—these latter are called variable cards. Now the symbol of each variable or constant, is placed at the top of a column capable of containing any required number of digits.

Under this arrangement, when any formula is required to be computed, a set of operation cards must be strung together, which contain the series of operations in the order in which they occur. Another set of cards must then be strung together, to call in the variables into the mill, the order in which they are required to be acted upon. Each operation card will require three other cards, two to represent the variables and constants and their numerical values upon which the previous operation card is to act, and one to indicate the variable on which the arithmetical result of this operation is to be placed.

But each variable has below it, on the same axis, a certain number of figure-wheels marked on their edges with the ten digits: upon these any number the machine is capable of holding can be placed. Whenever variables are ordered into the mill, these figures will be brought in, and the operation indicated by the preceding card will be performed upon them. The result of this operation will then be replaced in the store.

The Analytical Engine is therefore a machine of the most general nature. Whatever formula it is required to develop, the law of its development must be communicated to it by two sets of cards. When these have been placed, the engine is special for that particular formula. The numerical value of its constants must then be put on the columns of wheels below them, and on setting the Engine in motion it will calculate and print the numerical results of that formula.

Every set of cards made for any formula will at any future time recalculate that formula with whatever constants may be required.

Thus the Analytical Engine will possess a library of its own. Every set of cards once made will at any future time reproduce the calculations for which it was first arranged. The numerical value of its constants may then be inserted.” (Charles Babbage: Passages from a Life of a Philosopher, pp.117-119.)

A lyukkártyák és a “malom” (= Central Processing Unit, CPU, Processzor)

Az Analitycal Engine 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 . 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, sőt, függvényeket görbék formájában rajzoló plotterrel is rendelkezett (volna). 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.

Megfogalmazza a géppel szemben támasztott elvárásokat (mely a 20. századi első elektronikus/elektromechanikus számítógépek felépítésére is nagy hatást gyakorolt):

  • ne kelljen mindig beállítani a számokat
  • meg lehessen adni egyszerre az összes számot és műveletet (ez lyukkártya segítségével oldható meg).
  • legyen input egység (ez a lyukkártya)
  • legyen utasítás (a művelet a lyukkártyán)
  • legyen külső programvezérlés (a lyukkártyákon tárolt utasítássorozat, a program)
  • legyen olyan egység, amely a kiindulási és a keletkezett számokat tárolja (“memória”)
  • legyen aritmetikai egység, amely számológépen belül a műveleteket végzi el
  • legyen output egység (a gép nyomtassa ki az eredményt).

1847-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. 1847 után Babbage érdeklődése ismét a Differential Engine felé fordul, megtervezi annak második, Differential Engine No. 2. névre keresztelt változatát, melyben felhasználja az Analitycal Engine-hez tervezett, továbbfejlesztett és egyben egyszerűsített aritmetikai mechanizmusokat. A gép logikai felépítése alapvetően nem változott, ám mechanikai szempontból egyszerűbb megoldásokat alkalmazott a számok tárolására és összeadására, illetve a tizedesátvitelre. A nyomtatórész is egyszerűbbé vált, festékhengerek alkalmazásával nem csupán nyomólemezt, hanem papírra készült nyomatot is készített a Differential Engine No. 2. 1848 közepére Babbage elkészíti a gép teljes dokumentációját, és felajánlja azokat a brit kormánynak, mivel úgy érzi, az első gép építésének sikertelensége miatt tartozik ennyivel támogatóinak, ám javaslatával kapcsolatban nem mutatkozik érdeklődés.

Babbage ezek után nem mutat túl sok érdeklődést a számolóeszközök iránt egészen 1855-ig, amikor a Sheutz Different Engine-t Londonban is bemutatják. Sokak meglepetésére Babbage a Sheutz- féle gép élénk támogatója-, illetve népszerűsítőjeként lép fel.

Talán a Sheutz- féle gép sikerén felbuzdulva 1856-57-ben, 65 évesen visszatér az Analitycal Engine félbehagyott terveihez. Babbage ezúttal saját forrásaiból megépíthető eszközt igyekszik létrehozni, melynek logikai felépítése egyszerűbb ugyan, de legfontosabb tulajdonsága, hogy az alapvető mechanizmusokat egyszerűbb és olcsóbb megoldásokkal helyettesítette. Felismeri, hogy az egyszerű mechanikai megoldások, és az olcsón előállítható alkatrészek nyújtják a kulcsot egy bonyolult gép megvalósulásához. Eleinte a pénzverő gépekhez hasonló módon fémlemezekből préselt módszerrel igyekszik a fogaskerekeket, és egyszerűbb alkatrészeket elkészíteni, később nagynyomású, a fröccsöntéshez hasonló módszerrel igyekszik azokat elkészíteni(ez a technológia a 19. század legvégére jut el az ipari hasznosításig). 1871-ben bekövetkezett haláláig számos az új, olcsó gyártási technológián alapuló kísérleti mechanizmust épít, s majdnem elkészül egy egyszerű malom, illetve nyomtatórendszer modelljével is.

Babbage érdeklõdési köre rendkívül széles volt, s számos egészen gyakorlati találmánya is volt. Kifejlesztett egy vasúti kocsikra szerelhetõ dinamométert, a mozdonyok elejére szerelt rácsszerkezetet(cow-catcher vagy pilot), mely a sineken fekvő akadályokat a hóekéhez hasonló módon eltolja a szerelvény útjából, de búvárharangot és szemtükröt is tervezett. Foglalkozott rendszerelemezéssel is. A Brit Posta számára elemzést készített a küldemények továbbítási költségeirõl. E tanulmánynak köszönhető az egységes postai díjszabás. Ő javasolta a postai szolgáltatások kiterjesztését könyvek és csomagok továbbítására. A politikai gazdaságtanban is jártas volt, a manufakturák működtetésérõl is készített elemzést.

Ada Byron = Ada Lovelace

Augusta Ada King sz. Byron, Lovelace grófnő (1815. december 10. – 1852. november 27.) főként arról ismert, hogy leírást készített a Charles Babbage által tervezett Analitycal Engine-hez.

Ada Lovelace aka Augusta Ada Byron-1843 or 1850 a rare daguerreotype by Antoine Claudet. Picture taken in his studio probably near Regents Park in London (cropped)

Ada volt Lord Byron költő és felesége, Annabella Milbanke egyetlen gyermeke, és egyben a költő egyetlen törvényes gyermeke. Byron féltestvéréről, Augusta Leighről nevezték el, akivel Byronnak a korabeli pletykák szerint vérfertőző viszonya volt, amelyből egy gyermek is született. Augusta biztatta Byront, hogy a botrány elkerülése érdekében házasodjon meg, ő pedig vonakodva, de elvette Annabellát, aki 1816. január 16-án elhagyta, és magával vitte az egyhónapos Adát. Byron április 21-én aláírta a válási papírokat és pár évvel később örökre elhagyta Angliát. Többé nem találkozott velük, 1824-ben halt meg Görögországban, Ada ekkor 8 éves volt.

Ada édesanyját, Lady Byront nagyon érdekelte a matematika (Byron egyszer „paralelogrammahercegnő”-nek nevezte), ami fontos szerepet töltött be életében. Igyekezett megakadályozni, hogy Ada olyan őrült legyen, amilyennek az apját tartotta, ez volt az oka, hogy már kiskorától kezdve tanította matematikára. Ada magántanároktól tanult matematikát és természettudományokat, egyik tanára Augustus De Morgan volt. Később, a londoni előkelő társaság tagjaként fiatalkorában a Kékharisnyák tagja volt.

1835-ben házasságot kötött William Kinggel, aki a 8. King báró és később, grófi rangra emelve Lovelace első grófja lett. Három gyermekük született: Byron (1836. május 12-én), Annabella (később Lady Anne Blunt, 1837. szeptember 22-én) és Ralph Gordon (1839. július 2-án). A család Ockham Parkban élt a Surrey megyei Ockhamben. Ada teljes neve és címe házasságától őméltósága Augusta Ada, Lovelace grófnője. Ma leginkább Ada Byron vagy Ada Lovelace néven ismert.

Ada jó barátságban volt Mary Somerville-lel, a híres 19. századi kutatóval és tudományos szerzővel. Ő mutatta be 1833. június 5-én Charles Babbage-nek. Szintén az ismerősei közé tartozottSir David Brewster, Charles Wheatstone, Charles Dickens és Michael Faraday.

Egy Babbage-nél tett látogatás alkalmával Ada megtekintette az analitikus gépet, melyről Babbage a következőképpen emlékszik meg: “Míg az estély többi résztvevője ugyanazzal az arckifejezéssel és érzéssel tekintett erre a szép készülékre, mint amit állítólag egyes vademberek tanúsítottak, amikor először láttak távcsövet vagy hallottak puskalövést, Miss Byron – akármilyen fiatal is volt – megértette működését, és átlátta a találmány szépségét.”

Babbage késõbb Giovanni Plana olasz csillagász barátja meghívására Torinóba látogatott, ahol az egyetem egy válogatott társaság előtt – melynek tagja volt Luigi F. Menabrea tábornok is, Olaszország későbbi miniszterelnöke – könnyed stílusú elõadássorozatot tartott. Menabrea-t megragadta a Babbage munkássága, és az előadásokról beszámolót írt, amelyet 1842-ben ki is adatott.

1842-1843-ban Ada kilenc hónap alatt lefordította Luigi Menabrea írását Babbage Analytical Engine-jéről. Babbage e hír hallatán arra buzdította az ekkor már 27 éves asszonyt, hogy lássa el jegyzetekkel a Menabrea dolgozatot. Az eredmény nem maradt el: a fordításban jegyzetek több mint kétszer olyan hosszúak lettek, mint a tulajdonképpeni fordítás. (Sketch of the Analitycal Engine) Ada jegyzetei az elképzelt gép számára írt programokat is tartalmaznak.

“I then suggested that she add some notes to Menabrea’s memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced: I suggested several but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process.”” (Babbage: Passages from the Life of a Philosopher, 1846)

Ada Lovelace nem csupán tökéletesen értette az Analytical Engine működését, tágasabban is gondolkodott Babbage-nél annak jelentőségéről; míg Babbage számára csupán egy egyetems számolóezköszt jelentett a szerkezet, Ada felismerte, hogy a számok különböző fizikai minőségekhez is rendelhetők.

“Ez algebrai mintákat szõ, ugyanúgy, ahogy Jacquard szövõszéke virágokat és leveleket” – írja Ada, a metaforát azonban nem költői képnek szánja, tudatosan tovább viszi az absztrakciót: „a gép képes lehet bármilyen összetettségű zenedarabok komponálására”.