Penser en algorithmes

Cet article vous a plu ? Pourquoi ne pas le partager ?

L’humanité est entrée, depuis quelques décennies, dans une ère où l’usage d’ordinateurs, visibles ou non, n’a eu de cesse de se diffuser. Je ne veux pas parler ici des ordinateurs personnels qui traînent sur la table du salon, ou des ordinateurs que nous utilisons de plus en plus au travail. Je veux plutôt souligner ici la présence d’ordinateurs, ou de moyens de calcul informatiques, savamment dissimulés : dans nos postes de télévision, dans nos consoles de jeux, dans nos appareils électroménagers, dans nos moyens de transport, dans nos téléphones. Nous utilisons chaque jour plusieurs ordinateurs sans en avoir conscience.

Qui dit ordinateur dit logiciel, et qui dit logiciel dit algorithme. Un programme informatique n’est qu’une séquence d’actions électroniques assemblées d’une manière plus ou moins judicieuse. Quand le nombre de tâches à traiter reste modeste, on ne voit pas l’impact du programmeur. Mais dès que la complexité augmente, ou que les problèmes inattendus s’enchaînent, la rigueur ou la subtilité de la main algorithmique se voit, de manière presque évidente aux yeux de ceux qui connaissent cet univers.

C’est pourquoi j’ai toujours beaucoup de pitié pour ceux qui, confrontés à une box qui ne démarre pas où à un ordinateur de bord qui répond de manière incohérente, se sentent totalement démunis. Et c’est en ayant une pensée pour eux que j’ai acheté Penser en algorithmes, m’imaginant qu’il fournirait une sorte de guide pratique à l’usage des handicapés du logiciel.

Et bien j’avais tout faux. Ce livre n’est pas le guide auquel je faisais allusion précédemment, mais plutôt un ouvrage de vulgarisation scientifique sur l’informatique, les mathématiques et les algorithmes, mâtiné de réflexions plus ou moins censées sur les leçons qu’on pourrait en tirer sur la manière de trier les chaussettes, de choisir son ou sa partenaire, ou de construire des parkings.

Nulle déception ne se glisse dans ce constat, au contraire des commentaires pas toujours élogieux trouvés sur Amazon, concernant cette adaptation en poche d’une traduction d’un livre publié en 2017. Au contraire, j’ai pris un plaisir fou à retrouver certains algorithmes que j’ai eu le plaisir de croiser dans ma longue vie d’informaticien, comme le recuit simulé ou les enchères inversées.

Ne vous attendez cependant pas à trouver une quelconque démonstration mathématique, ou un calcul de complexité algorithmique plus poussé qu’un tri en O(n2), et c’est peut-être la principale faiblesse de ce livre. S’il abonde de références et dresse un panorama très détaillé des principaux algorithmes mis en oeuvre dans des domaine variés allant de la recherche et l’indexation de données à la gestion de réseaux ou à la théorie des jeux, il ne fait qu’effleurer les aspects scientifiques qui auraient mérité un approfondissement, laissant au lecteur le soin de se reporter aux papiers publiés par les chercheurs auxquels on doit les innovations algorithmiques les plus importantes.

Se pose alors la question du public d’un tel ouvrage. À qui s’adressent vraiment ses auteurs, Brian Christian et Tom Griffiths ? Certainement pas à des lecteurs dépourvus de connaissances scientifiques de base, qui se retrouverait rapidement paumé au gré des notations. À l’autre extrémité du spectre des lecteurs, disons le franchement, les spécialistes des questions abordées risquent de se lasser du manque de matière. Mais il existe un public auquel ce type de livre s’adresse parfaitement : les étudiants dans des filières scientifiques. pour lesquels une rapide mise à niveau s’impose, permettant ainsi de se doter d’un fond de culture informatique d’une consistance minimale, pour éviter les chausse-trappes.

Accessoirement, ce livre apporte deux apports majeurs. Le premier, c’est une liste d’articles scientifiques de référence, ceux qui ont permis de changer le monde informatique. L’autre, c’est d’apporter, en guise de conclusion, une morale essentielle : si la fonction principale des ordinateurs est d’effectuer des calculs, il n’en demeure pas moins que toute approche heuristique permettant de limiter la quantité de calculs à effectuer est préférable à la recherche exhaustive d’une solution optimale.

Bref, le mieux est l’ennemi du bien.

Cet article vous a plu ? Pourquoi ne pas le partager ?