Una heurística es un término mucho más amplio que el algoritmo de aproximación.
Típicamente en la literatura cuando alguien discute un algoritmo de aproximación, está discutiendo un algoritmo de aproximación absoluto [matemático] c [/ matemático] y más comúnmente un algoritmo de aproximación de factor [matemático] c [/ matemático] (o [matemático] c [/ math] -proximation algoritmo más precisamente), donde [math] c [/ math] puede ser una constante o una función con [math] c \ geq 1 [/ math] (aunque podría definirlo como [math] c> 1 [/ math] para constantes, de lo contrario resolvería el problema de manera óptima). Un algoritmo de aproximación absoluta como su nombre indica tiene un error absoluto con respecto al valor objetivo de una solución óptima, mientras que un algoritmo de aproximación [matemática] c [/ matemática] garantiza que el algoritmo devuelva una solución factible cuyo valor objetivo está dentro del factor [ matemática] c [/ matemática] del óptimo . La otra propiedad importante es que termina en tiempo polinómico con respecto al tamaño de entrada .
Una heurística no necesita estas dos propiedades. Un heurístico es un término vago que puede capturar un enfoque “a veces correcto, a veces incorrecto” para aproximar una solución ( puede que ni siquiera sea un algoritmo ) o un enfoque de diseño de algoritmos que pueden no tener ninguna otra propiedad que no sea darle una solución factible (Sé algunos que no). Hay muchos tipos de algoritmos heurísticos, incluso para algoritmos de aproximación.
- ¿Cuál es el curso de informática ideal para un novato en informática?
- ¿Cuál es la investigación actual sobre la teoría de la computabilidad?
- ¿Cuáles fueron los temas candentes del aprendizaje automático en 2015?
- ¿Tener demasiados datos ralentiza tu PC?
- ¿Cuál es la diferencia entre la visión humana y la visión por computadora?
Los algoritmos de aproximación son un tipo muy específico de algoritmo heurístico. El estudio de estos junto con la dureza de aproximación son un área muy interesante de TCS.