我现在正在自己动手编程。对于经典问题"矩阵链乘法"是找到最小数量的标量乘法。是的,
M[i,j] = 0 if i=j
= Min(i<=k<j){M[i,k-1]+M[k,j]+Pi-1*Pj*Pk}
and its time complexity is O(n^3)
但我只是好奇如果我想找到标量乘法的&#34;最大化&#34;(而不是min),它是否存在最优结构并且可以在多项式中求解它时间?
答案 0 :(得分:2)
与最小化完全相同的推理适用:
如果将 a 1 ... a i 相乘,则生成的矩阵维度不依赖于内部括号。
如果最优 - 即最昂贵 - a 1 的分区...... a i ... a n 将矩阵从 1 乘以 i 并从 i + 1 到 n ,然后它由 a 1 ... a i 和 a <的最佳解决方案组成sub> i + 1 ... a n
由于最佳子结构仍然存在,您可以使用相同的算法作为最小化(当然,将最优性标准从最小值更改为最大值)。