Les algorithmes d’optimisation s’utilisent en de nombreux problèmes, pour trouver les zéros de fonctions, pour minimiser la distance entre des points de mesure et une courbe (moindres carrés), intersections de fonctions et pour résoudre des systèmes d’équations à une ou plusieurs variables.
Un algorithme de résolution d’un problème sur une donnée est dit récursif si parmi les opérations utilisées pour le résoudre, on trouve la résolution du même problème sur une donnée . Dans un algorithme récursif, on nomme appel récursif toute étape de l’algorithme résolvant le même problème sur une autre donnée.
En fait, dans la plupart des algorithmes d’optimisation modernes, on ne fait jamais de recherche linéaire exacte, car trouver ^tsignifie qu’il va falloir calculer un grand nombre de fois la fonction ’, et cela peut être dissuasif du point de vue du temps de calcul.
En utilisant un algorithme de planification, on va donc rechercher une séquence d’actions qui permet d’arriver à un état voulu. Présenté pour le pathfinding, l’algorithme A* n’est pas seulement utile pour de la recherche de chemin sur une grille.