Algorithme

Un algorithme est un procédé qui permet de résoudre un problème sans avoir besoin d’inventer une solution à chaque fois. (inspiré du livre : Le temps des algorithmes, Serge Abiteboul, Gilles Dowek, Le Pommier, 2017)

A ce titre, une recette de cuisine, la taille du silex, la culture du blé… peuvent être considérés comme des algorithmes. Les informaticiens limitent, quant à eux, la définition aux algorithmes qui utilisent des symboles écrits (chiffres, lettres). Utilisés dans les ordinateurs, ils servent à calculer, gérer de l’information, communiquer, explorer, analyser des données, traiter les signaux issus de capteurs, commander un objet, fabriquer des biens, modéliser et simuler. Un algorithme peut s’exprimer dans différents langages avec quatre constructions principales : l’affectation (« remplacer a par b »), des suites d’instructions comme les séquences (« faire ceci puis cela »), les boucles (« tant que ceci est vrai, répéter cela ») ou les tests (« si ceci est vrai alors faire cela »).

Les algorithmes sont très sensibles à la représentation des données. Parmi les méthodes algorithmiques les plus connues, citons : diviser pour régner (décomposer un problème en deux plus simples), l’énumération et le test (énumérer toutes les solutions et les tester successivement), l’utilisation du hasard, la résolution gloutonne (trouver des solutions raisonnables à des problèmes d’optimisation). L’exemple le plus connu de cette dernière méthode est le problème du voyageur de commerce : comment doit-il optimiser sa tournée ? S’il énumère toutes les possibilités, pour visiter 20 clients, il devrait tester plus de 2 milliards de milliards de tournées possibles. Avec la résolution gloutonne, il choisit d’aller dans la ville la plus proche puis de proche en proche. Ce n’est pas obligatoirement la meilleure solution mais la plus raisonnable. (inspiré du livre : Le temps des algorithmes, Serge Abiteboul, Gilles Dowek, Le Pommier, 2017)