Outils pour utilisateurs

Outils du site


1005-h2019:algorithme

L'algorithme

Définition de la notion

Dans sa plus simple forme, l'algorithme est un ensemble d'étapes à exécuter. Selon cette définition donc, suivre les étapes d'une recette de cuisine, suivre un protocole ou même faire transférer un appel sont des formes d'algorithmes. De nos jours, l'algorithme est omniprésent, puisqu'il est vital au fonctionnement de toute structure numérique. Il serait impossible d’utiliser des objets du quotidien – cellulaires, fours, automobiles, télévisions, ordinateurs – sans d’abord avoir conçu un algorithme permettant à ces objets de réagir selon les actions proférées.

Dans le monde numérique, il est question d'algorithme lorsqu'on parle d'un ensemble de procédures mathématiques encodées, par des individus ou des organisations, dans un objectif, le plus souvent, de recommandation. Ce système de recommandation « produi[t] des suggestions orientées vers l'usager et [est] reconnu utile tant par ce dernier, particulièrement par la simplification de la recherche, que par les organisations qui [le] produisent [en contribuant] à augmenter leur chiffre d'affaires »1). L'algorithme augmente la visibilité de certains articles au détriment de d'autres en proposant à l'usager une partie réduite d'un large catalogue. Il lui présente les articles qui ont la probabilité la plus élevée de satisfaire ses besoins2).


Mise en perspective

Volet 1 : Historique

L’histoire entre l’être humain et l’algorithme est longue. Si plusieurs espèces animales ont la capacité de raisonner une suite d’étapes plus ou moins consciemment (comme les rituels de reproduction par exemple), l’être humain a su, dès son arrivée sur Terre, utiliser des mécanismes répétables et enseignables. Dans l’Antiquité, les Grecs ont réussi une véritable percée dans le domaine des mathématiques, dont un grand nombre de formules et de calculs requièrent une série d’étapes à suivre pour atteindre la résolution. Au IXe siècle, le mathématicien perse Al-Khwarizmi utilisa pour la première fois le mot « algèbre », dérivé du grec arithmos, signifiant « nombre ». L’un des premiers prototypes de l'ordinateur moderne aidant aux calculs a été créé par Charles Babbage au milieu du XIXe siècle, et fut l’objet d’une analyse par Ada Lovelace qui créa, pour cette machine, ce que l’on peut considérer comme le premier algorithme numérique. Dans les années 1930, de grands concepts de logique analytique ont été explorés, ce qui mena, entre autres, au concept de la « Machine de Turing » du Britannique Alan Turing. Puis, la Deuxième Guerre mondiale motiva les Américains à créer l'ordinateur et ce fut dans les années 1950 que les premiers langages informatiques ont vu le jour. Dans les années 1970, les ordinateurs personnels ont commencé à être disponibles pour le grand public à des prix relativement abordables, ouvrant la programmation à un public plus large. De nos jours, de plus en plus d’algorithmes s'auto-corrigeant sont créés, ouvrant ainsi la voie à un nouveau chapitre de l’informatique3).

Volet 2 : Théorique

Au sens strict de la définition, un algorithme est une succession d’étapes mais, au quotidien, on l’associe plus généralement au monde des mathématiques. Les ordinateurs diminuent le temps nécessaire à la résolution d’algorithmes. C’est en partie pour cette raison qu'on les a créés à la base. Un des plus vieux exemples d’algorithme est celui élaboré par Euclide pour trouver le plus grand diviseur commun de deux nombres. Dans le monde numérique, la simple action de cliquer sur un lien relève de plusieurs algorithmes. Chaque algorithme doit prendre en compte une multitude de décisions éventuelles de l’usager. Quand le curseur passe sur un lien, le premier change de forme tandis que le dernier change de couleur. Lorsque le lien est activé, un algorithme s’occupe de rediriger l’usager vers la destination sélectionnée et ainsi de suite. Les concepteurs d’algorithmes doivent prendre en compte un grand nombre de variables : si l'usager clique sur les marges de la page, que se passe-t-il? Peut-il copier le contenu? Peut-il voir les mots de passe de l’administration en ouvrant les informations de la page? S'il fait une recherche sur le site, sur quelles pages va-t-il tomber? Toutes ces variables sont à prendre en considération et représentent un défi de l'algorithme. Si les variables de départ changent, comment va réagir le programme? La complexité algorithmique4) est une notion floue mais qui, pour l'essentiel, stipule que la complexité d'un algorithme ne repose pas que sur la taille de ses opérations, mais sur son efficacité. On considère un algorithme peu efficace s'il effectue ses opérations en plus de d'autres actions, s'il demande trop de temps de calculs ou s'il nécessite beaucoup de ressources. Par exemple, si on veut aller à Montréal, on peut passer par plusieurs routes. Toutefois, il n'y en a qu'une qui permet de s'y rendre plus facilement, autant parce qu'elle nécessite moins de temps que parce qu'elle requiert moins de carburant. Donc, un algorithme complexe est un algorithme qui utilise le minimum d'opérations possibles pour arriver au meilleur résultat.

Avant qu’un programmeur implante l’algorithme, il faut d’abord que ce dernier ait été esquissé à l’aide de ce qu’on appelle le pseudocode. Bien que sa forme change selon la langue, l’établissement ou la compagnie où il est utilisé, le pseudocode est une écriture simplifiée et relativement facile à traduire dans les langages informatiques comme « c# », « c++ », « python », etc. La reprise de structures communes est essentielle. Par exemple, les structures if (si) et while (pendant que) sont communes à plusieurs langages. Un algorithme écrit en pseudocode pourrait ressembler à ceci :

Pendant que n < 5
 Ajouter 1
Si n = 5 ou n > 5 
 Ajouter 2 

Avec ces instructions simples, le programmeur serait en mesure d'implanter cette petite partie de code dans le langage approprié à la tâche. En d'autres mots, cela veut dire que tant qu'une variable n vaut moins que 5, on ajoute 1 au résultat, mais dès que sa valeur atteint 5, on ajoute 2 à la place. Il y a également l’intelligence artificielle qui a été créée afin de reproduire et d’améliorer la capacité de raisonnement de l’être humain à l’aide d’algorithmes. Une des avancées de cette branche algorithmique est la capacité des programmes à se modifier eux-mêmes selon des essais-erreurs. Un phénomène représentant bien ce concept est le programme qui permet de générer des visages humains qui n’existent pas 5).

Volet 3 : Enjeux

L'utilisation de l'algorithme par le numérique soulève plusieurs enjeux éthiques dont une perte de la diversité culturelle, un emprisonnement de l'usager dans une communauté de pensée unique6) et une discrimination du contenu sélectionné. Certains voient l’algorithme, spécifiquement l’algorithme de recommandation, comme une atteinte à la diversité culturelle, c’est-à-dire à « l’accès et […] la possibilité de découvrir une pluralité de titres, par opposition à une production hégémonique »7). Il faut se rappeler que l’objectif premier de l’algorithme est de proposer un contenu qui est le plus pertinent possible face aux requêtes de l’usager. Cette conception suggère du coup une généralisation de réponses systématiques, qui peuvent confondre la pertinence avec la popularité.

D’autres voient l’algorithme comme un cloisonnement de l’individu dans ses propres idées. Lorsqu'il survole le Web, l’usager n’a pas tendance à rechercher du contenu qui le confronte mais, au contraire, qui le rassure dans ses idées et ses valeurs. L’algorithme a recours à ses données pour personnaliser le contenu qui lui est suggéré, ce qui « participe à la formation d’une identité algorithmique »8) partagée à l’intérieur d’une même communauté. Ce processus emprisonne l’usager dans un cercle numérique d'individus qui partagent sa vision. L'algorithme porte ainsi atteinte à l'évolution individuelle, car l'usager ne peut rien découvrir de nouveau dans ce qui lui est proposé.

Dans les dernières années, Youtube, un site populaire de partage de vidéos, a fait face à une controverse de discrimination en lien avec son contenu. La plateforme a beaucoup de succès et plusieurs de ses utilisateurs sont désormais capables de vivre des revenus générés par les publicités placées dans les vidéos. Or, il est arrivé que les algorithmes « discriminent » certains contenus. Durant le printemps 2017, une pléthore de compagnies retirèrent leurs annonces publicitaires du site suite au constat que certaines vidéos aux idéologies extrémistes étaient sponsorisées. Youtube est la source principale de revenus pour plusieurs de ces créateurs qui virent leurs chiffres de visionnement baisser considérablement à partir de ce moment. Seules les vidéos « familiales » pouvaient espérer être monétarisées ou même être suggérées par l'algorithme de recommandation. Ce phénomène reçut le nom d'« adpocalypse ». En février 2019, Youtube a fait face à un deuxième « adpocalypse » 9) suite à des conditions similaires. L'une des conséquences de ces évènements a été l'homogénéisation du contenu principal sur Youtube, car de nombreux plus petits créateurs n'ont pas réussi à s'en remettre et ceux qui réussirent à le faire s'en sont sortis grâce à des moyens trompeurs (les clickbaits, le faux contenu destiné à des enfants, etc.) Amazon a également fait face à une controverse de discrimination, mais cette fois-ci en lien avec un algorithme qui aidait à la sélection de futurs employés. En analysant les individus déjà embauchés, certains ont réalisé que l'algorithme ne considérait pas les femmes comme des candidates potentielles à cause de leur sous-représentation dans la compagnie, soit parce qu'elles ne rentraient pas dans le moule de l'employé moyen10).


Notions corrélées

  • La génération automatique de textes
  • Le hashtag
  • L'interactivité
  • Les réseaux sociaux
  • L'intelligence artificielle

Exemples

L'algorithme de recommandation sur Netflix

À l'ère du numérique, certaines compagnies utilisent l'algorithme comme système de recommandation pour leurs produits. Netflix, le fameux site de visionnement de films et de téléséries en ligne, offre quelques sections intitulées « Meilleurs choix pour vous », ou encore « Si vous avez visionné ce film », qui présentent à l'usager une sélection de titres qui lui sont suggérés en fonction des titres qu'il a précédemment regardés. L'algorithme fonctionne comme une machine d'apprentissage. Si le petit frère écoute plusieurs épisodes de la Pat Patrouille sur son compte, à sa prochaine visite, les sections de recommandation vont s'être ajustées en conséquence. Plus l'usager utilise le site, plus les recommandations sont précises. Les propositions d'un usager s'ajuste aussi en fonction des préférences de d'autres usagers qui ont des goûts semblables. Netflix utilise également un algorithme pour choisir les « couvertures artistiques » des titres qui sont présentés à l'usager. Le site crée différentes affiches d'un même film ou d'une même télésérie en le présentant à l'usager avec celle qui risque d'attirer son attention le plus11).

Le projet OMCS

Open Mind Common Sense (OMCS) est un projet d'intelligence artificielle qui utilise un algorithme pour créer une base de connaissances qui serait considérée commune à tout humain. Dans ce cas-ci, cet algorithme permet d'identifier les suppositions naturelles, le « sens commun » du langage humain, pour ensuite les apprendre aux ordinateurs. L'objectif est d'atteindre une intelligence artificielle qui comprend mieux et interagit de plus en plus naturellement avec l'humain.

La médiation en ligne du livre

En littérature, à l'ère du numérique, un algorithme permet à l'usager de trouver un titre à l'aide de deux ou trois mots-clés tapés dans l'outil de recherche et/ou par « la sélection ou déselection d'une catégorie dans un index de furetage »12). La recommandation d'un titre dépend de sa popularité et de la quantité de contenus qui y est reliée, et ce suivant le modèle de PageRank de Google. Certains sites du Web littéraire utilisent un algorithme qui fonctionne selon une hiérarchisation du contenu en se basant sur la pertinence alors que d'autres se servent plutôt d'un algorithme qui travaille selon les similarités entre les lectures.


Références


Rédactrices

Mary-Elizabeth Marcoux et Salomé Lacourse-Constancis

1)
Campochiaro, Elica, Riccardo Casatta, Paolo Cremonesi & Roberto Turrin (2009), « Do metrics make recommender algorithms? », dans Advanced Information Networking and Applications Workshops, Braford, UK: IEEE, p. 648-653.
2)
Stéphane Labbé (2015), « La médiation du livre à l'ère du numérique: l'enjeu des algorithmes de recommandation », dans Documentation et bibliothèques, vol. 61, no 1, p. 17.
3)
Anonyme, « algorithme », dans Dictionnaire de français Larousse, Larousse, [en ligne]. https://www.larousse.fr/dictionnaires/francais/algorithme/2238/difficulte [Texte consulté le 4 mars 2019]
4)
Anonyme, « Qu’est-ce qu’un algorithme? » dans L’Algorithmique pour l’apprenti programmeur, Openclassrooms, [en ligne]. https://openclassrooms.com/fr/courses/1467201-algorithmique-pour-lapprenti-programmeur/1467284-quest-ce-quun-algorithme [Texte consulté le 4 mars 2019].
5)
Tristin HOPPER « This creepy AI website automatically generates human faces – that look real », dans National Post, NATIONAL POST [en ligne]. https://nationalpost.com/news/world/ai-website-this-person-does-not-exist-automatically-generates-fake-human-faces [Texte consulté le 9 mars 2019].
6) , 7) , 8)
Stéphane Labbé, « La médiation du livre à l'ère du numérique: l'enjeu des algorithmes de recommandation », dans Documentation et bibliothèques, 2015, vol. 61, no 1, p. 19.
9)
Rachel Dunphy, « Can Youtube Survive The Adpocalypse ? » dans The New York Times, The New York Times, [en ligne]. http://nymag.com/intelligencer/2017/12/can-youtube-survive-the-adpocalypse.html [Texte consulté le 5 mars 2019].
10)
Jeffrey Dastin, « Amazon scraps secret AI recruiting tool that showed bias against women », dans Business News, Reuters, [en ligne]. https://www.reuters.com/article/us-amazon-com-jobs-automation-insight/amazon-scraps-secret-ai-recruiting-tool-that-showed-bias-against-women-idUSKCN1MK08G [Texte consulté le 5 mars 2019].
11)
Josefina Blattman, « Netflix : Binging on the Algorithm » dans UX Planet, UX Planet, One-stop resource for everything related to user experience, [en ligne]. https://uxplanet.org/netflix-binging-on-the-algorithm-a3a74a6c1f59 [Texte consulté le 5 mars 2019]
12)
Stéphane Labbé, « La médiation du livre à l'ère du numérique: l'enjeu des algorithmes de recommandation », dans Documentation et bibliothèques, 2015, vol. 61, no 1, p. 18.
1005-h2019/algorithme.txt · Dernière modification : 2019/03/11 18:58 de SALAC55

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki