マスター定理は適用できませんか?


11

次の再帰方程式を考える

T(n)=2T(n2)+nlogn
マスター定理を適用して、

nlog2(2)=n.

次に、最初の2つのケースである\ varepsilon> 0をチェックしますε>0。つまり、

  • nlognO(n1ε)または
  • nlognΘ(n)

2つのケースは満足されていません。したがって、3番目のケースをチェックする必要があります。つまり、

  • nlognΩ(n1+ε)

3つ目の条件も満たされていないと思います。しかし、なぜ?そして、なぜこの場合にマスター定理が適用できないのかについての良い説明は何でしょうか?


7
wikiのケース2汎用フォームを参照してください。

4
場合、はではないため、ケース3は満たされません。制限にl'Hôpitalの規則を使用しますΩ N εε > 0 ログNlognΩ(nϵ)ϵ>0lognnϵ
sdcvvc

1
どちらのケースにも当てはまらないことを示したら、それは、述べられているようにマスター定理を適用できないことの証明です。
ラファエル

誰がマスター定理を必要としますか?再帰ツリーを使用します。
JeffE

回答:


7

あなたが参照するマスター定理の3つのケースは、トーマスH.コーメン、チャールズE.ライザソン、ロナルドL.リヴェスト、クリフォードスタイン(2001年第2版)によるアルゴリズム入門で証明されています。

問題の再発がケース2とケース3の間にあることが正しく観測されています。つまり、は、すべてのに対して、より速く、より遅くなり。、N 、N 1 + ε ε > 0f(n)=nlognnn1+εε>0

ただし、この定理はこの再発をカバーするように一般化できます。検討する

ケース2A:いくつかの についてを考え。f(n)=Θ(nlogbalogbkn)k0

場合、このケースはケース2に減少し。再帰ツリーの各ブランチに沿ってが回追加されていることは直感的に明らかです。より正式な証明のスケッチは以下にあります。最終結果はf x k=0f(x)Θ(logbn)

T(n)=Θ(nlogbalogbk+1n)

アルゴリズム概要では、このステートメントは練習問題として残しておきます。

このステートメントを問題の繰り返しに適用すると、最終的に

T(n)=Θ(nlog2n).

マスター定理の詳細については、優れた(imho)ウィキペディアのページをご覧ください

@sdcvvcがコメントで指摘し、ケース3がここでは適用されないことを証明しているので、と言うL'Hospitalのルールを呼び出すことができます の任意の機能のためのとの近傍で微分。これをおよびすると、

limxcf(x)g(x)=limxcf(x)g(x)
、G X C F N = N ログN G N = N 1 + εログN Θ N 1 + εf(x)g(x)cf(n)=nlogng(n)=n1+εlognΘ(n1+ε).

ケース2Aのマスター定理の証明のスケッチ。

これは、必要な修正を加えたアルゴリズム入門からの証明の一部の複製です。

まず、次の補題を証明します。

補題A:

関数考え ここで、次に、 h n = n log b a log k b n g n = n log b a log k + 1 b n

g(n)=j=0logbn1ajh(n/bj)
h(n)=nlogbalogbkn.g(n)=nlogbalogbk+1n.

証明: 代入ための発現にいずれかを取得することができ h(n)g(n)

g(n)=nlogbalogbknj=0logbn1(ablogba)j=nlogbalogbk+1n.

QED

もしの正確な電力である再発所定の 一つとしてそれを書き換えることができる 置換用いて、移動外および適用補題A我々が得ますnb

T(n)=aT(n/b)+f(n),T(1)=Θ(1)
T(n)=Θ(nlogba)+j=0logbn1ajT(n/bj).
f(n)Θ(nlogbalogbkn)Θ

T(n)=Θ(nlogbalogbk+1n).

これを累乗ではない任意の整数一般化することは、この投稿の範囲を超えています。bnb


1

アクラ・バッツィの定理は、マスター定理の厳密な一般化です。ボーナスとして、その証拠はあなたの頭を回転させる積分のブリザードです;-)

いずれにせよ、セジウィックは彼の「アルゴリズムの分析の紹介」で型の漸近性を証明するために努力すべきであると説得力をもって主張しています。T(n)g(n)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.