¿Qué representa un estado en términos de programación dinámica?

Un estado generalmente se define como la condición particular de que algo se encuentra en un punto específico del tiempo.

Del mismo modo, en términos de programación dinámica, un estado se define por una serie de variables necesarias en un instante particular que se requieren para calcular el resultado óptimo. Entonces, básicamente es una combinación de variables que seguirá cambiando en diferentes instantes. A mayor número de estados, mayor es la profundidad de la solución recursiva y mayor es la memoria requerida para almacenar en caché el resultado de los estados para evitar volver a calcular. Esto se debe a que es más probable que tenga el mismo estado en algún momento posterior. Dos estados son iguales, si todas sus variables correspondientes tienen el mismo valor lógico. Por lo tanto, tiene mucho sentido preservar los resultados del estado para ahorrar tiempo. Esto da lugar a lo que se conoce como programación dinámica .

Bueno, he escrito un blog para explicar las mismas y muchas cosas más sobre programación dinámica en la publicación de mi blog que se menciona a continuación. Puede echarle un vistazo y discutir en los comentarios de la publicación del blog si tiene alguna duda.

Programación dinámica – Parte 1 por Prateek Gupta en TechParoksha