L’algorithme est présent partout dans notre vie quotidienne.
Par exemple, lorsque nous utilisons un GPS pour nous géolocaliser, c’est justement grâce à un algorithme que le calcul est possible. 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, allant de la finance, où cela peut sembler évident, à la médecine, pour optimiser les médicaments ou les traitements anti-tumoraux. Au fil du temps, ce terme a dépassé les frontières des mathématiques, revêtant de nouveaux sens. On parle ainsi d’algorithme pour trouver l’âme sœur ou les vacances parfaites.
Schemaatiser et formaliser nos actions est aujourd’hui une pratique courante qui nous aide à organiser nos actions et nos idées pour 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 sa 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 récemment que le terme a pris de manière sans équivoque la connotation de procédure formelle 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 « affaiblissement du sens », réduisant le concept à une méthode pour atteindre un objectif.
Il est désormais évident que nous pouvons retrouver un algorithme même 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 livre 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 satisfaites :
Finitude : chaque algorithme doit être fini, c’est-à-dire que chaque instruction doit pouvoir être exécutée en 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 ensemble de définition dominio de l’algorithme et doit produire des résultats qui appartiennent à l’ensemble d’arrivée ou ensemble d’arrivée codominio
Non-ambiguïté : les étapes successives à 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 ultérieurement (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 (finitezza) ;
- l’exécution doit avoir un terme après un temps fini (terminaison) ;
- l’exécution doit conduire à un résultat univoque (efficacité).
