next up previous
Next: Up: Previous:

Step 1: Characterize Structure of Optimal Solution



Parenthesization of two subchains A1 .. Ak and Ak+1 .. Anmust each be optimal for A1 .. An to be optimal.

Why? A lower cost solution to a subchain reduces the cost of A1 .. An. The total cost is calculated as cost( A1 .. Ak) + cost( Ak+1 .. An) + cost of multiplying two resultant matrices together. The last term is constant no matter what the subproblem solutions are.



We can show that if our subproblem solution is not optimal, a better subproblem solution cost yields a better total cost.

Thus, as is the case with ALL Dynamic Programming solutions, an optimal solution to the problem consists of optimal solutions to subproblems.

This is called optimal substructure.


next up previous
Next: Up: Previous: