Algorithme

La piste étymologique

algorithme

« Du nom du mathématicien perse Al-Khwarizmi déformé d’après le grec ancien ἀριθμός, arithmós (« nombre ») » [2]

Note

L’Étymologie nous apprend… qu’il n’y a pas grand chose à tirer de l’étymologie du terme « algorithme ».

Définitions

algorithme

« Un procédé qui permet de résoudre un problème, mais (…) sans avoir besoin de réfléchir à comment le résoudre. » [1]

algorithme

« Un algorithme est une suite finie et non ambiguë d’opérations ou d’instructions permettant de résoudre un problème ou d’obtenir un résultat. » [2]

algorithme

« Un algorithme, c’est tout simplement une façon de décrire dans ses moindres détails comment procéder pour faire quelque chose. Il se trouve que beaucoup d’actions mécaniques, toutes probablement, se prêtent bien à une telle décortication. » [3]

Exemples

Une recette de cuisine

Si je souhaiter cuisiner un plat, je peux le faire en adoptant une posture de recherche et effectuer une suite d’action sans que celles-ci ni leur issue ne soient clairement déterminée à l’avance. Je peux aussi prendre une recette, et suivre les instructions jusqu’à obtenir le résultat. Si les instructions ne sont pas claires, ou si j’adapte la recette, le résultat peut varier.

Une recherche dans le dictionnaire

Je peux lire le premier mot, puis le second, et ainsi de suite jusqu’à trouver mon mot. Cela serait un algorithme possible. Un autre algorithme consisterait à ouvrir le dictionnaire au milieu, à regarder si le mot rechercher s’y trouve, et si non, recommencer avec la moitié pertinente du dictionnaire, et ainsi de suite (pour un maximum théorique de 2^16 itérations pour un dictionnaire d’environ 60000 mots ). [1]

Autres exemples

Vous avez tou·te·s déjà :

  • suivi les instructions d’un itinéraire

  • posé une opération simple (les premiers algorithmes concerneraient des opérations pas toujours simples)

  • suivi les instructions d’un mode d’emploi

Conclusion

Un algorithme est donc une suite d’étapes prédéfinies permettant d’obtenir un résultat.

Notre but en programmant va donc être d’exprimer ces suites d’étapes, à l’intention de la machine, cela dans un langage formel.