Heurística
En términos generales, una heurística es una «regla práctica» o una buena guía que se debe seguir al tomar decisiones. En informática, heurística tiene un significado similar, pero se refiere específicamente a los algoritmos.
Al programar software, los programadores buscan crear los algoritmos más eficientes para realizar diversas tareas. Estas pueden incluir procesos sencillos, como ordenar números, o funciones complejas, como procesar imágenes o videos. Como estas funciones suelen aceptar una amplia variedad de datos de entrada, un algoritmo puede funcionar bien en ciertos casos, pero no tan bien en otros.
Por ejemplo, el algoritmo de compresión de imágenes GIF funciona bien con imágenes pequeñas y con pocos colores, pero no tan bien como la compresión JPEG en imágenes grandes con muchos colores. Si supiera que solo va a trabajar con imágenes pequeñas que no tienen una amplia variedad de colores, la compresión GIF sería todo lo que necesitaría. No tendría que preocuparse por las imágenes grandes y coloridas, por lo que no tendría sentido optimizar el algoritmo para esas imágenes. Del mismo modo, los programadores suelen usar algoritmos que funcionan bien en la mayoría de las situaciones, aunque puedan ser ineficientes en situaciones poco comunes.
Por lo tanto, un proceso heurístico puede incluir la realización de pruebas y la obtención de resultados mediante ensayo y error. A medida que se prueban más datos de muestra, resulta más fácil crear un algoritmo eficiente para procesar tipos de datos similares. Como se indicó anteriormente, estos algoritmos no siempre son perfectos, pero funcionan bien la mayor parte del tiempo. El objetivo de las heurísticas es desarrollar un proceso sencillo que genere resultados precisos en un tiempo aceptable.
Pon a prueba tu conocimiento