Algorithmes de recherche

Algorithme de recherche

Page d'aide sur l'homonymie Pour les articles homonymes, voir recherche (homonymie).

En informatique, un algorithme de recherche est un type d'algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions répondant au problème.

Supposons que l'ensemble de ses entrées soit divisible en sous-ensemble, par rapport à un critère donné, qui peut être, par exemple, une relation d'ordre. De façon générale, un tel algorithme vérifie un certain nombre de ces entrées et retourne en sortie une ou plusieurs des entrées visées.

L'ensemble de toutes les solutions potentielles dans le domaine est appelé espace de recherche.

Sommaire

Algorithmes de recherche classique

Sur des structures de données usuelles comme les listes, les tables ou les arbres, il existe des algorithmes bien connus que l'on peut facilement mettre en œuvre à la manière d'une recette de cuisine. Ces algorithmes exploitent les propriétés de la structure de données et du domaine.

Un exemple classique est la recherche dichotomique où l'on divise en deux l'espace de recherche à chaque tentative ce qui donne une complexité logarithmique (donc très avantageuse).

Recherche de solutions à des problèmes complexes

Pour des problèmes complexes, la recherche de solutions relève de l'intelligence Artificielle.

  • On dit qu'un algorithme est de recherche par force brute lorsque toutes les entrées sont vérifiées une à une. Ce type de recherche peut s'avérer efficace si l'espace des solutions est d'une taille raisonnable vis à vis de la puissance de la machine utilisée pour le parcourir. Il s'agit donc d'une méthode à tenter en dernier recours s'il n'y a pas d'autre possibilités.
  • On parle de recherche heuristiques lorsque des connaissances ou des propriétés supplémentaires permettent de rendre la recherche plus efficace. Ainsi, l'exploitation des symétries géométriques dans la résolution d'un puzzle permet de réduire fortement l'espace de recherche. De la même façon, une recherche de chemin peut être facilité par la connaissance même approximative de la direction dans laquelle se trouve l'objectif ou de sa distance.

Complexité

Ces algorithmes sont au centre de questions importantes en complexité algorithmique. Ils ont aussi très importants de par leurs vastes domaines d'application.

Exemples

Voir aussi

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Algorithme de recherche ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Algorithmes de recherche de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Algorithmes de recherche de sous-chaîne — Algorithme de recherche de sous chaîne Un algorithme de recherche de sous chaine est un type d algorithme de recherche qui a pour objectif de trouver une chaîne de caractères à l intérieur d une autre. Un tel algorithme fournit la position du… …   Wikipédia en Français

  • Algorithmes De Connexité Basés Sur Des Pointeurs — Les algorithmes de connexité suivants permettent de déterminer rapidement si deux sommets d un graphe non orienté sont reliés par un chemin ou non, en créant un tableau de pointeurs qui implémente en fait une forêt d arbres. Chaque arbre créé par …   Wikipédia en Français

  • Algorithmes de connexite bases sur des pointeurs — Algorithmes de connexité basés sur des pointeurs Les algorithmes de connexité suivants permettent de déterminer rapidement si deux sommets d un graphe non orienté sont reliés par un chemin ou non, en créant un tableau de pointeurs qui implémente… …   Wikipédia en Français

  • Algorithmes de connexité — basés sur des pointeurs Les algorithmes de connexité suivants permettent de déterminer rapidement si deux sommets d un graphe non orienté sont reliés par un chemin ou non, en créant un tableau de pointeurs qui implémente en fait une forêt d… …   Wikipédia en Français

  • Algorithmes de colonie de fourmis — Algorithme de colonies de fourmis Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al.… …   Wikipédia en Français

  • Algorithmes de connexité basés sur des pointeurs — Les algorithmes de connexité suivants permettent de déterminer rapidement si deux sommets d un graphe non orienté sont reliés par un chemin ou non, en créant un tableau de pointeurs qui implémente en fait une forêt d arbres. Chaque arbre créé par …   Wikipédia en Français

  • Algorithme De Recherche — Pour les articles homonymes, voir recherche (homonymie). En informatique, un algorithme de recherche est un type d algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions… …   Wikipédia en Français

  • Algorithme de recherche — Pour les articles homonymes, voir recherche (homonymie). En informatique, un algorithme de recherche est un type d algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions… …   Wikipédia en Français

  • Moteur De Recherche — Pour les articles homonymes, voir recherche (homonymie). Un moteur de recherche est un logiciel permettant de retrouver des ressources (pages web, forums Usenet, images, vidéo, fichiers, etc.) associées à des mots quelconques. Certains sites web… …   Wikipédia en Français

  • Moteur de Recherche — Pour les articles homonymes, voir recherche (homonymie). Un moteur de recherche est un logiciel permettant de retrouver des ressources (pages web, forums Usenet, images, vidéo, fichiers, etc.) associées à des mots quelconques. Certains sites web… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”