Un algorithme adaptatif est un ensemble d’instructions pour exécuter une fonction qui peut s’adapter en cas de changements d’environnement ou de circonstances. Les algorithmes adaptatifs sont capables d’ajuster intelligemment leurs activités à la lumière des circonstances changeantes pour obtenir le meilleur résultat possible. Ils peuvent être programmés dans un certain nombre de langages informatiques pour tout faire, de l’automatisation du contrôle du trafic aérien au retour des résultats de recherche qui seront précis et utiles pour un internaute.
L’algorithme adaptatif peut modifier son comportement s’il en ressent la nécessité. Dans l’exemple d’un moteur de recherche, le moteur peut parcourir l’intégralité d’Internet et renvoyer des résultats à partir de divers emplacements, mais il peut d’abord prendre en compte les paramètres connus de l’utilisateur. Si l’adresse IP de l’utilisateur est originaire de France, par exemple, l’algorithme adaptatif renverrait des résultats en français, ou le moteur de recherche pourrait rediriger l’utilisateur vers son site français.
Les algorithmes peuvent également apprendre du comportement des utilisateurs. Les utilisateurs du même moteur de recherche dans le même pays peuvent remarquer qu’ils obtiennent des résultats différents. Ceux-ci sont basés sur les comportements de recherche passés et les liens de clic. L’algorithme peut personnaliser ses résultats en fonction des besoins de l’utilisateur. Par exemple, une personne qui recherche football et clique sur des liens concernant le football américain, et non le football, enseigne à l’algorithme les types de résultats qu’il souhaite voir.
De tels algorithmes peuvent être utiles lorsqu’il est nécessaire de configurer des instructions pour exécuter une commande, mais le système doit être capable de remplacer l’algorithme en cas de situation urgente. Avec le contrôle du trafic aérien partiellement automatisé, par exemple, l’algorithme peut répondre lorsqu’un avion émet un appel de détresse par radio. Il conseillera les contrôleurs aériens sur la manière de réacheminer le trafic existant, au lieu d’insister pour faire atterrir ces avions en premier et de mettre l’avion en détresse dans une file d’attente. L’algorithme peut s’adapter aux circonstances et peut outrepasser les instructions normales pour mettre les avions en file d’attente dans l’ordre de leur arrivée lorsqu’il détecte une situation d’urgence.
Le codage d’un algorithme adaptatif prend plus de temps que le développement d’un algorithme normal et peut nécessiter des considérations particulières. Avant qu’un programmeur ne crée un algorithme, il développera généralement une liste de paramètres pour décrire ce qu’il doit faire et comment. Avec une version adaptative, elle réfléchira aux situations qui pourraient survenir et mettra en place le code afin que l’algorithme adaptatif puisse apprendre de ses expériences.