Étant donné l'équation récursive suivante
nous voulons appliquer le théorème maître et noter que
Maintenant, nous vérifions les deux premiers cas pour , c'est-à-dire si
- ou
- .
Les deux cas ne sont pas satisfaits. Nous devons donc vérifier le troisième cas, qui est de savoir si
- .
Je pense que la troisième condition n'est pas remplie non plus. Mais pourquoi? Et quelle serait une bonne explication pour expliquer pourquoi le théorème maître ne peut pas être appliqué dans ce cas?
Réponses:
Les trois cas du théorème maître auxquels vous faites référence sont prouvés dans l' introduction aux algorithmes par Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein (2e édition, 2001).
Il est correctement observé que la récurrence en question se situe entre le cas 2 et le cas 3. C'est-à-dire que croît plus vite que n mais plus lentement que n 1 + ε pour tout ε > 0 .f(n)=nlogn n n1+ε ε>0
Cependant, le théorème peut être généralisé pour couvrir cette récurrence. Considérer
Cas 2A: Considérons pour certains k ≥ 0 .f(n)=Θ(nlogbalogkbn) k≥0
Ce cas se réduit au cas 2 lorsque . Il est intuitivement clair que le long de chaque branche de l'arbre de récurrence f ( x ) est ajouté Θ ( log b n ) fois. Un croquis d'une preuve plus formelle peut être trouvé ci-dessous. Le résultat final est quek=0 f(x) Θ(logbn)
.
Dans l' introduction aux algorithmes, cette déclaration est laissée en exercice.
Applying this statement to the recurrence in question we finally get
More details on the Master Theorem can be found in the excellent (imho) Wikipedia page.
As @sdcvvc points in the comments to prove that Case 3 does not apply here one can invoke L'Hospital's rule that says that
Sketch of the Proof of the Master Theorem for Case 2A.
Il s'agit d'une reproduction de parties de la preuve d' Introduction aux algorithmes avec les modifications nécessaires .
Nous prouvons d'abord le lemme suivant.
Lemme A:
Proof: Substituting theh(n) into the expression for g(n) one can get
QED
Ifn is an exact power of b given a recurrence
Generalizing this to an arbitrary integern that is not a power of b is beyond the scope of this post.
la source
The Akra-Bazzi theorem is a strict generalization of the master theorem. As a bonus its proof is a blizzard of integrals that will make your head spin ;-)
In any case, Sedgewick in his "Introduction to the analysis of algorithms" argues convincingly that one should strive to proveT(n)∼g(n) type asymptotics.
la source