Una Heurística es un algoritmo cuyo funcionamiento se basa en la experiencia, en un conocimiento experto, en una información externa al problema que, en definitiva, proporciona soluciones para una situación que estamos considerando.
Las
heurísticas no ofrecen en general garantías de obtención de una solución óptima,
lo que no implica que no puedan obtenerse. Por ejemplo, cuando nos planteamos
problemas NP, estamos trabajando con problemas de tiempo de ejecución
elevadísimo que no pueden resolverse en la práctica con una solución exacta. Si
para esos problemas existen heurísticas, su empleo es definitivo, ya que nos
permiten obtener una solución que, aunque no sea la optima, DESDE LUEGO ES UNA
SOLUCIÓN, es decir, es preferible tener una solución que, eventualmente, pueda
ser óptima, a no tener ninguna exacta.
EJEMPLO (El
Problema del Viajante de Comercio).