Aller au contenu

Heuristique (homonymie)

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 1 mai 2013 à 12:19 et modifiée en dernier par PAC2 (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

L'heuristique (du grec ancien εὑρίσκω, eurisko, « je trouve »[1]), parfois orthographiée euristique, est un terme de didactique qui signifie « l'art d'inventer, de faire des découvertes »[2].

  • En psychologie, une heuristique de jugement désigne une opération mentale, rapide et intuitive.
  • En sociologie, l'heuristique est la « discipline qui se propose de dégager les règles de la recherche scientifique »[3]. Le terme heuristique désigne d'une manière courante, une méthode de résolution d'un problème qui ne passe pas par l'analyse détaillée du problème mais par son appartenance ou adhérence à une classe de problèmes donnés déjà identifiés[réf. nécessaire].
  • En Histoire, l'heuristique désigne la science qui permet à l'historien de chercher, de découvrir, de sélectionner et de hiérarchiser les documents qu'il utilise pour son travail de recherche. À ce titre, et étant donné la nature du travail de recherche historique, elle a beaucoup à voir avec l'archivistique.
  • En optimisation combinatoire, en théorie des graphes et en théorie de la complexité des algorithmes, une heuristique est un algorithme qui fournit rapidement (en temps polynomial) une solution réalisable, pas nécessairement optimale, pour un problème d'optimisation NP-difficile. Une heuristique, ou méthode approximative, est donc le contraire d'un algorithme exact qui trouve une solution optimale pour un problème donné. Les algorithmes de résolution exacts étant de complexité exponentielle, il est généralement plus judicieux de faire appel à des méthodes heuristiques pour des problèmes difficiles. On retiendra cependant que des méthodes de résolution exactes (comme le simplexe) sont de complexité exponentielle mais parfois plus efficaces en pratique qu'une méthode heuristique. L'usage d'une heuristique est pertinent pour calculer une solution approchée d'un problème et ainsi accélérer le processus de résolution exacte. Généralement une heuristique est conçue pour un problème particulier, en s'appuyant sur sa structure propre, mais les approches peuvent contenir des principes plus généraux. On parle de métaheuristique pour les méthodes approximatives générales, pouvant s'appliquer à différents problèmes (comme le recuit simulé par exemple).

La qualité d'une heuristique

Elle peut s'évaluer selon deux critères  :

  1. Critère pratique, ou empirique : on implémente l'algorithme approximatif et on évalue la qualité de ses solutions par rapport aux solutions optimales (ou aux meilleures solutions connues). Ceci passe par la mise en place d'un banc d'essai (en anglais benchmark, ensemble d'instances d'un même problème accessible à tous).
  2. Critère mathématique : il faut démontrer que l'heuristique garantit des performances. La garantie la plus solide est celle des algorithmes approchés, sinon il est intéressant de démontrer une garantie probabiliste, lorsque l'heuristique fournit souvent, mais pas toujours, de bonnes solutions.

Ces deux critères peuvent être contradictoires. Un exemple frappant est celui du transversal minimum. L'algorithme 2-approché pour ce problème est dans une imposante majorité des cas nettement moins efficace que l'heuristique des plus hauts degrés. Celle-ci consiste à former une solution réalisable en sélectionnant à chaque itération le sommet couvrant un maximum de sommets. Cette heuristique peut pourtant fournir des solutions aussi mauvaises que l'on veut, dans le sens que pour tout on peut construire une instance pour laquelle l'heuristique donne une solution dont la valeur est supérieure à fois celle de l'optimum. Ironiquement, la principale difficulté de la résolution exacte d'un problème d'optimisation combinatoire est non pas de trouver une solution optimale, ce qui souvent arrive assez rapidement lors du processus de résolution, mais de démontrer qu'une solution est bien la meilleure possible, c'est-à-dire de réaliser que l'on a la solution optimale. Le critère mathématique est surtout important car l'information qu'il donne est exploitable dans un processus de résolution exacte. Par exemple, si l'heuristique 2-approchée pour le transversal minimum donne une solution réalisable de valeur 100, on sait que la valeur de la solution optimale est au minimum 50, on peut donc stopper un processus d'énumération (par exemple séparation et évaluation) dès que l'on possède une solution réalisable atteignant cette borne. Dans ce contexte il devient motivant d'élaborer l'algorithme 2-approché le plus mauvais qui soit, donnant la solution la plus éloignée de l'optimum, pour prouver une meilleure borne. On utilise donc un couplage maximum, alors qu'un couplage maximal suffit, pour cet algorithme 2-approché. Pour résumer, l'heuristique est la logique d'esprit d'un algorithme[réf. nécessaire].

Voir aussi

Bibliographie

  • (en) C. Papadimitriou & K. Steiglitz, Combinatorial optimization: algorithms and complexity, Englewoods Cliffs, Prentice Hall, 1982

Articles connexes

Sur les autres projets Wikimedia :

Notes et références

  1. Informations lexicographiques et étymologiques de « heuristique » dans le Trésor de la langue française informatisé, sur le site du Centre national de ressources textuelles et lexicales
  2. Définition du Littré
  3. Définition du Larousse