La programación dinámica es el proceso de tomar un problema, dividirlo en subproblemas y usar las soluciones a estos subproblemas para resolver el problema original.
Sin embargo, el retroceso intenta encontrar una solución que se ajuste a algún tipo de restricción y trata de encontrar esta solución expandiéndose en soluciones parciales. La parte de retroceso entra en juego cuando una solución viola una restricción y dejamos de expandir esa solución y “retrocedemos” a otra solución parcial que no viola ninguna restricción.
Los problemas comunes de programación dinámica incluyen la subsecuencia creciente más larga, la distancia de edición entre dos cadenas, la multiplicación de la matriz de la cadena, conjuntos independientes en árboles, etc.
- ¿Cuál es el mejor algoritmo para la optimización convexa sin restricciones de propósito general?
- ¿Cuál es la elección ideal de algoritmos, bibliotecas en PNL y aprendizaje automático para construir un bot de chat?
- ¿ISRO emplea el aprendizaje automático en alguno de sus sistemas de trabajo actuales?
- ¿Cuáles son los mejores libros para aprender estructuras de datos y algoritmos para un principiante con poco lenguaje de programación de C?
- ¿Cómo podemos demostrar que cada matriz 1D tiene un pico o que cualquier matriz 1D siempre tiene un pico?
Los problemas comunes que utilizan el rastreo hacia atrás incluyen problemas de satisfacción de restricciones como 3-SAT, N-reinas, coloración de mapas, etc.