アルゴリズムの設計と解析 - マトリックス継続的に問題を掛けます

問題の説明:

Aiとアイ+ 1が乗算され、所与のN行列{A1、A2、...、アン}、i = 1,2 ...、N-1。行列を計算順序を決定する方法であっても、このために必要最低限​​の数の行列乗算の積を計算するようにも、製品を計算します。例えば、3つの乗算行列{A1、A2、A3}寸法は* 5 * 100、100 10および5である所与* 50、A3、乗算の回数(A1A2)を使用することであった10 + 5 * 100 * 10 * = 7500 5 * 50、A1(A2A3)の使用は、乗算の数でありながら、5 * 100 * 100 * 50 + 10 * 50 = 75,000回の乗算、明らかに、最良の配列(A1A2)A3、7500の乗算の数であります。

括弧内の継続的乗算評価行列の順序を決定する方法なので、当然マトリックスの最適な順序を上げ続け、すなわち、与えられたn個の行列に対して次々に掛け、金額の計算に大きな影響を与えるための方法なので、この順序必要な最小数で接続の数の行列積を計算します。

分析:

 

 

 行列絶えずカタロニア語の数を掛け合わはカタロニア語について離散数学の内容を参照する必要の時間複雑で計算一般的な例です。

ここでは、動的プログラミングを使用してマトリックス・ソリューションの最適な順序でも製品を検討してください。

1、最適解の構造の分析

 

 

 

 問題の最適な基礎構造の性質は、動的計画法を用いて解くことができる問題の重要な特徴です!

図2に示すように、再帰的な関係の確立

 

 

 

おすすめ

転載: www.cnblogs.com/wkfvawl/p/11564275.html