Column

Zo schreef Ada Lovelace het allereerste algoritme

Meer dan anderhalve eeuw na haar dood blijft Ada Lovelace een toonbeeld in de wiskunde- en computerwetenschappen.

Na weken enkel les te geven via mijn computer zie ik eindelijk al mijn studenten wiskunde en computerwetenschappen samen in de grootste aula van de VUB, zij het dan in het kader van hun examen Discrete Wiskunde. Het vak bij uitstek waar wiskunde en computerwetenschappen samenkomen. Ik zie, zoals ieder jaar, voornamelijk een mannelijk publiek. 

Ooit was dat anders. In 1815 werd Augusta, kortweg Ada, geboren als dochter van de bekende Engelse poëet Lord George Byron en barones Anna Milbanke. Ada’s moeder wilde absoluut vermijden dat haar dochter zich ook voor poëzie zou interesseren en moedigde haar aan om wiskunde, muziek en Frans te studeren – wat zij zelf ook had gedaan. Door haar moeders achtergrond vertoefde Ada in de hoogste kringen. Als tiener had ze vlot toegang tot andere vrouwen die zich in de wiskunde verdiepten. Vrouwen mochten toen niet studeren en werden niet au sérieux genomen wanneer ze zich met exacte wetenschappen bezighielden. 

Ada ontmoette de Schotse Mary Somerville, die moderne wiskunde- en astronomieboeken vertaalde. Via haar kwam Ada op haar zeventiende, in 1832, dan weer in contact met Charles Babbage (1791-1871). De Britse wiskundige en astronoom ergerde zich aan de vele fouten in de met de hand door ‘computers’ (rekenaars) opgestelde astronomietabellen met wiskundige data als logaritmes, sinussen en cosinussen. Destijds bestonden al wel enkele mechanische rekentoestellen, maar die lieten te veel marge voor menselijke fouten, omdat ze met de hand werden bediend. 

Babbage bedacht daarom zijn Difference Engine, een door stoom aangedreven mechanische machine die dergelijke berekeningen automatisch zou uitvoeren. De machine steunde op de methode van eindige verschillen ontwikkeld door wiskundige Baron Gaspard de Prony (1755-1839) waardoor ze niet moest kunnen vermenigvuldigen of delen – wat mechanisch moeilijk te realiseren was. 

Kort daarna ontstonden bij Babbage ideeën voor een breder inzetbare variant. Op papier construeerde hij de geavanceerde Analytical Engine, die berekeningen kon uitvoeren door zijn ‘eigen staart te eten.’ Het betekende dat tussenresultaten konden worden opgeslagen en dat er met een ponskaart kon worden meegegeven wat de volgende stappen in de berekeningen moesten zijn. 

De machine kon ook ingezet worden om alles wat kan ‘voorgesteld worden met getallen’ te automatiseren, zoals het maken van muziek

Ada, die intussen getrouwd was met Lord William King, graaf van Lovelace, zag meteen het potentieel van de programmeerbare machine, eigenlijk de voorloper van onze huidige computers. Ze wilde het toestel een ingewikkelde berekening laten uitvoeren, maar daarvoor had ze meer wiskunde nodig dan Babbage haar kon leren. In 1840 zette ze een intense correspondentie op met Augustus De Morgan, waarbij ze meermaals haar verwondering uitte over bepaalde wiskundige begrippen of redeneringen. 

Die houding stelde haar in staat om visionaire nota’s over de Analytical Engine te schrijven. Ze kon die niet zomaar onder haar naam publiceren. Daarom vertaalde ze het artikel Notions sur la Machine Analytique geschreven door de Italiaanse ingenieur Luigi Menabrea nadat die een lezing van Babbage had bijgewoond. Ze voegde haar ideeën als een appendix toe en haalde hierin aan dat de machine ook kon ingezet worden om alles wat kan ‘voorgesteld worden met getallen’ te automatiseren, zoals het maken van muziek – denk aan een programmeerbare muziekdoos. 

In Appendix G stond uitgeschreven hoe de machine een ingewikkelde ‘recursieve’ wiskundige berekening kon maken om de zogenaamde rij van Bernouilli-getallen te berekenen. Babbage had die nodig om zijn astronomische functies beter te benaderen. In de berekening van elk volgend getal heb je alle voorgaande nodig en zo maakte Ada gebruik van het ‘eten van de staart’-principe. Dit was het allereerste echte algoritme voor een machine! 

De eerste machine met een algoritme: Charles Babbage stelde de ingenieuze hardware voor, Lovelace maakte de wiskundige software.

Babbage stelde de ingenieuze hardware voor, Lovelace maakte de wiskundige software. Eenzelfde man-vrouwtandem zou ruim honderd jaar later, tijdens de Tweede Wereldoorlog, leiden tot de succesvolle ENIAC-computerberekeningen. 

Terwijl mijn studenten nu zelf vragen aan het oplossen zijn over recursie, realiseer ik me dat we het succesverhaal van wiskundevrouwen in de computerwetenschappen niet vaak genoeg vertellen. Help je mee? Verwijs jonge vrouwen alvast naar deze column en de bijbehorende podcast hieronder.


Gerelateerde artikels

400 jaar sinds de eerste mechanische rekenmachine

400 jaar sinds de eerste mechanische rekenmachine

We zijn in het begin van de zeventiende eeuw, een tijd van grote astronomen, zoals Tycho Brahe, en Johannes Kepler. Het beroep van astronoom was toen moeilijker uit te oefenen dan nu. Natuurlijk geen computers, maar dat was niet het enige probleem. Er was toen ook nog geen deftige voorstelling van getallen voorhanden, de berekeningen gebeurden allemaal met breuken, en ja, met de hand dus. Ook de logaritme, het hulpmiddel bij uitstek bij zware berekeningen, was nog niet uitgevonden. Dat gebeurde pas in 1617 door John Napier. En ongeveer toen, ook dankzij onze Simon Stevin, geraakte alles in een stroomversnelling. In 1623 al was er de eerste mechanische rekenmachine, speciaal ontworpen voor Kepler door Wilhelm Schickard, een collega-astronoom. Het was het eerste rekentoestel met geautomatiseerde `overdrachten'.