Algorithme
Un algorithme est une description précise et complète d’une solution à un problème. En mathématiques et en informatique, on peut le considérer comme une séquence d’étapes de calcul spécifiques. Les instructions de l'algorithme décrivent un processus de calcul complet, ce qui signifie qu'il peut démarrer à partir d'un état initial et d'une entrée initiale, passer par une série d'états finis et clairement définis, et enfin générer une sortie et s'arrêter à un état final.
En termes simples, un algorithme est une procédure de calcul bien définie qui prend une ou un ensemble de valeurs en entrée et produit une ou un ensemble de valeurs en sortie. Autrement dit, un algorithme est une série d’étapes de calcul utilisées pour transformer les données d’entrée en résultats de sortie.
Nous pouvons également considérer un algorithme comme un outil permettant de résoudre un problème de calcul bien spécifié. Le problème peut être énoncé dans un langage général pour spécifier les relations d’entrée/sortie requises. L'algorithme correspondant décrit un processus de calcul spécifique pour obtenir cette relation entrée/sortie.
Caractéristiques de l'algorithme
Un algorithme doit avoir les cinq caractéristiques importantes suivantes :
- Finitude : La finitude d'un algorithme signifie que l'algorithme doit se terminer après avoir exécuté un nombre fini d'étapes ;
- Exactitude : Chaque étape de l’algorithme doit avoir une définition exacte ;
- Entrée : un algorithme possède 0 ou plusieurs entrées pour caractériser les conditions initiales de l'objet d'opération. L'entrée dite 0 signifie que l'algorithme lui-même définit les conditions initiales ;
- Sortie : un algorithme possède une ou plusieurs sorties qui reflètent les résultats du traitement des données d’entrée. Un algorithme sans résultat n’a aucun sens ;
- Faisabilité : Toute étape de calcul effectuée dans l'algorithme peut être décomposée en étapes d'opérations exécutables de base, c'est-à-dire que chaque étape de calcul peut être réalisée dans un temps fini.
Classification des algorithmes
Les algorithmes peuvent être largement divisés en trois catégories :
- Algorithmes déterministes finis : ces algorithmes se terminent dans une période de temps finie.
- Algorithmes non déterministes finis : Ces algorithmes se terminent en temps fini.
- Algorithme infini : algorithme qui ne se termine pas car il n'existe aucune condition de terminaison définie ou la condition définie ne peut pas être satisfaite par les données d'entrée.
Direction de l'algorithme d'apprentissage automatique
- Algorithme de régression
- Algorithmes de classification
- Algorithmes de clustering