Un ejemplo está relacionado con descomposiciones de árboles y gráficos de pequeño ancho de árbol.
Por lo general, si se nos da una descomposición de árbol, es bastante sencillo aplicar programación dinámica para resolver un problema gráfico forma óptima. El tiempo de ejecución depende del ancho de la descomposición del árbol.B
Sin embargo, generalmente no se nos da una descomposición del árbol, pero necesitamos encontrarla. Para resolver el problema lo más rápido posible, nos gustaría encontrar un árbol de la descomposición de la anchura más pequeña posible - ahora esto es nuestro problema .BA
Podríamos tratar de resolver el problema exactamente, pero entonces podríamos perder demasiado tiempo en la parte . Una posible solución es utilizar un algoritmo de aproximación por parte . A continuación, parte es más rápido, a un costo de garantías de tiempo de funcionamiento peores en la parte .AAAAB
Otro ejemplo está relacionado con los compiladores y la asignación de registros . Supongamos que hemos implementado un algoritmo exacto que resuelve un problema en tiempo polinómico. El tiempo de ejecución del algoritmo depende, en parte, de lo bien que el compilador logrado Asignar variables en registros de la CPU - este es nuestro problema .BA
La solución del problema es correcta incluso si el compilador usa un algoritmo de aproximación para resolver el problema ; Sin embargo, un factor de aproximación en el problema afecta el tiempo de ejecución del algoritmo .BAAB