Algorithme
|
|
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
|
Un algorithme est une suite finie et non-ambiguë d’opérations ou d'instructions permettant de résoudre un problème.
Le mot algorithme vient du nom latinisé du mathématicien persan Al-Khawarizmi, surnommé « le père de l'algèbre ». Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que la cryptographie, le routage d'informations, la planification et l'optimisation de ressources, la bio-informatique, ...
Un algorithme est correct lorsque pour chaque instance, il se termine en produisant la bonne sortie, c'est-à-dire qu'il résout le problème posé. On mesure l'efficacité d'un algorithme notamment par sa durée pour produire le résultat attendu et par sa consommation de mémoire RAM (en partant du principe que chaque instruction a un temps d'exécution constant). Les ordinateurs sur lesquels tournent ces algorithmes ne sont pas infiniment rapides : le temps de machine reste une ressource limitée malgré une augmentation des performances considérable des machines. Un algorithme sera donc dit performant s'il utilise avec parcimonie les ressources dont il dispose, c'est-à-dire le temps CPU et la mémoire RAM. L’analyse de la complexité algorithmique permet de mesurer ces consommations.
[modifier] Exemple classique
Une recette de cuisine est un algorithme. Elle en contient les éléments constitutifs :
- des entrées (les ingrédients, le matériel utilisé)
- des instructions élémentaires simples, dont l'exécution amène au résultat voulu
- un résultat : le plat préparé.
Cependant, les recettes de cuisine ne sont en général pas présentées rigoureusement sous forme non-ambigüe : il est d'usage d'y employer des termes vagues laissés à l'appréciation du cuisinier alors qu'un algorithme stricto-sensu doit être précis et sans ambigüité à l'exécution.
[modifier] Notes et références
[modifier] Lien externe
- Qu’est-ce qu'un algorithme ? par Philippe Flajolet et Étienne Parizot sur la revue en ligne Interstices.
- Définition du terme algorithme par les auteurs..