L’algorithme est présent un peu partout dans notre vie quotidienne.
Par exemple, lorsque nous utilisons le GPS pour géolocaliser, dans ce cas, le calcul est rendu possible grâce à un algorithme. Il en va de même lorsque nous écrivons un mot dans un moteur de recherche sur le Web. Son utilisation est vaste et variée, de la finance, où cela peut sembler évident, à la médecine, pour optimiser les médicaments ou les thérapies anti-tumorales. Au fil du temps, cependant, ce terme a dépassé les frontières des mathématiques, revêtant de nouveaux sens. On parle ainsi de l’algorithme pour trouver l’âme sœur ou les vacances parfaites.
Schématiser et formaliser nos actions aujourd’hui est une pratique courante utile pour ordonner nos actions et idées afin de nous déplacer selon de nouvelles normes que nous nous imposons. L’exemple suivant est intéressant.

Malgré les suggestions de nature lexicale, le terme « algorithme » ne dérive ni de « l’algèbre » ni de « l’arithmétique », mais de l’appellation al-Khuwarizmi (originaire de Corasmie) du mathématicien Muhammad ibn Musa du IXe siècle.
Dans la version archaïque « algorisme », il était utilisé au XIIIe siècle pour désigner le système de numération arabe et, par la suite, les méthodes de l’arithmétique. Ce n’est que plus récemment que le terme a pris de manière sans équivoque la connotation d’un processus formel de calcul.
Au début, la locution algorithme était utilisée exclusivement en mathématiques ; aujourd’hui, elle est entrée dans le langage courant, où elle subit souvent un « estompage du sens », réduisant le concept à une méthode pour atteindre un objectif.
Il est maintenant évident que nous pouvons retrouver un algorithme en pensant simplement aux actions que nous effectuons quotidiennement.
Un exemple approprié est la procédure de préparation de la moka pour le café, ou tous les étapes pour un bon lavage,
ou encore mieux la procédure exposée dans n’importe quelle recette culinaire.
Donc, le recueil de recettes de notre mère est un livre d’algorithmes à part entière !
Afin qu’une « recette », une liste d’instructions, puisse être considérée comme un algorithme, les conditions suivantes doivent être remplies :
Finitude : chaque algorithme doit être fini, c’est-à-dire que chaque instruction doit pouvoir être exécutée en un temps fini et un nombre fini de fois
Généralité : chaque algorithme doit fournir la solution pour une classe de problèmes ; il doit donc être applicable à n’importe quel ensemble de données appartenant à l’ensemble de définition ou à l’ensemble de définition du domaine de l’algorithme et doit produire des résultats qui appartiennent à l’ensemble d’arrivée ou à l’ensemble d’arrivée codomaine
Non-ambiguïté : les étapes suivantes à exécuter doivent être définies de manière univoque ; les paradoxes, les contradictions et les ambiguïtés doivent être évités ; le sens de chaque instruction doit être univoque pour quiconque exécute l’algorithme
Voici les cinq points que vous devriez retenir pour définir les caractéristiques d’un algorithme :
- les étapes constitutives doivent être « élémentaires », c’est-à-dire non décomposables (atomicité) ;
- les étapes constitutives doivent être interprétables de manière directe et univoque par l’exécutant, qu’il soit humain ou artificiel (non-ambiguïté) ;
- l’algorithme doit être composé d’un nombre fini d’étapes et nécessiter une quantité finie de données en entrée (fini) ;
- l’exécution doit avoir un terme après un temps fini (terminaison) ;
- l’exécution doit conduire à un résultat univoque (efficacité).
