動態規劃 矩陣鏈乘法

2021-07-28 12:52:12 字數 458 閱讀 7931

兩個矩陣相乘的計算量,對於一般的矩陣乘法來說,如矩陣a(m,n)與矩陣b(n,p)相乘需要進行的加法次數為m*n*p次乘法

由於矩陣乘法滿足結合律,因此矩陣相乘的結合性,會影響整個計算表示式的乘法執行次數

如下面的例子,a、b、c三個矩陣相乘,其中a(10,5)、b(5,20)、c(20,3):

(1) ((ab)c) 執行乘法次數為1300次

(2) (a(bc)) 執行乘法次數為450次

矩陣鏈乘法問題可描述如下:給定n個矩陣的鏈,矩陣ai的規模為pi-1 * pi,求完全括號話方案,使得計算a1*a2*a3...*an所需標量乘法次數最少.

注意,求解矩陣鏈乘法問題並不是要真正進行矩陣相乘運算,我們的目標只是確定代價最低的計算順序.



動態規劃 矩陣鏈乘法

矩陣鏈乘法問題 給定n個矩陣的鏈,矩陣ai的規模為p i 1 p i 求完全括號化方案,使得計算乘積a1a2 an所需標量乘法次數最少。m i j 表示矩陣鏈ai j所需標量乘法次數的最小值。m i j 0 i j m i j m i k m k 1 j p i 1 p k p j i k s 1....

動態規劃 矩陣鏈乘法

def matrix multipy a,b 乘法得到的是乙個 a.rows,b.cols 的矩陣,相當於a.rows個向量的b.cols次的向量線性加權 ifnot a.shape 1 b.shape 0 a組中向量的維度與b組中向量的維度一致 print error else 將每乙個元素都初始...

矩陣鏈乘法 動態規劃

1.問題 給定乙個n個矩陣的序列 矩陣鏈 用向量p輸入,求一種乘法的次序使得這個矩陣鏈的執行次數達到最小。解析 我們已知m i,j 為ai到aj採用最優的乘法次序得到的最小執行次數。m i,j min,該命題為真,需要證明的話請自行查詢相關資料。i k偽 另所有m i,j 的初值為0,s i,j 的...