Algorithme

Version imprimable
 
L’algorithme est une suite finie de règles formelles que l’on applique à un nombre fini de données, afin de résoudre des classes de problèmes semblables. L’algorithme, qui est une opération itérative et répétable, participe de ce que nous nommons un processus de grammatisation.
 
Avec ce premier organe à calculer qu’est la main, l’homme encocha des bois, puis entassa de cailloux (calculi), puis constitua abaques et bouliers. Le fonctionnement d’un boulier ne nous aide-t-il pas déjà à comprendre qu’une opération de calcul peut se traduire en gestes séquentiels opérant selon des instructions binaires (rapprocher la boule de la barre centrale ou ne pas y toucher) ? Ces gestes, de notre point de vue, sont des grammes1. Lorsqu’un enfant pose sur papier une multiplication qu’il ne pourrait résoudre autrement, il montre comment stylo, cahier, main et cerveau participent d’un même algorithme. Mais, contrairement à ce que l’on croit, l’algorithme ne concerne pas seulement les procédés de calcul, au sens étroit du mot, puisque, pour prendre un exemple très simple, chercher un mot dans le dictionnaire relève déjà d’un algorithme2.
 
D’ordinaire, on se contente de dire que la principale marque d’un ordinateur est sa programmabilité. Ce qu’aujourd’hui nous appelons « programme informatique » n’est finalement qu’un « patron de calcul » analogue à ceux de la machine analytique de Babbage, elle-même analogue à la machine à tisser de Jacquard3. Ce patron de calcul, soit la liste d’instructions commune à tous les calculs d’un même type, s’appelle précisément un algorithme, soit une série d’opérations élémentaires retranscrites par un code. Un programme informatique est donc, par exemple, un algorithme. Ars Industrialis insiste sur ce « par exemple ». Cela signifie que la programmation informatique n’épuise pas la question de l’algorithme, en ce sens que l’on ne programme que ce qui relève déjà du champ de l’algorithme c'est à dire ce qui a déjà été engrammé. À ce titre, ce qui relève de l’algorithme est plus vaste que la définition mathématico-informatique qui lui est de nos jours systématiquement accolée.
 
Le « devenir algorithmique » désigne le mécanisme inexorable qui est à l’œuvre conjointement au processus de grammatisation, celui-là même qui nous pousse vers une numérisation de plus en plus importante de notre monde. Il y a un devenir algorithmique dans la mesure où celui-ci joue un rôle de plus en plus important et visible dans nos vies, découpant nos existences, formatant nos organisations du travail, nos modes de consommation, nos systèmes de financement, etc. Ainsi, le devenir algorithmique s’inscrit par exemple jusque dans ces conversations commerciales que l’on nous impose au téléphone avec les télévendeurs ou téléconseillers qui déclenchent une conversation prédécoupée en unités de base et exécutée selon un ordre donné. Taylor a conquis le langage !
 
 
1 Sans cela on ne comprend pas que ce soit l’image d’un travail à la chaîne qui ait pu s’imposer à Post pour décrire le calcul.
 
2 Etant donné un ordre alphabétique, on tourne alors les pages en avant ou en arrière, jusqu'à ce que la première lettre du mot coïncide, puis on reproduit la même procédure avec la deuxième lettre du mot, puis la troisième, et ainsi de suite…
 
3 Pour faire l’histoire de la programmation on se tourne d’ordinaire vers l’histoire des cartes perforées – comme celles que vous trouvez dans les orgues de Barbarie –, soit vers la machine de Joseph Marie Jacquard (1801), puis vers celle d’Herman Hollerith (1884), l’ancêtre d’IBM. Ces deux machines fonctionnent grossièrement de la même manière, mais la première est une machine à tisser brevetée au service de l’industrie textile, tandis que la seconde est une machine à traiter de l’information au service de l’Etat. Entre Jacquard et Hollerith, il y a Charles Babbage et sa machine analytique (1833). Ada Lovelace, sa collaboratrice à qui on doit le terme d’« algorithme », créa une série de cartes perforées pour cette machine, dont elle publia la description complète en 1842 : « la machine analytique, disait-elle, tissera des motifs algébriques comme les métiers de Jacquard tissent des fleurs et des feuilles ».