Los algoritmos adaptativos son un tipo de algoritmos que tienen la capacidad de modificar su comportamiento de manera automática durante su ejecución. Esta adaptación se basa en los cambios que ocurren en su entorno o en el propio programa, así como en la información disponible y en un mecanismo de recompensa predefinido. La información que utilizan para ajustar su comportamiento puede incluir la historia de los datos recibidos, detalles sobre los recursos computacionales disponibles y otros datos relevantes adquiridos durante la ejecución.[1][2]
Los algoritmos adaptativos son capaces de aprender y ajustarse a nuevas condiciones, lo que les permite optimizar su rendimiento. Por ejemplo, el algoritmo de ordenamiento introsort comienza utilizando quicksort para ordenar elementos, pero cambia a heapsort si detecta que el tiempo de ejecución se extiende más de lo habitual. Esto es importante porque quicksort tiene una complejidad promedio de O(nlogn), pero en el peor de los casos puede llegar a O(n2).
Los algoritmos adaptativos se utilizan en una amplia variedad de campos,[3] incluyendo:
|doi=
incorrecto (ayuda).