以上の整数 に対して とする。ある分割統治アルゴリズムの計算時間 が、次の漸化式で与えられている。
マスター定理を用いて となる を求めよ。ただし、答えは の中身の式(例: )を、定数倍を除いた最も簡単な形で答えよ。対数は自然対数 を用いて表すこと。
マスター定理
の形の漸化式について、 と を比べて場合を判定し、 の中身の式(例: , )を答えられる
前提
- 分割統治の漸化式の厳密な解 (大学数学 アルゴリズムと計算量)
- 計算量のオーダーの比較 (大学数学 アルゴリズムと計算量)
この技能までの道筋(29 技能)
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
一覧で見る(前提が先)
- 小数の四則計算 (算数 計算と数のきまり)
- 分数のたし算・ひき算 (算数 計算と数のきまり)
- 分数のかけ算・わり算 (算数 計算と数のきまり)
- 小数と分数のまじった計算 (算数 計算と数のきまり)
- 逆算(□ を求める) (算数 計算と数のきまり)
- 正負の数の加法・減法 (中学数学 数と式)
- 四則の混じった計算の順序 (算数 計算と数のきまり)
- 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
- 分配法則を使った計算のくふう (算数 計算と数のきまり)
- 文字式の計算(同類項・分配法則) (中学数学 数と式)
- 1 次方程式の解き方 (中学数学 方程式)
- 連立方程式の解き方(加減法・代入法) (中学数学 方程式)
- 等差数列・等比数列の一般項 (数学B 数列)
- 型の漸化式 (数学B 数列)
- 等間隔にならんだ数の和 (算数 計算と数のきまり)
- 等差・等比数列の和と Σ (数学B 数列)
- 階差数列と階差型の漸化式 (数学B 数列)
- (等差)×(等比)の数列の和 (数学B 数列)
- 置き換えによる漸化式の解法 (数学B 数列)
- 分割統治の漸化式の厳密な解 (大学数学 アルゴリズムと計算量)
- 数列の極限 (数学III 極限)
- 関数の極限 (数学III 極限)
- 約数の見つけ方 (算数 整数の性質)
- 素因数分解と約数の個数 (算数 整数の性質)
- 平方根の意味と根号の簡単化 (中学数学 数と式)
- 根号の乗除と加減 (中学数学 数と式)
- 指数の拡張と指数関数 (数学II 指数関数と対数関数)
- 対数の定義と性質 (数学II 指数関数と対数関数)
- 計算量のオーダーの比較 (大学数学 アルゴリズムと計算量)
説明
マスター定理を使うと、問題を 個の大きさ の部分問題に分け、分割と統合に の手間がかかる分割統治の漸化式 について、増え方 を解かずに答えられます。やることは、 と「臨界関数」 を比べ、3 つの場合のどれに当たるかを判定するだけです。マージソート、カラツバ法、ストラッセン法などの計算量を見積もるときに使います。
なぜそうしてよいのか
記号を確認します。正の定数 と があって、 で が成り立つとき と書きます。上からの不等式 だけが成り立つときは 、下からの不等式 だけが成り立つときは と書きます。 は定数倍の違いを無視するので、 と は の中では同じです。
とおき、漸化式をくり返し代入します(前提の技能と同じ置き換えです)。すると となります。第 段には大きさ の部分問題が 個あり、その段の手間は です。最下段の部分問題の個数は です( だからです)。これが臨界関数 の正体です。
の場合で確かめます。 とおくと、第 段の手間は で、和は公比 の等比数列になります。 なら なので、和は 以上 以下に収まり、最上段が支配して です(最下段の は より小さいので影響しません)。 なら なので、どの段も手間が で、段数が 個あるので です。 なら なので、和は です。 なので和は の定数倍で、最下段が支配して です。一般の でも同じで、 と のどちらが「多項式の差( 倍)で」大きいかによって、支配する段が決まります。
手順
形を確認し、 を読み取る: と は定数で、 は十分大きい で正であること。
臨界指数 を計算し、臨界関数 を求める。
が より多項式的に小さい(ある で )なら、場合 1 として と答える。
なら、場合 2 として と答える。
が多項式的に大きい(ある で )なら、正則条件を確かめる。正則条件とは、ある定数 について十分大きい で が成り立つことである。成り立てば、場合 3 として と答える。
3 つのどれにも当てはまらない場合(例:)は、基本形のマスター定理は使えない。 とおいて直接計算する。
例題
は 2 の累乗とし、、()とする。 となる を、 の中身の最も簡単な形の式で求めよ。
例題の解答
手順 1:、、 なので、マスター定理の形をしている。
手順 2: である。 より ()。臨界関数は である。
手順 3: とおくと なので、 が成り立つ。よって は臨界関数より多項式的に小さく、場合 1 に当たる。
結論:。
(確認:第 段の手間は で、公比 の等比数列になる。したがって最下段の が支配する。)
答え:
よくある誤り
臨界指数を や にしてしまう誤り。 の臨界関数を としてはいけない。正しくは なので、場合 1 となり である。
場合 2 で を付け忘れる誤り。 では なので、答えは ではない。正しくは である。
場合 3 なのに臨界関数を答えてしまう誤り。 では である。正則条件も で として成り立つ。よって答えは ではなく、正しくは である。
「大きい」だけで場合 3 を当てはめてしまう誤り。 では、 は より大きいが、どんな に対しても なので、多項式的には大きくない。したがって とは言えない。正しくは とおいて の階差型の漸化式を解き、 を得る。
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
入口の問題
ある分割統治アルゴリズムは、大きさ の問題を大きさ の部分問題 個に分け、分割と統合に の時間をかける。 以上の整数 を用いて と表される に対して、計算時間 は次の漸化式で与えられる。 となる関数 を求め、 の中身の式 を の式で答えよ。ただし、 は係数を とした最も簡単な形で答え、対数が現れる場合は自然対数 を用いて書くこと。
ある分割統治アルゴリズムは、サイズ の問題をサイズ の部分問題 個に分けて再帰的に解き、分割と結果の統合に の時間をかける。その計算時間 は、( は 以上の整数)のとき次の漸化式で与えられる。
マスター定理を用いて となる を求めよ。ただし は の中身の式として、係数 の単項式(例: , )で答えること。