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]
Algoritmo adaptativo | ||
---|---|---|
Parte de algoritmo y simulación por computadora | ||
Información general | ||
Tipo de programa | Algoritmo | |
Desarrollador | Diversos investigadores | |
Lanzamiento inicial | Década de 1960 (concepto inicial) | |
Estado actual | En uso | |
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: