algorithme

Algorithme : Définition

Avec l’avènement de l’IA et la suprématie des GAFAM, les algorithmes sont sur toutes les lèvres. Seulement, autant on en entend parler dans la vie de tous les jours, autant on ignore ce qu’est réellement un algorithme. Si ce sujet a déjà suscité votre curiosité, trouvez des réponses à vos questions ci-dessous.

Bien qu’il soit aujourd’hui associé aux nouvelles technologies technologie, le terme « algorithme » n’a rien de récent. Il apparait pour la première fois dans les ouvrages de Mohammed Ibn Musa-Al Kwarizmi. Ce mathématicien, père de l’Algèbre, vivait au neuvième siècle avant Jésus-Christ. Tout cela pour dire que l’Histoire remonte loin, bien loin avant le Moyen Âge. Mais, comment une locution dont l’origine remonte à l’Antiquité est désormais au cœur de l’actualité ?

Algorithme : les points importants

Un algorithme se définit comme une suite d’opérations ordonnées dans le but de résoudre un problème. Pour l’expliquer de manière simple, on pourrait voir un algorithme comme une recette de cuisine. Celle-ci détaille chaque étape à suivre pour que les ingrédients à votre disposition deviennent un plat savoureux. De la même manière, un algorithme permet d’aboutir à un résultat bien précis en passant par un certain nombre d’opérations.

Toujours est-il que les paramètres changent à chaque fois qu’on exécutera un algorithme. De nombreux facteurs externes peuvent entrer en jeu. Voilà pourquoi concevoir un algorithme consiste aussi à prévoir toutes les éventualités et à construire un véritable arbre d’instructions. L’ingénieur informatique doit veiller à ce qu’aucun détail ne soit laissé au hasard pour que l’algorithme remplisse son office, quelles que soient les circonstances.

Algorithme : d’où vient ce terme ?

Comme évoqué précédemment, ce terme a été inventé par Muhammad ibn Mūsa al-Khwarizmī. À vrai dire, nous devons beaucoup à cet érudit de l’Antiquité. Jusqu’à aujourd’hui, l’humanité se sert de son système de numération décimale. Ses découvertes sont le socle sur lesquelles reposent les Mathématiques.

À travers ses ouvrages, ce savant acquit une forte réputation qui traversa rapidement les frontières du Moyen-Orient. Néanmoins, en raison des barrières linguistiques, le nom de ce brillant mathématicien a été progressivement déformé pour passer de Khwarizmi en Algoritmi. Ce nom romanisé donnera par la suite le mot « algorithm » dont le sens se rapproche de « recettes par étapes » pour les anglophones. Au fil des années, ce terme trouva progressivement sa place dans le jargon technologique.

Comprendre le lien entre algorithme et informatique

Avant toute chose, il faut déjà comprendre le fonctionnement des ordinateurs. Ce sont des appareils destinés à lancer des programmes informatiques. Ces derniers ont été conçus pour livrer des indications à l’ordinateur pour réaliser une tâche quelconque. À cette occasion, le programme livre étape par étape les opérations à effectuer pour mener à bien la tâche en question. Vous l’aurez compris ! Bon nombre d’outils informatiques ont été conçus sur la base d’un algorithme.

D’un point de vue technique, les algorithmes transforment les entrées ou input en output ou sorties. Ainsi, dans le cas d’un moteur de recherche, les locutions que vous recherchez sont des input et les adresses que vous obtenez sont des output. Dans la vie de tous les jours, les algorithmes traduisent un besoin dans un langage informatique (input) pour y répondre avec des moyens toujours informatiques (output). Pour remplir une fonction quelconque, ils doivent donc être écrits en code. Le langage de programmation devra être choisi minutieusement pour permettre des usages spécifiques.

Un algorithme : pour quoi faire ?

Les algorithmes sont omniprésents dans le domaine de l’informatique. Pour créer un programme quelconque, les développeurs conçoivent et compilent un certain nombre d’algorithmes. Ceux-ci assureront la bonne exécution des commandes quelles que soient les circonstances. Il s’agit donc de tout mettre en œuvre pour que les erreurs éventuelles ne perturbent pas le bon fonctionnement de l’application.

Avec toutes les possibilités offertes par les nouvelles technologies, les algorithmes sont aujourd’hui omniprésents. Ils offrent un vaste champ d’application que les développeurs prennent plaisir à explorer. Néanmoins, ils s’illustrent dans un certain nombre de domaines.

Aperçu des services qui repose sur des algorithmes

Les géants d’internet ont assis leur succès sur les performances de leurs algorithmes. Des algorithmes qui leur ont permis de proposer des services qui répondent parfaitement aux besoins de leurs clients. Voici justement quelques-uns de ces algorithmes de renom.

PageRank de Google : Ce service destiné à indexer et à classer tout le contenu du web repose sur des algorithmes d’exception. Ceux-ci n’ont pas uniquement été pensés pour présenter les pages qui correspondent à votre recherche. Ils offrent un véritable écosystème qui étudie la qualité des contenus, vos habitudes de navigation ou encore les sujets qui font le buzz sur la Toile.

La Timeline de Facebook : Avez-vous remarqué que votre fil d’actualité Facebook affiche toujours des publications en lien avec vos centres d’intérêt ? Eh bien ! Ce n’est pas le fruit du hasard. Un algorithme garde une trace de vos interactions sur ce réseau social. Ces informations permettront par la suite de présenter des posts qui retiendront certainement votre attention.

Les robots de trading : L’attrait croissant que la plupart des gens ont pour le monde de la finance a favorisé l’apparition des plateformes de trading. Parallèlement, des robots de trading ont vu le jour. Ces algorithmes ont pour vocation de remplacer le trader. Ils analysent en temps réel les signaux émis par le marché pour acheter ou vendre des actifs dans le but de dégager un profit sans intervention humaine.

Le fameux algorithme de Round Robin : Bien qu’il soit peu connu des profanes, cet algorithme est largement connu chez les développeurs. Effectivement, il transmet au processeur de votre ordinateur l’ordre auquel différents programmes s’exécuteront de sorte que l’appareil fonctionne correctement sans dépenser excessivement les ressources.

Quand le Machine learning développe le potentiel des algorithmes

Le machine learning a donné une nouvelle dimension aux algorithmes. Il permet de développer des programmes plus ou moins autonomes qui traitent les données et exécutent les commandes selon la nature des input. Ainsi, nul besoin de leur fournir des instructions spécifiques sur la manière d’exécuter une tâche. Les outils de nouvelle génération « apprennent » à exceller dans un domaine et évoluent au fil des utilisations. Ce processus se déroule sans ou avec peu d’interventions humaines. Ce qui en fait des programmes performants et fiables.

Ces algorithmes évolutifs se prêtent aujourd’hui à tous les usages. Toutefois, ils se distinguent parfaitement dans le big data. Les modules créés livrent des prédictions précises ou encore identifient les profils qui répondent à certains critères dans une vaste base de données continuellement alimentée. À cet effet, les outils de business intelligence s’appuient sur cette technologie. Ce système ingénieux leur permet d’aider n’importe quel dirigeant dans la prise de décision.

Cependant, nous sommes également confrontés à ces outils dans la vie de tous les jours. Ainsi, on se trouve face à un algorithme de Machine learning lorsque nous accédons à notre profil Facebook ou Instagram. Il en est de même lorsqu’on consulte les suggestions sur Netflix. Un algorithme analyse nos habitudes pour ensuite présenter les contenus susceptibles de nous intéresser.

A lire également  Définition SOC (Security Operation Center)

Ces algorithmes sont donc présents partout. Il en reste qu’on distingue 3 principaux modèles algorithmiques pour le machine learning :

Les algorithmes d’apprentissage supervisés qui obligent les développeurs ou les utilisateurs à trier au préalable les données d’input en les étiquetant. Ces outils traitent ensuite ces données pour que finalement on obtienne les résultats souhaités soient atteints. Habituellement, ils sont le socle des logiciels destinés à fournir des prédictions. À titre d’exemple, on pourrait citer un logiciel qui produira automatiquement les états prévisionnels de votre entreprise. Pour ce faire, celui-ci analysera les ventes réalisées au cours des années précédentes afin de mieux cerner la saisonnalité de votre activité. Vous devez alors indiquer votre chiffre d’affaires pour chaque période donnée, les charges que vous supportez, etc.

Les algorithmes d’apprentissage non-supervisés fonctionnent sans que vous ayez à trier les données d’input. Ces outils se concentrent habituellement sur l’analyse des tendances. L’objectif sera de « deviner » les variables qui dictent la distribution des nombres. Le module en question établira par la suite une corrélation entre les données saisies. Ce processus permettra par la suite d’avoir un modèle qui hiérarchisera tous les éléments d’un agrégat de données. Dans la pratique, ces algorithmes facilitent la compréhension des suites statistiques et résolvent les problématiques liées au clustering, à la réduction des grandeurs ou l’établissement de règle d’association. Ils peuvent ainsi servir pour automatiser l’analyse des signaux de trading à titre d’exemple.

Les algorithmes semi-supervisés représentent le milieu des deux mondes. Certaines données sont triées et étiquetées alors que d’autres non. En procédant de la sorte, le modèle ordonnera de lui-même ces données et il pourra par la suite fournir une prédiction si besoin. Ce schéma permet aux outils d’être relativement autonome tout en garantissant un minimum de précision. C’est un modèle très employé dans le Big Data pour la classification ou pour la régression.

Notons qu’il existe de nombreuses façons de classer les algorithmes. En retenant leur mode de fonctionnement, on distinguera par exemple ceux pensés pour la régression, le clustering ou encore la régularisation. Néanmoins, on citera également les arbres de décision et les algorithmes bayésiens ou encore les réseaux neuronaux artificiels et les modèles de réduction dimensionnelle.

Des algorithmes pour crypter vos données

Les inquiétudes de chacun sur ses données personnelles ont poussé les entreprises de la Silicon Valley à développer des algorithmes pour le chiffrement de ces données. Ceux-ci offriront une surcouche de protection contre les intrusions et les fuites de données. Pour ce faire, vos données seront traitées en input pour obtenir une série de caractères alphanumériques en output. De cette façon, les données seront indéchiffrables pour les cybercriminels qui auraient réussi à vous délester de vos données.

Des algorithmes pour l’automatisation

Les possibilités d’automatisation offertes par les algorithmes sautent aux yeux. On pourrait effectivement leur donner des instructions de sorte à automatiser différents traitements. Aujourd’hui, ils sont utilisés pour constituer le cœur de nombreux logiciels d’automatisation.

Ces outils permettent par exemple de récupérer automatiquement les données de facturation envoyées par vos prospects par courriel. Dans ce cas de figure, les messages qui transitent sur votre adresse électronique servent de données d’input. L’utilitaire saura reconnaitre les données de facturation pour ensuite les recopier sur un tableur.

Dans ce cas de figure, l’algorithme analysera chaque mail reçu pour retrouver des termes clés. Les messages présentant ces termes seront automatiquement pris en charge pour que les données soient extraites et recopiées.

Faut-il craindre l’usage massif des algorithmes ?

Les algorithmes sont des outils bien pratiques, mais ils sont loin d’être infaillibles. La performance d’un algorithme dépendra avant du savoir-faire de son concepteur et du langage choisi. Si celui-ci n’a pas été conçu pour gérer une situation donnée ou si une faute a été commise lors de sa conception, il affichera des erreurs ou exécutera des commandes inadaptées. Ce faisant, ces dysfonctionnements ne sont pas toujours simples à identifier.

Comme évoqué plus haut, les algorithmes servent d’outils à la prise de décision. Ils peuvent donc altérer la perception de la réalité et vous inciter à prendre des décisions critiquables. Imaginons qu’un algorithme conseille un responsable RH. En se fiant aux données de l’entreprise, il peut suggérer au recruteur d’embaucher un homme blanc plutôt qu’une femme issue d’une minorité. Ses analyses pourraient en effet montrer que le premier groupe sera plus performant. Ce qui sera le cas si la société compte plus d’individus de type caucasien que de personnes de couleur dans ses rangs.

Ce souci lié à la perception sera d’autant plus problématique pour les IA. En alimentant ces algorithmes de données, on risque de répéter les mêmes erreurs en raison de biais profondément ancrés. Dans une structure manquant de diversité ethnique, un algorithme déduira que les minorités ne répondent pas aux critères de l’entreprise.

Contrairement à ce que l’on imagine, ce problème est au cœur de l’actualité. Les algorithmes semblent favoriser les discriminations. Les algos de reconnaissance faciale considèrent donc les personnes de couleur comme des criminels et les chatbots peuvent adopter des propos racistes.

Comment remédier aux biais de perception des algorithmes ?

Il appartient aux concepteurs de prendre les bonnes décisions pour remédier à ces problématiques. Pour l’heure, il est question d’adopter les bonnes pratiques pour éliminer ces biais. Il convient dans un premier temps de se concentrer sur les données réellement importantes et par exemple de ne pas considérer l’origine de chaque personne. Les textes de loi adoptés au cours de ces dernières années vont dans ce sens, mais encore faut-il savoir si les GAFAM suivent la tendance.

Les ingénieurs informatiques et les développeurs doivent également être plus responsables quant à leurs créations et anticiper tout détournement. Les techniciens doivent ainsi protester dans le cas où une technologie quelconque est utilisée à d’autres fins. Ce fut déjà le cas pour le personnel de Microsoft qui s’est opposé à l’utilisation de HoloLens dans le domaine militaire, les employés de Google ont quant à affirmer leur opposition à un projet de création de drones tueurs.

Les problématiques liées aux biais doivent être abordées avec plus de sérieux. Même dans l’éventualité où l’on supprimerait certains paramètres, l’algorithme pourrait déduire leur existence pour les prendre en compte. C’est l’une des raisons pour laquelle Amazon a décidé de se passer de son IA pour le recrutement. Contre toute attente, celui-ci discriminait les personnes de couleur ainsi que les femmes. Une situation qui devrait inciter les entreprises à adopter des tests plus poussés pour essayer d’identifier ces biais.

Yohann G.