マスター定理を使用する場合の仮定


20

マスター定理は、特定の種類の再発解決するための美しいツールです。しかし、私たちはそれを適用するとき、しばしば不可欠な部分に光沢をつけます。たとえば、Mergesortの分析中は、

T(n)=T(n2)+T(n2)+f(n)

Tn=2Tn2+fn

のみを考慮します。Tは「うまく」動作するので、このステップが有効であること、つまりことを保証します。一般に、bを共通分母としてn = b kと仮定します。n=2kTΘTTn=bkb

悪質なを使用すると、この単純化を許可しない繰り返しを簡単に作成できfます。たとえば、上記のTの繰り返しT/T

fn={1n=2kn他に

マスター定理を通常の方法で使用してを生成しΘnますが、明らかにように成長するサブシーケンスがありますΘnログn。より工夫された別の例については、こちらをご覧ください。

どうすればこの「きちんと」厳密にすることができますか?単調性で十分であると確信していますが、単純なマージソートの繰り返しでさえ単調ではありません。周期的な要素があります(漸近的に支配されます)。を調査するだけで十分ですか?また、マスター定理が機能することを保証するfのf必要十分条件は何ですか?f


同じ結果に対する別の考え方は、Akra-Bazziの定理「線形回帰方程式の解法」、計算の最適化と応用、10(2)、195-210(1998)、またはDrmotaとSzpankowskiの「離散除算のマスター定理」です。 and Concurrences」、SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >。
フォンブランド

2
ここに、ペイウォールの背後にない上記の論文へのリンクがあります。
Paresh

1
IIRCこれはCLRS第4章で説明されています。
Kaveh

@Kavehポインタをありがとう。ほとんどの場合、彼らはそれを「許容できるずさんな」と呼んでいます。彼らはあなたが仮説を導き出すだけで、後で帰納法によって正しいことが証明されると仮定しているので、これは彼らの文脈では問題ありません。彼らは危険について言及している(4.6)。4.6.2では、それらは証明を提供しますが、それは高レベルであり、どのような制限を設ける必要があるかを明示的に述べていません。だから、それは「数学が通過するようなT」のようなもののようで、私主にfが「素敵な」Θクラスを持つことを必要とすると思うTTfΘ
ラファエル

一般的な場合、同様のサイズを持っていない場合、マスター定理の一般化であるAkra–Bazziメソッドを使用できます。特定の関数をこの定理で機能するものに変更するには、ちょっとしたトリックが必要です。これは通常、時間の複雑さを証明するために人々が使用しているものです。

回答:


10

この答えを通して、Tは負でないと仮定します。証明は、単調なgに対してf = Θ g )のときはいつでも機能します。これには、f = Θ n であるMergesortの例と、多項式成長率(またはΘ n a log b n )でさえある関数)が含まれます。fTf=Θggf=ΘnΘnaログbn

最初に、が単調な非減少である場合を考えてみましょう(この仮定は後で緩和します)。私たちはあなたのサンプル再発に集中 T N = T N / 2 + T N / 2 + F N この繰り返しには、T 0 T 1 )の 2つの基本ケースが必要です。私たちは、その仮定を作るT 0 f

Tn=Tn/2+Tn/2+fn
T0T1私たちも後にリラックスし、。T0T1

は単調な非減少であると主張します。我々はそれを完全な誘導によって証明T N + 1 T N 。これがために与えられ、N = 0、そうしましょうN 1。我々は持っている T N + 1 TnTn+1Tnn=0n1 これはことを意味 T2ログ2 NTNT2ログ2 Nを その場合はT2

T(n+1)=T((n+1)/2)+T((n+1)/2)+f(n+1)T(n/2)+T(n/2)+f(n)=T(n).
T(2log2n)T(n)T(2log2n).
、完了です。2のべき乗の解の形式が T n = Θ n a log b n )の場合、これは常に当てはまりますT(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

それでは、という仮定をリラックスさせてT '0 = T '1 = min T 0 T 1 のみとまったく同じ方法で定義された新しい再発T 'を考えます。私たちは、その誘導によって証明することができますT "N T N T(0)T(1)TT(0)=T(1)=min(T(0),T(1))T(n)T(n)。同様に、我々は、新しい再発定義することができるを満足Tの"0 = T "1 = 最大値T 0 T 1 、その後、T N T "nは。マスター定理を呼び出すと、T = Θ h およびT = Θ TT(0)=T(1)=max(T(0),T(1))T(n)T(n)T=Θ(h)のために同じ関数 Hなど T = Θ H も同様。T=Θ(h)hT=Θ(h)

ここで、が単調であるという仮定を緩和しましょう。ある単調関数gについてf = Θ g と仮定します。したがって、C G N F N C G N いくつかのために、C C > 0およびnは十分な大きさ。簡単にするために、n = 0と仮定します。一般的なケースは、前の段落のように処理できます。ここでも、2つの繰り返しT を定義しますff=Θ(g)gcg(n)f(n)Cg(n)cC>0nn=0(それぞれ f) c g C gに置き換えます。もう一度、マスター定理は同じ結果(定数倍まで)を与えます。これは、2のべき乗のみで元の再帰を解くことによって得られるものと同じ(定数倍まで)です。TTfcgCg


1
T2mΘT2m+1T

cgfCgc<1

f=Θnαgf=Θnαログβngfgf=Θg
ユヴァルフィルマス

gfn2ngcgCg

まだ技術的だと思います。あなたが心配している状態は技術的な状態です。実際に表示されるほとんどの機能では、条件が保持されます。上記の証明スケッチが通過する最も一般的な条件を求めています。それは私が答えるのが面倒だという興味深い質問です。
ユヴァルフィルマス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.