Les algorithmes
Du cyanure dans la tarte aux fraises.


Un algorithme comme dessert
Algorithme. Vous avez sans doute entendu ou lu ce mot dans les médias à propos des fameux GAFA. L'impression qui en ressort, pour les novices et peut-être pour quelques-uns des journalistes qui emploient ce mot est que les algorithmes sont dangereux pour notre libre arbitre ou pour notre vie privée.

Voyons ça de plus près.

D'abord, donnons-en une définition la plus simple et la plus claire possible : un algorithme est une suite d’opérations permettant de résoudre un problème.

Si votre problème est de faire une tarte aux fraises, suivre une recette trouvée sur le Web ou dans les fiches cuisine de mammy, c'est suivre un algorithme. Cet algorithme n'a rien de dangereux, sauf évidemment si vous décidez de le transformer et d'ajouter du cyanure dans votre pâte.

Donc, un algorithme n'est pas dangereux a priori. Tout dépend de ce que l'on va y mettre dedans.

Ici, notre préoccupation n'est pas de faire des tartes, mais de nous initier à l'écriture des programmes informatiques. On va donc maintenant parler un peu plus de technique.

al-Khwarizmi
L'origine du mot algorithme vient du nom d'un savant perse né au VIIIe siècle nommé Al Khwârizmî dont les écrits ont permis l'introduction de l'algèbre en Europe.

Par ailleurs, il a réalisé une classification des algorithmes existants et en a systématisé l'usage dans les démonstrations. Ces derniers existaient depuis de nombreux siècles comme en témoignent certaines tablettes cunéiformes datant de plus de 3000 ans.
Fragment d'une tablette cunéiforme
traitant d'un problème par l'algorithmique.


La légende veut que le mot algorithme ait été forgé par Ada Lovelace elle-même. Ce n'est pas impossible.

Ce qui est sûr, c'est qu'elle n'a pas rédigé ses fameux diagrammes directement. Elle a forcément au préalable décrit d'une façon ou d'une autre la suite des opérations qu'elle envisageait de faire faire à la machine de Charles Babbage. Elle a donc créé des algorithmes et, à partir de là, elle a pu finaliser plus aisément ses diagrammes. Ces derniers peuvent d'ailleurs être considérés comme des algorithmes complètement aboutis.

De fait, un algorithme, au sens général, sera plus ou moins précis dans la description des opérations à effectuer en fonction des besoins de celui qui l'écrit. Prenons par exemple le jeu du Pandv auquel vous n'avez pas manqué de jouer en lisant les premières pages d'ExoCode.

Un organigramme tout simple pourrait être le suivant :

1 - L'ordinateur choisit un mot
2 - Il l'affiche en mettant des ? à la place des lettres
3 - Le joueur choisit une lettre
4 - Si elle est présente dans le mot, on l'affiche partout où elle se trouve
5 - Si le mot est complet, on dit au joueur qu'il a gagné
6 - Sinon on dessine une partie du pendu en plus
7 - Si le pendu est complet, on dit au joueur qu'il a perdu.
8 - Sinon on recommence à la ligne 3.


Bon, c'est très explicite, mais sans doute insuffisant pour se lancer à corps perdu dans le code. C'est le genre d'indication qu'Alice, la directrice d'International ExoCode and Co, qui n'est pas informaticienne, pourrait donner à Bob comme directive de travail.

Au fait qu'est-il devenu, Bob ? Quand on l'a quitté, il était apprenti stagiaire.
Symboles normalisés pour les organigrammes de programmation.

Depuis, il a fait de grands progrès. En effet, il a appris à créer des organigrammes de programmation avant de se lancer dans l'écriture du code.

Surtout, il a appris à passer beaucoup de temps à les peaufiner et à respecter scrupuleusement les symboles normalisés pour leur représentation graphique.

Algorithme du Pandv sous forme d'organigramme.
Maintenant, si pour l'écriture du code, il va un peu moins vite qu'avant (et pour cause), la qualité de son code est immensément plus grande. C'est vrai qu'il partait de loin...

Et tout ça grâce à sa grande maîtrise des algorithmes comme vous pouvez le voir sur cet organigramme du Pandv (Il est en taille réelle un peu plus loin).

Affiche proposée par la Quadrature du Net (partie)
Au vu de cet algorithme, vous pouvez en conclure qu'il n'y a rien de pervers dans le code de Bob, pas de cyanure dans la tarte aux fraises en quelque sorte.

Revenons maintenant à nos GAFA. Si vous faites une recherche sur le Web avec les mots-clés GAFA et Algorithme, vous allez tomber sur une foule d'articles qui expliquent que les géants du Web se servent des applications qu'ils mettent gratuitement à la disposition de leurs utilisateurs pour récupérer le maximum de renseignements sur eux.

Un océan de "Big Data", une pincée "d'intelligence artificielle" et les algorithmes qui vont bien, et hop, ce que montre l'affiche de La Quadrature du Net devient réalité.

Et sur la base de ces connaissances, les GAFA et autre géants du Web influencent, d'une façon connue d'eux seuls, le comportement de millions de gens. Ce qui leur donne un pouvoir exorbitant sur la société tout entière sans que ladite société puisse vraiment savoir ce qui lui arrive. Pour certains chercheurs, il faudrait que ces algorithmes soient publics et régulés démocratiquement.

Voilà. Certes, on s'est un peu éloigné de notre route, mais les futurs créateurs d'algorithmes qui nous lisent sont prévenus.

Sommaire - En savoir plus