UNE QUESTION DE MÉTHODE
Publié le 23 septembre 2018
Dans le domaine des techniques et des sciences appliquées, lorsqu’il s’agit de résoudre des problèmes complexes, il existe deux grandes familles de méthodes : d’un côté les méthodes hiérarchiques, dites descendantes, où les prises de décisions sont centralisées et coordonnées au sommet et à contrario, les versions ascendantes, qui elles, misent sur l’auto-organisation, l’intelligence collective et les propriétés émergentes qui en découlent [1].
Les méthodes descendantes (top-down)
En informatique, on a longtemps cru qu’il était possible de créer des algorithmes dits "intelligents", capables de remplacer un humain sur des tâches spécifiques, en créant de gros programmes monolithiques. Le rôle de l’informaticien se résume alors à traduire les connaissances des experts du domaine visé sous la forme d’instructions interprétables par une machine. On appelle d’ailleurs ce genre de programme des systèmes experts. Le problème c’est que les performances du système dépendent de la quantité et de la qualité des notions d’expertise qui lui on été inculqués : si l’expertise est fausse, incomplète ou bruitée (avec des parasites, par exemple une image de très mauvaise qualité), le résultat le sera tout autant. Dans ce type de programme, la maintenance n’est pas facile et ils sont difficilement adaptables à d’autres types de problèmes que ceux pour lesquels ils ont été initialement conçus. Cette façon de faire atteint vite ses limites et même si ils sont encore largement utilisés aujourd’hui, notamment dans le domaine médical ou de la finance pour ne citer qu’eux, ces systèmes ne doivent leur survie que grâce à l’amélioration phénoménale de la puissance de calcul, aux quantités astronomiques d’informations qu’il est dorénavant possible de stocker, mais surtout, grâce à l’ajout, en sous main, de techniques empruntées aux méthodes ascendantes, comme le data-mining (l’exploration de données en français, connue aussi sous l’expression de fouille de données, forage de données, prospection de données, ou encore extraction de connaissances à partir de données, a pour objet l’extraction d’un savoir ou d’une connaissance à partir de grandes quantités de données, par des méthodes automatiques ou semi-automatiques) ou les réseaux de neurones artificiels qui ne sont qu’une combinaison d’une multitude d’unité de traitement élémentaire réalisant de simples opérations arithmétiques.
Dans un autre domaine comme l’élaboration d’un grand projet industriel, si la méthode descendante permet penser la problématique d’abord dans son ensemble puis, par itération successive, de descendre de plus en plus dans les détails de réalisation, un exemple célèbre de réquisitoire contre cette approche est le rapport de Richard Feynman (un des plus grand scientifique du XXe siècle) sur l’accident de la navette spatiale Challenger en 1986 : selon lui, l’approche descendante oblige à des prises de décisions de conceptions prématurées et rend beaucoup plus difficile les corrections de design que l’approche ascendante, où l’on part en permanence de ce qui est bien connu et solidement maîtrisé [2]. Avec ce type de méthodologie, les coûts des correctifs sont exponentiellement proportionnels à l’avancement du projet, plus un défaut est découvert tardivement, plus la facture sera importante. L’oubli d’un détail, ou une mauvaise définition d’un cahier des charge peuvent même remettre en cause la viabilité d’un projet. C’est un problème bien connu en informatique où le taux de succès des projets gérés de manière agile (technique de management où l’ensemble des acteurs, utilisateurs finaux, développeurs, grands manitous, ... sont associés aux prises de décision sur toute la durée du projet) peut atteindre 89% de réussite contre seulement 36% avec des méthodes purement descendantes [3].
Pour l’ anecdote, il est d’ailleurs intéressant de noter que la version la plus ascendante de méthodes agiles s’appelle "l’extreme programming" où la valeur ajoutée du chef de projet se résume uniquement au choix de l’équipe des développeurs et à l’établissement du devis !!!
Les méthodes ascendante (bottom-up)
L’approche ascendante [4], quant à elle, s’inspire souvent de processus physiques, biologiques ou sociaux. Dans la nature, les phénomènes aux dynamiques complexes émergent toujours de l’interaction de proche en proche de petits éléments ou d’agents régis par des règles d’organisation simples.
Comment s’y prennent les fourmis pour trouver le chemin le plus court entre la fourmilière et les ressources aux alentours ? Certainement pas grâce à la reine ! En fait, lorsqu’une fourmi se déplace, elle répand une phéromone sur son chemin et l’intensité de cette odeur caractéristique diminue rapidement avec le temps. Ainsi, le chemin le plus court est celui où l’odeur est la plus intense. Si l’exploration de leur l’environnement se fait de manière aléatoire, chaque fourmi étant maître de ses propres décisions, leur nombre important ainsi que l’application de cette règle toute simple, qui est de toujours suivre le parcours le plus odorant (celui où le message olfactif aura eu moins de temps pour se dissiper et où donc sa concentration sera la plus importante), leur garantit, par un processus chaotique déterministe, d’optimiser au mieux leurs dépenses en énergie pour approvisionner la colonie [5]. Ce principe est par exemple utilisé pour acheminer les paquets d’informations sur internet de manière optimale (un gros fichier comme un film sera découpé en morceaux plus petits, si une erreur survient lors du transfert, seul le paquet corrompu sera renvoyé, ce qui évite d’avoir à réexpédier le fichier complet), et ce, de façon décentralisée, sans l’aide d’un chef d’orchestre qui coordonnerait toutes les prises de décision concernant le routage (l’aiguillage).
Un autre exemple inspiré cette fois de la métallurgie et des propriétés de la matière, est la technique dite du "recuit simulé" [6]. Pour améliorer la qualité des aciers, au lieu de les laisser simplement refroidir après les avoir fondu, on fait descendre la température en dent de scie, en répétant des cycles de refroidissement lents, entrecoupés de petites remontés en chauffe (le recuit), jusqu’à atteindre la température ambiante. Par ce simple fait, les atomes au sein du métal ont le temps de s’organiser en une structure cristalline, beaucoup plus robuste qu’un refroidissement rapide qui entraînerait une organisation atomique plus proche d’un verre. Encore une fois, pas besoin d’un dieux démiurge pour façonner toutes les incroyables formes cristallines que l’on observe dans la nature. Il suffit juste de laisser suffisamment de temps à leurs éléments constitutifs pour qu’ils s’organisent de proche en proche, établissant entre eux des corrélations distantes à grande échelle ayant pour résultat l’adoption d’une configuration spatiale qui minimise l’énergie interne du système. En simulant ce phénomène, on peut ainsi trouver l’agencement optimal des composants sur une carte électronique ou encore définir l’emploi du temps d’un établissement scolaire qui soit le plus satisfaisant possible en tenant compte des contraintes de l’ensemble des professeurs et des élèves.
Hiérarchie versus horizontalité
Les algorithmes qui implémentent les deux exemples précédents sont ridiculement petits comparés à leur version descendante. Quelques règles simples exprimées sous la forme d’équation mathématique, comme par exemple une loi de décroissance de la température ou de concentration d’une phéromone en fonction du temps, ou des formules d’attractions / répulsions suffisent à résoudre un grand nombre de problèmes d’optimisation. Contrairement à la version descendante qui aurait nécessité une réécriture quasi complète du programme, ici, le travail de l’informaticien sera réduit à la simple adaptation des données d’entrée et au bon paramétrage des formules.
Mais, dans certains cas, la version descendante n’existe tout simplement pas. Dans les problèmes de mécanique des fluides, si l’on connaît bien les principes physiques sous-jacents comme les phénomènes de turbulences, les lois de la thermodynamique ou encore les équations de Navier-Stokes (équations mathématiques décrivant le mouvement d’un fluide), dès que l’on sort des cas d’école, on se retrouve vite démuni car aucune formule mathématique globale, ou plus exactement aucune solution analytique, ne permet d’étudier un phénomène précis. Il faudra donc en passer par une solution numérique [7] qui consiste en une discrétisation, c’est à dire un découpage de l’espace en un grand nombre de petites cellules élémentaires, ramenant ainsi le sujet d’étude à une multitude de cas simples. Grace à ces méthodes, on peut ainsi simuler l’écoulement de l’air autour d’une aile d’avion ou encore, valider le modèle standard de l’évolution de l’univers depuis le big bang jusqu’à la formation de notre planète.
Alors la prochaine fois qu’un chef vous dira qu’il a trouvé LA solution à un problème, que ce soit en terme d’organisation, de technique ou tout autre sujet, politique y compris, partout où ils prétendent faire autorité, vous pourrez dire légitimement qu’a plusieurs vous auriez certainement fait mieux, et que cela ne relève pas que d’une opinion subjective, mais que la nature, ainsi que les sciences et les techniques modernes qui s’en inspirent nous le prouve tous les jours de manière objective.