C’est en arabe que l’on trouve l’origine étymologique du terme algorithme que nous allons maintenant analyser en profondeur. Plus précisément, il se trouve au nom du mathématicien Al-Khwarizmi, né au Moyen Âge dans l’une des régions de ce qui est connu aujourd’hui comme l’Ouzbékistan, en Asie centrale.
C’est à Bagdad qu’il a développé une grande partie de sa carrière, et c’est là qu’il s’est déplacé, par ordre du calife, pour créer un centre supérieur de la recherche scientifique, qui a été appelé la Maison de la Sagesse. Divers traités sur l’algèbre ou l’astronomie ont été quelques-uns des travaux effectués par ce sage qui a également donné lieu à la création d’une autre série de termes scientifiques tels que l’algèbre ou guarism.
Telle était l’importance de ce personnage historique qu’il est maintenant considéré non seulement comme le père de l’algèbre, mais aussi comme celui qui a introduit notre système de numérotation.
Un algorithme est un groupe fini d’opérations organisées de manière logique et ordonnée pour résoudre un problème donné. Il s’agit d’une série d’instructions ou de règles établies qui, au moyen d’une succession d’étapes, permettent d’arriver à un résultat ou à une solution.
Selon les experts en mathématiques, les algorithmes permettent de travailler à partir d’un état de base ou initial et, après avoir suivi les étapes proposées, de trouver une solution. Il est à noter que, bien que les algorithmes soient généralement associés au champ mathématique (puisqu’ils permettent, pour citer des cas spécifiques, de trouver le quotient entre une paire de chiffres ou de déterminer quel est le diviseur commun maximum entre deux chiffres appartenant au groupe des nombres entiers), ils n’impliquent pas toujours la présence des nombres.
En plus de tout ce qui précède, dans le domaine mathématique, et lorsque nous sommes déterminés à réaliser la description de l’un de ces algorithmes, il faut garder à l’esprit que cela peut se faire à trois niveaux. Ainsi, en premier lieu, nous trouvons le niveau élevé, qui est la description formelle et enfin la tâche de mise en œuvre.
Nous ne pouvons pas non plus négliger le fait que les algorithmes peuvent être exprimés à travers les langages de programmation, les pseudocodes, le langage naturel et aussi à travers les diagrammes dits de flux.
Un manuel d’instructions pour l’utilisation d’un appareil et une série d’ordres donnés par le patron à un employé pour effectuer une certaine tâche peuvent également comprendre des algorithmes.
Cette ampleur du sens nous permet de comprendre qu’il n’existe pas de définition formelle unique de l’algorithme. Ce terme est souvent appelé le nombre fixe d’étapes nécessaires pour transformer une information d’entrée (un problème) en une sortie (sa solution). Cependant, certains algorithmes n’ont pas de fin ou ne résolvent pas un problème particulier.
Certaines propriétés s’appliquent à tous les algorithmes, à l’exception des algorithmes dits parallèles : temps séquentiel (les algorithmes fonctionnent pas à pas), état abstrait (chaque algorithme est indépendant de sa mise en œuvre) et exploration limitée (la transition entre les états est déterminée par une description limitée et fixe).
Enfin, les algorithmes sont très importants en informatique car ils permettent de représenter les données sous forme de séquences de bits. Un programme est un algorithme qui indique à l’ordinateur les étapes spécifiques à suivre pour exécuter une tâche.