O que é um algoritmo adaptativo?
Um algoritmo adaptável é um conjunto de instruções para executar uma função que pode se adaptar em caso de mudanças no ambiente ou nas circunstâncias. Algoritmos adaptativos são capazes de ajustar inteligentemente suas atividades à luz das circunstâncias em mudança para alcançar o melhor resultado possível. Eles podem ser programados em várias linguagens de computação para fazer tudo, desde a automação do controle de tráfego aéreo até o retorno de resultados de pesquisa que serão precisos e úteis para um usuário da Internet.
O algoritmo adaptativo pode mudar seu comportamento se detectar a necessidade de fazê-lo. No exemplo de um mecanismo de pesquisa, o mecanismo pode rastrear toda a Internet e retornar resultados de vários locais, mas pode considerar os parâmetros conhecidos sobre o usuário primeiro. Se o endereço IP do usuário se originar na França, por exemplo, o algoritmo adaptativo retornará resultados em francês, ou o mecanismo de pesquisa poderá redirecionar o usuário para o site em francês.
Os algoritmos também podem aprender com o comportamento dos usuários. Usuários do mesmo mecanismo de pesquisa no mesmo país podem perceber que obtêm resultados diferentes. Estes são baseados em comportamentos de pesquisa anteriores e links de clique. O algoritmo pode personalizar seus resultados para as necessidades do usuário. Por exemplo, uma pessoa que pesquisa "futebol" e clica em links sobre futebol americano, não futebol, ensina o algoritmo sobre os tipos de resultados que deseja ver.
Esses algoritmos podem ser úteis quando é necessário configurar instruções para executar um comando, mas o sistema precisa substituir o algoritmo no caso de uma situação premente. Com o controle de tráfego aéreo parcialmente automatizado, por exemplo, o algoritmo pode responder quando um avião envia uma chamada de emergência. Ele aconselhará os controladores de tráfego aéreo sobre como redirecionar o tráfego existente, em vez de insistir em pousar esses aviões primeiro e colocar o avião em perigo na fila de espera. O algoritmo pode se ajustar às circunstâncias e pode substituir as instruções normais para colocar os aviões em uma fila em ordem de chegada quando detectar uma situação de emergência.
A codificação de um algoritmo adaptável leva mais tempo do que o desenvolvimento de um algoritmo regular e pode exigir algumas considerações especiais. Antes de um programador criar um algoritmo, ele geralmente desenvolve uma lista de parâmetros para descrever o que precisa fazer e como. Com uma versão adaptável, ela pensará em situações que podem surgir e configurará o código para que o algoritmo adaptativo possa aprender com suas experiências.