Ceci est une ancienne révision du document !
Table des matières
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 et un emprisonnement de l'usager dans une communauté de pensée unique6). 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 en lien avec l'algorithme. 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.)
On peut aussi noter le caractère discriminatoire dont certains algorithmes font preuve. Amazon, par exemple, a conçu un algorithme participant à sélectionner de futurs employés. Or, 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, l'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é suivant l'exemple de PageRank de Google. Il fait preuve d'une hiérarchisation du contenu en se basant sur la pertinence alors que d'autres sites du Web utilisent plutôt un algorithme en se basant sur les similarités entre les lectures.
Références
- 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]
- Anonyme, « algorithme », dans Encyclopédie Larousse, Larousse, [en ligne]. https://www.larousse.fr/encyclopedie/divers/algorithme/19894 [Texte consulté le 4 mars 2019].
- Anonyme, « programme », dans Encyclopédie Larousse, Larousse, [en ligne]. https://www.larousse.fr/encyclopedie/divers/programme/83442 [Texte consulté le 4 mars 2019].
- Anonyme, « Pseudocode exemples », UNF. University of North Florida [en ligne]. https://www.unf.edu/~broggio/cop2221/2221pseu.htm [Texte consulté le 10 mars 2019].
- 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].
- Anonyme, « Youtube Adpocalypse », dans The Youtube wiki, Wikitubia, [en ligne]. https://youtube.fandom.com/wiki/YouTube_Adpocalypse [Texte consulté le 5 mars 2019].
- ALEXANDER, Julia, « Youtubers fear looming ‘adpocalypse’ after child exploitation controversy », dans The Verge, The Verge [en ligne]. https://www.theverge.com/2019/2/20/18231561/youtube-child-exploitation-predators-controversy-creators-adpocalypse [Texte consulté le 5 mars 2019].
- BLATTMAN, Josefina, « 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].
- COLLARD, Philippe, « Algorithmique », dans Encyclopaedia Universalis, Universalis.Fr le portail de la connaissance, [en ligne]. http://www.universalis-edu.com.acces.bibl.ulaval.ca/encyclopedie/algorithmique/ [Texte consulté le 10 mars 2019].
- COSSINS, Daniel, « Discriminating algorithms: 5 times AI showed prejudice », dans NewScientist, NewScientist, [en ligne]. https://www.newscientist.com/article/2166207-discriminating-algorithms-5-times-ai-showed-prejudice/ [Texte consulté le 5 mars 2019].
- CRAWFORD, Kate, « Artificial Intelligence White Guy Problem », dans The New York Times, The New York Times, [en ligne]. https://www.nytimes.com/2016/06/26/opinion/sunday/artificial-intelligences-white-guy-problem.html [Texte consulté le 5 mars 2019].
- DASTIN, Jeffrey, « 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].
- DEANGELIS, Stephen, « Artificial Intelligence : How Algorithms Make Systems Smart », dans Wired, Wired, [en ligne]. https://www.wired.com/insights/2014/09/artificial-intelligence-algorithms-2/ [Texte consulté le 6 mars 2019].
- DUNPHY, Rachel, « 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].
- GANASCIA, Jean-Gabriel, « L’intelligence artificielle (IA) », dans Encyclopaedia Universalis, Universalis.Fr le portail de la connaissance, [en ligne]. http://www.universalis-edu.com.acces.bibl.ulaval.ca/encyclopedie/intelligence-artificielle-ia/ [Texte consulté le 9 mars 2019].
- GILLEPSIE, Tarleton, « The Relevance of Algorithms », dans Media Technologies, édité par Tarleton Gillepsie, Pablo J. Boczkowski et Kirsten A. Foot, Cambridge, 2014, MIT Press, p. 167-194.
- HEBENSTREIT, Jacques, « Informatiques. Principes », dans Encyclopaedia Universalis, Universalis.Fr le portail de la connaissance, [en ligne]. http://www.universalis-edu.com.acces.bibl.ulaval.ca/encyclopedie/informatique-principes/ [Texte consulté le 10 mars 2019].
- HOPPER, Tristin, « 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].
- LABBÉ, Stéphane, « 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. 15-21. https://www-erudit-org.acces.bibl.ulaval.ca/fr/revues/documentation/2015-v61-n1-documentation01739/1029000ar/
- LOHR, Steve, « Netflix Cancels Contest After Concerns Are Raised About Privacy », dans The New York Times, The New York Times, [en ligne]. https://www.nytimes.com/2010/03/13/technology/13netflix.html [Texte consulté le 5 mars 2019].
- SHEPERD, Jack, « Netflix angers black subscribers with targeted posters », dans Independent, Independent, [en ligne]. https://www.independent.co.uk/arts-entertainment/films/news/netflix-black-subscribers-targeted-posters-love-actually-a8594926.html [Texte consulté le 5 mars 2019].
- SCHABENBERGER, Oliver, « Modern artificial intelligence: algorithm through analytics », dans Infoworld, Infoworld, [en ligne]. https://www.infoworld.com/article/3285905/modern-artificial-intelligence-algorithms-through-analytics.html [Texte consulté le 6 mars 2019].
- SLOANE, Garrett, « On Youtube Live, Pirates Plunder Entire Channels like ESPN and CNN » dans AdAge, AdAge, [en ligne]. https://adage.com/article/digital/youtube-live-pirates-stream-entire-channels-espn/308576/ [Texte consulté le 5 mars 2019].
Rédactrices
Mary-Elizabeth Marcoux et Salomé Lacourse-Constancis