J'ai lu Introduction aux algorithmes de Cormen et al. et je lis l'énoncé du théorème maître à partir de la page 73 . Dans le cas 3, il existe également une condition de régularité qui doit être satisfaite pour utiliser le théorème:
... 3. Si
pour une constante et si
[c'est la condition de régularité]
pour une constante et pour tout n suffisamment grand , alors ..
Quelqu'un peut-il me dire pourquoi la condition de régularité est nécessaire? Comment le théorème échoue-t-il si la condition n'est pas satisfaite?
Réponses:
Pas une preuve rigoureuse, mais une explication "du haut de ma tête".
Imaginez la récurrence comme un arbre. Le troisième cas couvre le scénario où le nœud racine domine le temps d'exécution de manière asymptotique, c'est-à-dire que la plupart du travail est effectué dans un nœud maigre au sommet de l'arbre de récurrence. Le temps de course est alors Θ ( f ( n ) ) .un T( n / b ) + f( n ) Θ ( f( n ) )
Pour vous assurer que la racine fait plus de travail, vous avez besoin du
Cela signifie que (la quantité de travail effectuée à la racine) doit être au moins aussi grande que la somme du travail effectué aux niveaux inférieurs. (La récurrence est appelée une fois sur n / b de l'entrée.)F( n ) une n / b
Par exemple, pour la récurrence le travail au niveau en dessous de la racine est un quart aussi grand et n'est effectué que deux fois ( n / 4 + n / 4 ) contre n de sorte que la racine domine .T( n ) = 2 T( n / 4 ) + n ( n / 4 + n / 4 ) n
Mais que se passe-t-il si la fonction ne remplit pas la condition de régularité? Par exemple, au lieu de n ? Ensuite, le travail effectué aux niveaux inférieurs peut être plus important que le travail effectué à la racine, vous n'êtes donc pas certain que la racine domine.cos( n ) n
la source
Soit et b = 2 , de sorte que T ( 2 n ) = n ∑ k = 0 f ( 2 k ) . Pour que le cas 3 s'applique, nous avons besoin de f ( n ) = Ω ( n ϵ ) (pour certains ϵ > 0 ) et de la condition de régularité, f ( n / 2 ) ≤ ( 1 - δ ) fa = 1 b = 2
Il existe un théorème plus général, Akra-Bazzi, dans lequel la condition de régularité est remplacée par une quantité explicite qui entre dans le résultat.
la source