数学弱者なので対数やsumをうまく簡単な数式に変換することが出来ない。(悲)
再帰木
部分問題の再帰呼び出しを木で図示しレベルごとのコスト、全体のコストを考えることができる
再帰木によるコストの推定→置き換え法によるコスト検証という流れでアルゴリズムを分析できる
- 後続に検証ステップがあるので多少の杜撰さは許される
- 厳密に再帰木を書くなら証明にも利用可能
- 後続に検証ステップがあるので多少の杜撰さは許される
例:
床関数・天井関数のコストは無視できる(許容できる杜撰さ)
にたいして再帰木を構成する
- 仮定:部分問題のサイズが整数になるようにnは4の冪乗と仮定する
再帰木の深さ
再帰木の各レベルのコスト
- 部分問題の各レベルの総数は
という具合に再帰のレベルiが深くなるにつれ増加していく
- 部分問題のサイズは上述のとおり
である
- 階層iの部分問題の総コストは
- 底のレベルには接点が
である
- 底のコストは
となる
- 底のコストは
- 階層iの部分問題の総コストは
- 部分問題の各レベルの総数は
木全体のコスト
※幾何級数に対する規則(A.5)の変形を使っている
- (補足p951和の公式と性質より)A.5:
- (補足p951和の公式と性質より)A.5:
結果の簡略化
は一つ前の式の上界を∞にすると綺麗に整理できる。
※
- ※P951無限減少幾何級数の変形規則(A.6)を適用している
- ※P951無限減少幾何級数の変形規則(A.6)を適用している
再帰木の推定を置き換え法で検証
再帰木での推定T(n)=O(n2)が漸化式
の上界であることを証明する
あるd > 0にたいして
を示す
で成立する