連鎖行列の乗算とは何か、通常の乗算とはどのように違うのかを理解しようとしています。私はいくつかの情報源をチェックしましたが、すべてが私が理解できるように非常に学術的に説明されているようです。
最適化された方法で操作を実現するのは動的計画法アルゴリズムの一種だと思いますが、それ以上は進みませんでした。
ありがとう
連鎖行列の乗算とは何か、通常の乗算とはどのように違うのかを理解しようとしています。私はいくつかの情報源をチェックしましたが、すべてが私が理解できるように非常に学術的に説明されているようです。
最適化された方法で操作を実現するのは動的計画法アルゴリズムの一種だと思いますが、それ以上は進みませんでした。
ありがとう
連鎖乗算は単なる一連の乗算です。あいうえお 。もともとそれはプログラミングと動的計画法について何も持っていません。しかし、良い規則(結合法則)A *(B * C)=(A * B)* Cがありますが、これらの式の計算コストは異なります。したがって、最適なブラケット分布のタスクがあります。イントロでした。今ウィキを読んでください。
行列の連鎖乗積は、動的計画法のアプローチで解決できる問題です。与えられた行列を最小の乗算数で乗算するには、適切な括弧で囲まれた行列が必要です。例
M1 = 12 x 20
M2 = 20 x 15
M3 = 15 x 30
この問題を解決するには2つの方法があります。これは、行列の乗算を開始する場所によって異なります。
1). ((M1 x M2) x M3)
2). (M1 x (M2 x M3))
最初のものは、3,600 + 5,400= 9,000の乗算のみを必要とします。
2番目のソリューションには、9,000 + 7,200=16,200の乗算が必要です。
ここでは、必要な乗算の数が少ないため、最初から2番目を選択します。
プログラムは、乗算を最小化するように行列を括弧で囲む方法をユーザーに伝えることができなければなりません(最適化問題)