Ada Lovelace, pionnière des algorithmes

Au XIXe siècle, une fille toute juste âgée de 27 ans, Ada Byron King comtesse de Lovelace, a posé les bases de l’informatique en écrivant le premier algorithme destiné à une machine de l’histoire et en travaillant à une machine considérée aujourd’hui comme l’ancêtre de l’ordinateur.

C’est l’histoire d’une pionnière de l’informatique, la première programmeuse du monde, une jeune femme née en 1815, d’un poète romantique et d’une noble dame passionnée de mathématiques.

Le père, Lord George Gordon Byron, était alors un poète renommé, également connu pour son extravagance et ses mœurs légères : il buvait beaucoup, il consommait de l’opium, il entretenait des relations avec des femmes mariées et avait une histoire avec sa demi-sœur. De plus, il avait des tendances homosexuelles ce qui, à l’époque était considéré comme très scandaleux.

Quant à Lady Annabella Milbanke, la mère, c’était une femme tranquille, intelligente et cultivée : ses parents avaient embauché un ancien professeur de l’Université de Cambridge comme tuteur. Celui-ci lui enseigna plusieurs disciplines ; Annabella avait une préférence pour les maths. Pour cela, son mari l’appela, plus tard, la princesse des parallélogrammes ! Leur mariage fut très malheureux : malgré leurs différences, Annabelle avait accepté de se marier avec le charmant poète et avait imaginé, pour quelques temps, pouvoir le changer. Malheureusement, il n’en fut rien. Peu après la naissance d’Ada, Annabella, lasse des comportements adultères et violents de son mari, l’invita à quitter la maison. Lord Byron quitta aussi l’Angleterre et n’y revint plus  jusqu’à sa mort, privant ainsi sa seule fille légitime d’un père.

Ada Lovelace child portrait Somerville College
Ada enfant

Il faut croire que Lady Annabella, suite à cette mauvaise expérience, établit un lien entre poésie, littérature et comportement immoral : on raconte qu’elle immergea sa fille dans les études scientifiques pour éviter qu’elle ne devienne comme son père. En tout cas ces études – et les maths en particulier- plurent beaucoup à Ada, qui acquit vite un très bon niveau. Personne n’aurait imaginé, par contre, que cet enfant qui aimait les calculs, jouait de la harpe et rêvait de fabriquer une machine volante, puisse contribuer de façon si importante à l’histoire des sciences et de la technologie.

Rencontres importantes

Ada eut la chance d’avoir, comme professeurs, Mary Sommerville, illustre mathématicienne traductrice des travaux de Pierre-Simon de Laplace (mathématicien et astronome du XVIIIe siècle), et Augustus de Morgan, connu comme l’un des fondateurs de la logique moderne. Elle eut également l’occasion de rencontrer le romancier Charles Dickens et Michael Faraday, physicien-chimiste connu pour ses travaux sur l’électromagnétisme et l’électrochimie. Mais la rencontre la plus importante de sa vie, d’un point de vue scientifique, ce fut avec le mathématicien et inventeur Charles Babbage. Ses inventions, des prototypes de grosses machines à calculer, fascinèrent Ada, n’avait alors que 17 ans. Les compétences mathématiques de la jeune fille étonnèrent Babbage, son aîné de 25 ans. Ils devinrent amis et commencèrent une longue et fructueuse collaboration.

1860
Charles Babbage
La machine à différences et la machine analytique de Charles Babbage

À l’époque, les tables de calcul des livres de mathématiques (et aussi les tables nautiques, astronomiques, etc.) étaient souvent inexactes. On y retrouvait un grand nombre de fautes dues à l’erreur humaine et aux très fréquentes erreurs typographiques. Cela poussa Babbage à concevoir une calculatrice automatique qui puisse également imprimer les résultats sur papier. Inspiré par les machines à calculer déjà existantes, comme la Pascaline ou la multiplicatrice de Leibniz, il inventa, d’abord, la machine à différence, une grosse calculatrice mécanique qui devait fonctionner grâce à une série d’engrenages et roues dentées numérotées, actionnés avec une manivelle. Cette machine devait permettre un grand nombre de calculs mathématiques, tout en utilisant la seule opération d’addition.

Sa construction, par contre, était très onéreuse. Le projet de Babbage avait reçu le soutien financier de la Société royale d’astronomie en 1822, qui espérait obtenir des tables nautiques et astronomiques plus précises et éviter ainsi des accidents de navigation.

Malheureusement plus de 10 ans plus tard la machine n’était pas encore au point, pour cause des nombreuses difficultés techniques, raison pour laquelle la Société royale d’astronomie décida d’interrompre le financement. La construction de la machine à différence ne fut jamais terminée, même si Babbage continua à travailler à son projet. On sait aujourd’hui qu’elle aurait pu voir le jour : en 1991 le Science Museum de Londres a réalisé une maquette de la machine à partir du dernier projet de Babbage et est parvenu à la faire fonctionner !

Babbage ne se laissa pas décourager par cet échec et commença à travailler sur une deuxième machine, la machine analytique. Celle-ci est actuellement considérée comme l’ancêtre de l’ordinateur parce qu’elle aurait dû être réellement programmable; elle aurait pu reproduire des actions en boucle et elle aurait dû avoir une mémoire interne. Pour sa nouvelle machine, Babbage s’inspira du métier à tisser Jacquart, un système mécanique inventé pour le tissage de motifs complexes, qui utilisait un système de cartes perforées (plus d’explications en bas de l’article). C’était le siècle du développement de l’horlogerie et des premiers automates. Babbage se rendait compte qu’avec les nouvelles technologies disponibles il aurait pu travailler sur une machine bien plus ambitieuse que la machine à différence. Cette machine aurait effectué des tâches plus complexes que des calculs mathématiques. Malgré ça, elle ne fut jamais fabriquée non plus, à cause de la difficulté de la réalisation et du manque d’argent. D’après les plans, la machine analytique devait avoir à peu près la taille d’une locomotive et fonctionner à la vapeur !

AnalyticalMachine Babbage London

La note G et le premier algorithme destiné à une machine
Diagram for the computation of Bernoulli numbers
La note G

Lors d’une présentation du projet de la machine analytique à l’Université de Turin, en Italie, le mathématicien Luigi Menabrea en fut enthousiasmé, et par la suite fit publier des notes sur cette machine. Ada Lovelace, la personne qui connaissait le mieux la machine après Babbage, traduisit ce livre en anglais, en rajoutant des notes personnelles selon le conseil de Babbage. Le résultat fut un livre trois fois plus long que l’original ! Dans une des notes d’Ada Lovelace, appelée la note G, se trouve le premier algorithme de l’histoire destiné à une machine (voir en bas la définition d’algorithme). Il sert à calculer le nombre de Bernoulli avec la machine analytique. On pense aujourd’hui qu’Ada Lovelace avait compris les potentialités de la machine analytique mieux que Babbage et qu’elle avait prévu que la machine aurait pu manipuler non seulement des nombres, mais aussi des symboles.

Quelques notes biographiques

Ada Lovelace se maria à William King, comte de Lovelace ; ils eurent 3 enfants. Son mari la soutint toujours dans ses ambitions professionnelles et l’encouragea à poursuivre les études et les travaux en mathématiques. Pendant sa vie, elle fut souvent malade : autour des 9 ans elle souffrit de maux de tête très forts qui lui causèrent des problèmes de vue ; à 13 ans elle dut rester au lit environ un an à cause de la rougeole. Ensuite ses grossesses affectèrent aussi sa santé fragile, mais à chaque fois qu’elle se remettait, elle retournait aussi vite au travail. Elle mourut d’un cancer de l’utérus à seulement 36 ans. Les dernières années de sa vie elle était couverte de dettes : en fait, pour pouvoir financer la construction des machines de Babbage, elle s’était mise à jouer aux chevaux, mais cela causa sa ruine. Selon sa volonté, à sa mort elle fut enterrée à côté de son père.

L’héritage d’Ada Lovelace

Tombées aux oubliettes pour près de 100 ans, les notes d’Ada Lovelace ont inspiré, un siècle plus tard, les travaux sur les calculateurs d’Alan Turing, un des pères de l’informatique.
Ensuite, en 1979, un langage de programmation a été dédié à cette mathématicienne douée: le langage Ada, encore largement utilisé aujourd’hui.

Se souvenir de son importante contribution scientifique et lui rendre hommage, peut encourager les filles qui souhaiteraient travailler dans le secteur de l’informatique – ou plus largement des sciences – et qui n’osent pas. à ce but, une journée internationale lui a été consacrée : le « Ada Lovelace Day », en octobre.

Le personnage Lego « Ada Lovelace » a failli voir le jour en 2017, mais finalement il ne sera pas produit et commercialisé. La bonne nouvelle est que, à la place, Lego a décidé de commercialiser les figurines de 5 femmes mathématiciennes, informaticiennes, astronomes ou astronautes, ayant travaillé à la NASA, pour ne pas oublier les contributions féminines aux sciences fondamentales.

Qu-est-ce qu’un algorithme ?

Un algorithme est une série d’instructions qui servent, à terme, à générer une action, un peu comme la recette d’un gâteau nous indique comment en cuisiner un : peser 100 g de sucre, le mélanger avec deux œufs, rajouter la farine, et ainsi de suite. Dans le cas d’un algorithme, les instructions peuvent être des calculs mathématiques en série qui amènent à un résultat attendu, ou des instructions qui permettent l’accomplissement de certaines tâches. Les algorithmes servent à programmer une machine (ou un ordinateur, ou un robot). En fait les logiciels dont nous nous servons tous les jours, utilisent des algorithmes. La programmation est aussi la clé pour séparer le processus de création du processus d’exécution. On peut programmer une machine en lui donnant des instructions. Ensuite elle travaille seule. Au contraire, la première machine de Babbage, la machine à différence, fonctionnait avec un mécanisme à manivelle actionné à la main.

Les cartes perforées

Les cartes perforées sont des support en papier ou en métal utilisées dans le passé pour la programmation d’une machine ou d’un ordinateur. Elles contiennent une information qui doit être lue par la machine et traduite en action. Sur ce support on trouve des trous, produits avec un appareil de perforation. Selon la présence ou l’absence de trous sur la carte et leur position, la machine « comprend » les instructions et réalise la tâche correspondante. Les premières cartes perforées furent inventées au XVIIIe siècle pour automatiser le tissage de motifs dans l’industrie textile. Le métier à tisser Jacquart, qui a révolutionné cette méthode de production dans le monde entier, est sûrement le plus connu. Grâce à Babbage, qui eut l’idée d’utiliser ce système pour sa machine, les cartes perforées sortirent du milieu du textile pour des nouvelles applications : recensements, statistiques, et plus tard péages d’autoroutes et systèmes de votation pour les élections politiques.
Aujourd’hui ça peut être difficile d’imaginer que les premiers ordinateurs fonctionnaient avec des cartes perforées  et pourtant elle elle ont été utilisées jusqu’aux années 70 (et dans d’autres  secteurs jusqu’aux années 90) avant d’être remplacées par des support de stockage de données plus performants (disquette, puis CD, puis clé USB).

Cet article est paru dans le numéro 192 (avril 2017) de Cosinus, le journal de mathématique et sciences pour jeunes, Editions Faton.

Voici mon article sur Sciences et avenir à l’occasion du bicentenaire de la naissance d’Ada Lovelace en 2015

5 réflexions sur « Ada Lovelace, pionnière des algorithmes »

  1. Il est vrai que la psychologie humaine est très complexe plus encore qu’une machine. Mais se bloquer sur une situation alors que celle qui l’a provoquée est à l’origine de celle-ci. Alors pourquoi vouloir mettre tout sur le dos de la personne qui elle même était mal à l’aise d’avoir à se sortir d’une situation qu’elle n’avait pas souhaitée.?

  2. Très chouette article !
    Par contre je suis très gêné par la mention du « premier algorithme de l’histoire » !?!
    Heureusement qu’on a pas attendu le 19e siècle pour avoir des algorithmes ! De fait, a une époque ou les calculs devaient se faire a la main, il y avait une recherche active d’algorithmes toujours plus efficaces pour résoudre des problèmes. Les premiers qui me viennent a l’esprit sont le calcul de nombres irrationels (pi, racines carrées), la résolution de système linéaires (l’algorithme de Gauss), l’algorithme du gradient/d’Euler pour les equations différentielles et problèmes d’optimisation, etc

    Par contre il est clair qu’à l’époque chaque etape de l’algorithme devait etre fait a la main. Donc Lovelace serait la première à avoir programmé et fait exécuter un algorithme par une machine?

  3. Bonjour,
    Je suis à la recherche de petits livres ou BD pour faire découvrir le personnage d’Ada Lovelace à un jeune programmeur. En connaîtriez vous?e

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *