ステートメントは次のようになります (このシナリオは、行列の乗算を最適化するために、すべての行列のペアのどれを括弧で囲むかを選択するときに発生します)
p(n) = Summation of P(k)P(k-n)
はtoと forΩ(2^n)
です。k = 1
n - 1
n> = 2
p(n)
交互括弧の組み合わせの数です。
p(3) = A1(A2*A3)
または(A1*A2)A3
または と言い(A1*A2*A3)
ます。
k
: 分割値。
n
: 行列の数。
この方程式を再帰を使って解きました。
4 つの行列があるとしA1,A2,A3,A4
ます。
としましょk = 2
うn = 4
。
p(4) = p(1)p(3) + p(2)p(2)
を再帰的に解くp(3)
と、次のp(2)
ようになります。
p(4) = p(1)p(3) + p(2)p(2) + p(1)p(1)p(2) + p(1)p(2)p(1) + p(1)p(1)p(1)p(1)
.
それが意味することはA1A2A3A4
、次の方法で括弧を付けることができるということです:
p(4) = A1(A2A3A4)
または(A1A2)(A3A4)
または(A1)(A2)(A3A4)
または(A1)(A2A3)(A4)
または(A1)(A2)(A3)(A4)
。
私の質問は:
n = 3
p(n) = 3
との場合n = 4
p(n) = 5
ではどうしてp(n) = summation of p(k)p(n-k)
ですか Ω(2^n)
?