Algoritmo adaptativo
Los algoritmos adaptativos son aquellos que modifican su conducta de forma automática durante su ejecución,[1] atendiendo a los cambios que se producen en su entorno o en el propio programa. También puede modificar su comportamiento basado en la información disponible y en un mecanismo (o criterio) de recompensa definido a priori. Dicha información puede ser la historia de los datos recibidos recientemente, información sobre los recursos computacionales disponibles, u otra información adquirida en tiempo de ejecución relacionada con el entorno en el que opera.
Un ejemplo de ellos es el algoritmo de ordenamiento introsort, que al principio ordena los elementos utilizando el algoritmo quicksort, y que cambia a heapsort si percibe que se demora más de lo habitual (quicksort suele ordenar un array de elementos en O(n·log n) aunque tiene un orden de O(n2) en su peor caso).
Los algoritmos adaptativos se usan en multitud de campos como, por ejemplo, el control o el procesado de señal. Entre los algoritmos adaptativos más utilizados también está el Filtro de mínimos cuadrados medios, que representa una clase de algoritmos estocásticos de ascenso de gradiente utilizados en el filtrado adaptativo y el aprendizaje automático. En el filtrado adaptativo, el LMS se utiliza para imitar un filtro deseado encontrando los coeficientes del filtro que se relacionan con la producción del menor cuadrado medio de la señal de error (diferencia entre la señal deseada y la real).
Otro tipo de algoritmos adaptativos serían los filtros digitales adaptitivos que podrán ser tanto FIR como IIR que serán aquellos cuyos coeficientes no permanezcan constantes sino que son actualizados periódicamente por un algoritmo adaptativo. En general, un filtro digital adaptativo consta de dos partes: un filtro digital pero de coeficientes variables que procesa las señales deseadas, y un algoritmo adaptativo encargado de ajustar los coeficientes de dicho filtro.
Otro ejemplo de algoritmo adaptativo en los sistemas de radar es el índice de falsa alarma constante (CFAR). En aprendizaje automático y optimización, muchos algoritmos son adaptativos o tienen variantes adaptativas, lo que suele significar que los parámetros del algoritmo como la Tasa de aprendizaje se ajustan automáticamente en función de las estadísticas sobre la optimización hasta el momento (por ejemplo la tasa de convergencia).[2]
En la compresión de datos, los algoritmos de codificación adaptativa como la codificación Huffman adaptativa o la predicción por coincidencia parcial pueden tomar un flujo de datos como entrada, y adaptar su técnica de compresión basándose en los símbolos que ya han encontrado.[3]
En procesamiento de señales, el codificación acústica por transformada adaptativa (ATRAC) utilizado en las grabadoras de MiniDisc se denomina "adaptativo" porque la longitud de la ventana (el tamaño de un "trozo" de audio) puede cambiar según la naturaleza del sonido que se comprime, para intentar conseguir la estrategia de compresión que mejor suene.
Véase también
Referencias
- Anthony Zaknich (25 de abril de 2005). Principles of Adaptive Filters and Self-learning Systems. Springer Science & Business Media. ISBN 978-1-85233-984-5.
- Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). Deep Learning. MIT Press. ISBN 978-0-26203561-3.
- Ze-Nian Li; Mark S. Drew; Jiangchuan Liu (9 de abril de 2014). Fundamentals of Multimedia. Springer Science & Business Media. ISBN 978-3-319-05290-8.