Algorithme : la recette très orientée qui décide tout
Un algorithme, c'est une suite d'instructions précises, exécutées dans un ordre donné, pour résoudre un problème ou obtenir un résultat. Rien de plus, rien de moins. Et pourtant, ce mot fait peur, comme s'il désignait quelque chose de mystérieux, presque vivant, capable de penser à votre place.
Voici le malentendu le plus fréquent : on imagine l'algorithme comme une entité intelligente qui « décide ». En réalité, un algorithme ne décide jamais rien par lui-même : il applique, mécaniquement, une suite d'étapes conçues par quelqu'un, pour arriver à un résultat prévisible. Ce que beaucoup prennent pour de l'intelligence n'est souvent qu'une accumulation de règles très simples, appliquées des millions de fois.
Prenez une recette de cuisine. « Coupez les oignons, faites-les revenir cinq minutes, ajoutez la viande, laissez cuire dix minutes. » C'est déjà un algorithme : une suite d'instructions précises, dans un ordre précis, pour obtenir un résultat précis. Un algorithme informatique fonctionne exactement pareil, sauf que les ingrédients sont des données, et les gestes sont des calculs.
« Un algorithme n'est pas intelligent. Il est simplement obéissant, à une vitesse que l'humain ne peut pas atteindre. »
Prenons un exemple concret : trier une liste de noms par ordre alphabétique. Un humain compare deux noms, échange leur position si nécessaire, recommence avec les suivants, jusqu'à ce que tout soit rangé. Un algorithme de tri fait exactement cela, mais applique cette logique de façon rigoureusement identique à chaque fois, sans se fatiguer, sans se tromper, et sur des millions de lignes si nécessaire. Ce n'est pas plus malin qu'un humain méthodique : c'est juste plus rapide et plus constant.
Il y a plusieurs éléments qui composent un algorithme. D'abord les données d'entrée : ce qu'on lui fournit au départ, un nombre, une liste, une image, un texte. Ensuite les instructions : les étapes précises à suivre, écrites dans un langage que la machine comprend. Vient ensuite la logique conditionnelle : le « si ceci, alors cela » qui permet à l'algorithme de réagir différemment selon les cas. Si l'utilisateur a moins de 18 ans, afficher ce message ; sinon, afficher cet autre message. Il y a aussi les boucles : répéter une action tant qu'une condition est vraie, ce qui permet de traiter des milliers d'éléments avec les mêmes quelques lignes d'instructions. Et enfin la sortie : le résultat final, ce que l'algorithme renvoie une fois son travail terminé.
Les algorithmes que l'on croise au quotidien sont souvent bien plus complexes que ce simple exemple, mais reposent toujours sur ces mêmes briques. Le fil d'actualité d'un réseau social, par exemple, applique un algorithme qui évalue chaque publication selon des centaines de critères : qui l'a publiée, combien de personnes ont déjà réagi, à quelle vitesse, quel type de contenu vous avez déjà consulté par le passé. Il n'y a aucune intention derrière, seulement un calcul qui cherche à maximiser une valeur précise, souvent le temps que vous allez passer sur l'application.
C'est là que la perception change de nature. Un algorithme de recommandation ne comprend pas vos goûts : il détecte des motifs statistiques. « Les gens qui ont regardé A ont aussi souvent regardé B » n'est pas une compréhension, c'est une corrélation. L'algorithme ne sait pas pourquoi cela fonctionne, il constate seulement que cela fonctionne, et le reproduit indéfiniment.
Un point mérite d'être précisé : un algorithme n'est jamais neutre, même s'il n'a aucune intention propre. Il reflète les choix de celui qui l'a conçu : quels critères privilégier, quelles données ignorer, quel résultat viser en priorité. Deux entreprises peuvent créer un algorithme pour la même tâche et obtenir des résultats radicalement différents, simplement parce que leurs priorités de conception ne sont pas les mêmes. Un algorithme qui privilégie l'engagement n'aura pas le même effet qu'un algorithme qui privilégie la pertinence, même s'ils traitent exactement les mêmes données.
Beaucoup pensent qu'un algorithme, une fois lancé, tourne tout seul et reste juste. C'est faux : un algorithme mal conçu accumule des biais, se trompe systématiquement dans certains cas, ou devient obsolète à mesure que le contexte évolue. Il doit être surveillé, corrigé, réévalué, exactement comme n'importe quel outil que l'on continue d'affiner avec le temps.
Un bon développeur ne considère jamais un algorithme comme une boîte noire magique. Il sait ce qu'elle contient, pourquoi elle est construite ainsi, et ce qu'elle privilégie réellement. Comprendre un algorithme, ce n'est pas comprendre une intelligence artificielle mystérieuse : c'est comprendre une suite de choix, faits par des humains, traduits en instructions que la machine exécute sans jamais les remettre en question.