Algorithme

Un algorithme correspond à une série d’instructions claires, structurées et ordonnées, destinées à résoudre un problème précis ou à exécuter une tâche définie

Qu'est-ce qu'un algorithme ?

Le terme algorithme vient du latin médiéval algorithmus, dérivé du nom du mathématicien perse Al-Khwârizmî. Un algorithme est la description d'une suite d'étapes suivant un ordre précis, permettant d'obtenir un résultat à partir d'éléments fournis en entrée. Autrement dit, c'est une méthode structurée qui transforme des données de départ en un résultat attendu. Une recette de cuisine est souvent utilisée comme image simple : à partir d'ingrédients et d'instructions ordonnées, on obtient un plat.

Définition technique : l'algorithme en informatique et en mathématiques

D'un point de vue technique, un algorithme est une suite finie d'opérations élémentaires, ordonnées et non ambiguës, qui prend des entrées et produit une sortie valide si les conditions d'usage sont respectées. La notion clé est celle d'une méthode suffisamment précise pour pouvoir être exécutée de manière systématique, notamment par une machine.

Pour qu'un algorithme soit exécuté par un ordinateur, il doit être traduit dans un langage de programmation et intégré dans un programme ou un logiciel. En ce sens, un algorithme est une logique de résolution, tandis qu'un logiciel est l'implémentation concrète de cette logique dans un système exécutable. Cette traduction permet de passer d'une description conceptuelle à un code source directement interprétable par la machine.

Le fonctionnement d'un algorithme repose sur la présence d'une procédure définie, d'entrées, d'un enchaînement d'instructions et d'un résultat attendu. Un algorithme peut être très simple (additionner deux nombres) ou très complexe (détecter une anomalie dans des données massives, classer une image ou recommander un contenu personnalisé).

Sur le plan de l'informatique théorique, un bon algorithme est généralement évalué selon plusieurs critères : sa correction, c'est-à-dire sa capacité à produire le bon résultat ; son efficacité, notamment en temps de calcul ; et sa consommation de ressources, comme la mémoire utilisée. L'étude de ces dimensions relève de l'algorithmique et de la complexité algorithmique, qui mesure la performance d'un algorithme en fonction de la taille des données traitées.

Enjeux et impacts : complexité, programmation et éthique des algorithmes

Le premier enjeu des algorithmes est leur capacité à automatiser des choix ou des traitements qui étaient auparavant effectués manuellement. Cette automatisation crée des gains d'efficacité considérables, mais soulève aussi des questions sur la transparence, le contrôle humain et la compréhension de la prise de décision produite. Dans le secteur public, de plus en plus de décisions administratives individuelles sont prises sur la base de résultats livrés par des algorithmes, ce qui affecte substantiellement les droits des usagers. Plus un algorithme intervient dans des domaines sensibles, plus ces enjeux deviennent importants.

Le deuxième enjeu concerne la visibilité et l'opacité. Beaucoup d'algorithmes agissent en arrière-plan : classement de résultats, personnalisation d'un fil d'actualité, orientation d'un usager, détection automatisée d'un comportement atypique. Cette invisibilité rend parfois difficile la compréhension des critères utilisés, des objectifs poursuivis et des actions produites. C'est l'une des raisons pour lesquelles les algorithmes font aujourd'hui l'objet d'une attention éthique et démocratique renforcée, qui insistent sur la nécessité de documenter les traitements, de maîtriser les objectifs poursuivis, d'évaluer les effets potentiels et de conserver une capacité humaine de supervision.

Le troisième enjeu touche à la protection des personnes lorsque les algorithmes manipulent des données personnelles ou influencent la prise de décision concernant directement des individus. Les réflexions récentes sur les algorithmes, systèmes d'IA et services publics insistent sur la nécessité de documenter les traitements, de maîtriser les objectifs poursuivis, d'évaluer les effets potentiels et de conserver une capacité humaine de supervision.

Enfin, il faut distinguer l'algorithme classique de l'algorithme auto-apprenant. Certains algorithmes sont conçus pour faire évoluer leur comportement en fonction des données rencontrées. Ils relèvent alors du champ de l'apprentissage automatique (machine learning) et plus largement de l'intelligence artificielle. Dans ce cas, l'algorithme n'est plus seulement une suite fixe d'étapes : il sert aussi à entraîner un modèle à partir de données.

Exemples d'algorithmes et cas d'usage pour les collectivités

Dans une collectivité territoriale, les algorithmes peuvent être utilisés pour traiter des formulaires, classer des demandes, détecter des doublons, gérer des tournées, optimiser des flux, ou encore prioriser certaines opérations à partir de règles définies. En France, plusieurs exemples concrets illustrent le fonctionnement d'un algorithme au service de l'action publique : la Ville de Paris utilise des algorithmes pour calculer les cotations concernant l'attribution de logements sociaux, tandis que des plateformes comme Athénergie® accompagnent les collectivités dans l'évaluation et la planification de projets solaires en autoconsommation, permettant une utilisation optimale des ressources énergétiques du territoire. Les organismes sociaux recourent également à des outils algorithmiques pour détecter des anomalies dans le versement des prestations, même si ces pratiques font aujourd'hui l'objet d'une vigilance renforcée du Défenseur des droits.

Dans les services numériques, les algorithmes sont omniprésents : recherche d'information, filtrage, recommandation, tri, authentification, détection d'anomalies, sécurisation, analyse comportementale ou affichage personnalisé. Ce sont eux qui structurent une grande partie de l'expérience utilisateur et de la logique métier des plateformes.

Dans les systèmes de machine learning, l'algorithme sert à apprendre des schémas à partir de données d'entraînement pour produire ensuite des prédictions ou des décisions sur de nouvelles données. Dans ce contexte, il faut distinguer l'algorithme, qui représente la logique d'apprentissage, et le modèle, qui est le résultat entraîné de cette logique appliquée à un jeu de données.

Type d'algorithme Exemple concret collectivité Résultat attendu
Algorithme de tri et cotation Attribution de logements sociaux (Ville de Paris) Priorisation automatique selon critères définis
Algorithme de planification énergétique Athénergie® pour projets solaires Optimisation des ressources et estimation des gains
Algorithme de détection d'anomalies Contrôle des prestations sociales (CAF) Identification des dossiers à risque

 

Questions fréquemment associées à Algorithme

Vous souhaitez en savoir plus sur l'eau ?

Découvrir le glossaire