¿Qué significa la subestructura óptima en términos simples?

En pocas palabras, todo lo que realmente significa es que puede escribir una fórmula recursiva para una solución al problema.

Si no puede escribir una fórmula recursiva para su problema, probablemente no debería haber pensado en usar la programación dinámica de todos modos, ya que la programación dinámica es fundamentalmente un método para resolver fórmulas recursivas, de una manera que a veces es más eficiente que si hubiera tenido recurrencia regular utilizada

En otras palabras, la determinación de que el problema tiene una subestructura óptima debe ser anterior a la idea de usar programación dinámica (dado que las fórmulas recursivas también pueden resolverse mediante otros métodos, pero la programación dinámica nunca tiene sentido si no puede ver cómo resolver de forma recursiva). Para cuando decida utilizar la programación dinámica, ya debería haber escrito una fórmula recursiva, en cuyo caso la subestructura óptima es un hecho, y no es realmente algo en lo que tenga que pensar.

Encontré esta definición de subestructura óptima en Wikipedia.

En informática , se dice que un problema tiene una subestructura óptima si una solución óptima puede construirse eficientemente a partir de soluciones óptimas de sus subproblemas. Esta propiedad se utiliza para determinar la utilidad de la programación dinámica y los algoritmos codiciosos para un problema.

En palabras simples,

Considere que hay un problema (P1), con subproblemas (P2) dentro.
Llamemos la solución a P1 como S1 y la solución a P2 como S2.
Ahora, puede diseñar la mejor solución posible para P2, y ya lo ha hecho, y eso es S2.
Si puede diseñar con éxito la solución para P1 utilizando S2, se dice que P1 tiene una subestructura óptima .

Espero que esto ayude.

Definición de Wikipedia

En informática, se dice que un problema tiene una subestructura óptima si se puede construir una solución óptima a partir de soluciones óptimas de sus subproblemas.

Considere encontrar el camino más corto para viajar entre dos ciudades en automóvil, como se ilustra en la Figura anterior. Tal ejemplo tiene una subestructura óptima. Es decir, si la ruta más corta de A a D pasa por B y luego C, entonces la ruta más corta de B a D también debe pasar por C. Es decir, el problema de cómo llegar de B a D está anidado dentro del problema de cómo llegar de A a D.

Para resolver un problema, A a D se pueden resolver utilizando la solución calculada de B a D

Significa que una solución óptima para una instancia de un problema contiene una solución óptima para una instancia más pequeña dentro de él (un subproblema ). Por ejemplo, la forma óptima de hacer un cambio por $ 1.99 (en términos de la menor cantidad de monedas utilizadas) es usar una moneda de 1 dólar y luego encontrar la forma óptima de hacer el cambio por los $ 0.99 restantes. Si no realiza el cambio de los $ 0.99 restantes de manera óptima, el cambio general de $ 1.99 tampoco será óptimo.