Heurística
En términos generales, una heurística es una «regla empírica», o una buena guía a seguir para tomar decisiones. En informática, una heurística tiene un significado similar, pero se refiere específicamente a los algoritmos.
Cuando se programa software, los programadores informáticos buscan crear los algoritmos más eficientes para realizar diversas tareas. Estas pueden incluir procesos sencillos como ordenar números o funciones complejas como el procesamiento de imágenes o videoclips. Dado que estas funciones suelen aceptar una amplia gama de entradas, un algoritmo puede funcionar bien en ciertos casos, mientras que no lo hace muy bien en otros.
Por ejemplo, el algoritmo de compresión de imágenes GIF funciona bien en imágenes pequeñas con pocos colores, pero no tan bien como la compresión JPEG en imágenes grandes con muchos colores. Si supieras que sólo vas a tratar con imágenes pequeñas que no tienen una amplia gama de colores, la compresión GIF sería todo lo que necesitas. No tendría que preocuparse por las imágenes grandes y con muchos colores, por lo que no tendría sentido optimizar el algoritmo para esas imágenes. Del mismo modo, los programadores informáticos suelen utilizar algoritmos que funcionan bien para la mayoría de las situaciones, aunque puedan funcionar de forma ineficiente para situaciones poco comunes.
Por lo tanto, un proceso heurístico puede incluir la realización de pruebas y la obtención de resultados por 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 ha dicho anteriormente, estos algoritmos no siempre son perfectos, pero funcionan bien la mayor parte del tiempo. El objetivo de la heurística es desarrollar un proceso sencillo que genere resultados precisos en un tiempo aceptable.