{"id":49,"date":"2013-05-26T21:48:39","date_gmt":"2013-05-26T20:48:39","guid":{"rendered":"http:\/\/www.lovemaths.fr\/blog\/?p=49"},"modified":"2013-05-26T21:48:39","modified_gmt":"2013-05-26T20:48:39","slug":"quelques-reflexions-sur-les-algorithmes","status":"publish","type":"post","link":"https:\/\/www.lovemaths.fr\/blog\/?p=49","title":{"rendered":"Quelques r\u00e9flexions sur les algorithmes\u2026"},"content":{"rendered":"<p style=\"text-align: justify;\">La notion d\u2019algorithme n\u2019est pas n\u00e9e avec les premiers ordinateurs mais leur est bien ant\u00e9rieure, remontant \u00e0 l\u2019Antiquit\u00e9. Dans son acceptation commune, un algorithme est une suite d\u2019instructions, une \u00ab\u00a0recette\u00a0\u00bb, permettant d\u2019obtenir un r\u00e9sultat pr\u00e9d\u00e9fini. Il est synonyme de m\u00e9thode syst\u00e9matique, c\u2019est-\u00e0-dire permettant d\u2019aboutir de mani\u00e8re certaine (donc avec un nombre fini d\u2019op\u00e9rations). A ce titre, une recette de cuisine constitue un algorithme (et certains sont tr\u00e8s dou\u00e9s pour rater syst\u00e9matiquement celle de la mayonnaise :-)) tout comme la partition jou\u00e9e par un orgue de Barbarie lisant des cartons perfor\u00e9s.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.lovemaths.fr\/blog\/wp-content\/uploads\/2013\/05\/Euclide.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-50 alignleft\" alt=\"Euclide\" src=\"http:\/\/www.lovemaths.fr\/blog\/wp-content\/uploads\/2013\/05\/Euclide-300x134.png\" width=\"300\" height=\"134\" srcset=\"https:\/\/www.lovemaths.fr\/blog\/wp-content\/uploads\/2013\/05\/Euclide-300x134.png 300w, https:\/\/www.lovemaths.fr\/blog\/wp-content\/uploads\/2013\/05\/Euclide.png 404w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Des exemples de telles m\u00e9thodes syst\u00e9matiques sont le crible d\u2019Eratosth\u00e8ne qui permet de d\u00e9terminer \u00e0 coup s\u00fbr les nombres premiers inf\u00e9rieurs \u00e0 un entier N donn\u00e9 (N ne doit \u00e9videmment pas \u00eatre trop grand pour que l\u2019algorithme aboutisse dans un temps raisonnable) ou encore l\u2019algorithme d\u2019Euclide. L\u2019algorithme d\u2019Euclide (ci-contre), qui permet de trouver le PGCD de deux nombres entiers, est remarquable dans le sens o\u00f9 il est bien plus rapide que l\u2019algorithme des soustractions successives, qui para\u00eet \u00eatre une m\u00e9thode plus \u00ab\u00a0naturelle\u00a0\u00bb, \u00e0 laquelle on peut penser de prime abord.<\/p>\n<p style=\"text-align: justify;\">Mais la notion d\u2019algorithme est de nos jours indissociable de l\u2019ordinateur, cet ogre des temps modernes qui s\u2019en paisse sans jamais en \u00eatre rassasi\u00e9. A ce propos, le mot informatique provient, faut-il le rappeler, de la contraction d\u2019information et automatique, ce qui en constitue une remarquable d\u00e9finition, que les Anglo-Saxons nous envient. Puisque les traitements que r\u00e9alise la science informatique sont automatiques, ils s\u2019appuient obligatoirement sur des algorithmes qui peuvent \u00eatre aussi simples que faire des additions et des soustractions dans le cas des caisses enregistreuses (avec souvent cependant un raffinement suppl\u00e9mentaire\u00a0: la g\u00e9n\u00e9ration de bons fid\u00e9lit\u00e9s valables pour un montant d\u2019achat l\u00e9g\u00e8rement sup\u00e9rieur \u00e0 l&rsquo;habituel :-)) ou d\u2019une grande complexit\u00e9 quand il s\u2019agit par exemple de traiter les milliards de donn\u00e9es issues de collisions au sein d\u2019acc\u00e9l\u00e9rateurs de particules.<\/p>\n<p style=\"text-align: justify;\">La rapidit\u00e9 d\u2019un algorithme est un facteur important dans bien des cas de figure. Elle est li\u00e9e \u00e0 la notion de temps r\u00e9el. Par exemple, le syst\u00e8me informatique qui g\u00e8re le passage des usagers \u00e0 l\u2019entr\u00e9e et \u00e0 la sortie des stations de m\u00e9tro en fonction notamment de la carte des zones doit rendre son verdict en \u00e0 peine plus d\u2019une seconde pour assurer la fluidit\u00e9 du flux des voyageurs (une attente d\u2019une minute serait totalement inacceptable, provoquant des embouteillages monstres chaque matin). Dans le m\u00eame ordre d\u2019id\u00e9es mais \u00e0 une \u00e9chelle temporelle diff\u00e9rente, les ordinateurs qui pr\u00e9voient la m\u00e9t\u00e9o du lendemain ne peuvent se permettre une semaine de calcul (dans ce cas, les ing\u00e9nieurs ajustent les mod\u00e8les pr\u00e9visionnels en fonction de la puissance des machines pour \u00eatre certain d\u2019aboutir en temps et en heure).<\/p>\n<p style=\"text-align: justify;\">Pour \u00eatre rapide, un algorithme doit \u00eatre pertinent, autrement dit, il se doit d\u2019\u00eatre optimis\u00e9. Prenons l\u2019exemple du jeu d\u2019\u00e9chec. Alors que l\u2019\u00eatre humain s\u2019appuie sur son exp\u00e9rience et son intuition (cette derni\u00e8re \u00e9tant bien souvent de l\u2019exp\u00e9rience inconsciente), la machine va tester un grand nombre de coups \u00e0 l\u2019avance en misant sur sa puissance de calcul pour tenter de rivaliser avec l\u2019homme. Le nombre de coups possibles croissant exponentiellement, les calculs sont optimis\u00e9s en \u00e9laguant les branches menant \u00e0 des situations sans int\u00e9r\u00eat pour la victoire, ou estim\u00e9es telles. Ces optimisations, combin\u00e9es avec les vitesses de traitement toujours plus grandes, ont permis de rivaliser avec les grands ma\u00eetres internationaux puis, au d\u00e9but de ce si\u00e8cle, d\u2019arriver \u00e0 syst\u00e9matiquement les mettre en \u00e9chec.<\/p>\n<p style=\"text-align: justify;\">Ce dernier exemple montre que les m\u00e9thodes mises en \u0153uvre dans les algorithmes peuvent \u00eatre fort diff\u00e9rentes de celles d\u00e9velopp\u00e9es par un esprit humain, m\u00eame si, au final, les algorithmes sont (encore\u00a0!) pens\u00e9s par des hommes. Si l\u2019on pousse la r\u00e9flexion un peu plus loin, ne pourrait-on pas consid\u00e9rer que la vie elle-m\u00eame n&rsquo;est au final qu\u2019un algorithme, une suite de commandes cod\u00e9es dans l\u2019ADN, dont la finalit\u00e9 est de se reproduire, \u00e0 l\u2019\u00e9chelle mol\u00e9culaire mais aussi \u00e0 l\u2019\u00e9chelle macroscopique, celle des \u00eatres vivants\u00a0? Les abeilles suivent bien depuis des mill\u00e9naires une logique optimis\u00e9e \u00e0 l\u2019extr\u00eame dont le but final est tout bonnement d\u2019assurer la p\u00e9rennit\u00e9 de la ruche. Et nous les humains, sommes-nous programm\u00e9s pour rechercher le bonheur, trouver l\u2019\u00e2me s\u0153ur et nous reproduire pour assurer la p\u00e9rennit\u00e9 de notre esp\u00e8ce\u00a0? Quid du libre arbitre alors ?<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La notion d\u2019algorithme n\u2019est pas n\u00e9e avec les premiers ordinateurs mais leur est bien ant\u00e9rieure, remontant \u00e0 l\u2019Antiquit\u00e9. Dans son acceptation commune, un algorithme est une suite d\u2019instructions, une \u00ab\u00a0recette\u00a0\u00bb, permettant d\u2019obtenir un r\u00e9sultat pr\u00e9d\u00e9fini. Il est synonyme de m\u00e9thode syst\u00e9matique, c\u2019est-\u00e0-dire permettant d\u2019aboutir de mani\u00e8re certaine (donc avec un nombre fini d\u2019op\u00e9rations). A ce [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,8,2],"tags":[],"class_list":["post-49","post","type-post","status-publish","format-standard","hentry","category-premiere","category-seconde","category-terminale"],"_links":{"self":[{"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=49"}],"version-history":[{"count":4,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/49\/revisions"}],"predecessor-version":[{"id":54,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/49\/revisions\/54"}],"wp:attachment":[{"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lovemaths.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}