解決漸化式


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)=Ω(logk⁡n) kn または K √

(1+ak)logk⁡n=logk⁡n+logk⁡na≥logk⁡(2n),
限り保持し、[kは √1+akklog⁡n≥log⁡n+log⁡2、及び十分に大きなに特にN。[1+akk−1]log⁡n≥log⁡2n

の正しい成長順序は何ですか?試すために、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Θ(log⁡n)T(n)(log⁡n)Θ(log⁡log⁡n)。

logk⁡(2n)=(log⁡2+log⁡n)k

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