解決漸化式


8

アルゴリズムの時間の複雑さが入力のスケールで多対数であることを証明したいと思います。

このアルゴリズムの漸化式は、T(2n)T(n)+T(na)ここで、0 1 a(0,1)

と思わいくつかのためのに依存します。しかし、私はこの不平等を証明することはできません。この再発関係を解決するにはどうすればよいですか? β AT(n)logβnβa

nの上限の多重対数を取得したいだけです。


1
、私は仮定しますか?また、参照用の質問を確認しましたか?あなたが尋ねている特定のケースが明示的にカバーされているとは思いませんが、説明されているテクニックはたくさんあります。a<1
David Richerby 14

1
私が知っているこのタイプの「マスター」定理はありません。CF 私のこの質問、この1。(cc @DavidRicherby)
ラファエル

回答:


4

あなたの推測は間違っています。実際には、表示するのは難しいではないと仮定すると、すべてのためのn > 0、次いでT N = Ω ログk個の N 用のすべてのK。これは、保持するために実際に、私たちは十分な大きさのために必要なことのn我々が持っているでしょう 1 + Kログのkのn = ログのkのn + ログのk のnログをT(n)>0n>0T(n)=Ω(logkn) kn または K

(1+ak)logkn=logkn+logknalogk(2n),
限り保持し、[kは1+akklognlogn+log2、及び十分に大きなに特にN[1+akk1]lognlog2n

の正しい成長順序は何ですか?試すために、S n = T 2 nと書きます。これで、繰り返しは S n + 1 = S n + S a n )になります。 大型の場合nは、我々は期待S N + 1 - S nは非常に近くにあることをST(n)S(n)=T(2n)

S(n+1)=S(n)+S(an).
nS(n+1)S(n)なので、ヒューリスティックな方法では、 S S n = S a n )を満たすことが期待されます。この方程式は解くことが少し難しいと思われるが、近似解である S N = N Θ ログN 。代入すると、 T n )の成長の順序はlog n Θ log log n )のようになるはずです。S(n)SS(n)=S(an)S(n)=nΘ(logn)T(n)(logn)Θ(loglogn)

logk(2n)=(log2+logn)k

@QiangLiエラーを見つけてくれてありがとう。ただし、引数が適切に変更されると、下限は保持されます。
Yuval Filmus 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.