Résoudre les récidives de division et de conquête si le fractionnement dépend de

20

Existe-t-il une méthode générale pour résoudre la récurrence du formulaire:

T(n)=T(nnc)+T(nc)+f(n)

pour c<1 , ou plus généralement

T(n)=T(ng(n))+T(r(n))+f(n)

g(n),r(n) sont des fonctions sub-linéaires de n .

Mise à jour : J'ai parcouru les liens fournis ci-dessous et j'ai également passé en revue toutes les relations de récurrence dans les notes de Jeff Erickson . Cette forme de récurrence n'est discutée nulle part. La méthode Akkra-Bazi s'applique uniquement lorsque la scission est fractionnée. Toute référence poignante sera appréciée.

Plummer
la source
2
Essayez de générer des fonctions.
saadtaame du
1
La méthode Akra-Bazzi s'applique-t-elle? Il ne donne que des estimations O() , mais cela pourrait suffire.
vonbrand
4
Étant donné que vous n'avez pas essayé de résoudre votre problème par vous-même, nous avons peu de travail avec. Permettez-moi de vous orienter vers nos questions de référence qui couvrent en détail des problèmes similaires aux vôtres. Veuillez résoudre les questions connexes répertoriées ici, essayez de résoudre à nouveau votre problème et modifiez-le pour inclure vos tentatives ainsi que les problèmes spécifiques que vous avez rencontrés.
Raphael
1
Consultez les documents de Tom Leighton sur "Notes sur de meilleurs théorèmes maîtres pour les récidives de diviser pour mieux régner", ils sont disponibles sur le net. Vous pouvez peut-être y adapter la preuve d'Akra-Bazzi à votre cas.
vonbrand
1
@EngrStudent Des fonctions de génération ont été proposées dans le tout premier commentaire. :)
Raphael

Réponses:

6

Supposons que vous ayez une récurrence , elle s'étend sur des réels positifs.

T(n)={T(nnc)+T(nc)+f(n)n > 21otherwise

Que pouvons-nous faire avec cette fonction? Eh bien, pas grand-chose à moins que nous ne lui superposions certaines structures. Je viens d'un milieu d'analyse numérique, qui est pavé de recettes numériques qui fonctionnent d'une manière ou d'une autre même lorsque le problème sous-jacent n'est pas assez fluide (peu importe, jetons toujours la méthode de Newton à ses différences divisées) ou trop compliqué à analyser (trier comme ce problème). Ma réaction intestinale face à ces problèmes est de faire une supposition ondulée à la main, de croiser les doigts et d'espérer pour le mieux. Dans ce cas, il semble donner des limites relativement bonnes.

En particulier, je veux faire deux hypothèses principales. L'une de ces hypothèses est plus ou moins sans fondement, mais nous n'irons pas très loin sans elle. L'autre a une intuition visuelle assez agréable que vous pouvez espérer, mais elle est toujours plus ondulée que toute autre chose.

  1. Je suppose que est "smooth-ish". Il est assez facile de voir que T ( n ) n'est pas partout différentiable. En fait, ce n'est même pas continu, car pour f ( n ) = log ( n ) et c = 1T(n)T(n)f(n)=log(n)c=12lim n 2 + T ( n ) = 2 + ln 2 n limn2T(n)=1limn2+T(n)=2+ln2 nn-nn T(n)n2nnT(n)nnnT(n)n2quelque part dans sa trajectoire. C'est beaucoup de discontinuités, cela pourrait même donner à la fonction de Dirichlet une course pour son argent. Si nous arrivons au point où nous comparons les comportements d'une fonction à celui de l'exemple prototypique d'une fonction nulle part continue, n'est-il pas risible d'essayer de prétendre qu'elle est "lisse"? Eh bien, il s'avère qu'en pratique, les effets de ces discontinuités diminuent asymptotiquement, au point que votre graphe semble presque lisse quand tend vers l'infini! Par conséquent, je propose que nous posions nos fourches et que nous regardions dans l'autre sens dans cette circonstance. En particulier, je supposerai qu'en tout point d'intérêt suffisamment éloigné de l'origine,nnT(n)est différenciable, ou du moins approximativement différenciable autour d'un quartier.
  2. Je supposerai également une position de douceur encore plus forte lorsque est suffisamment éloigné. Supposons que est une fonction sublinéaire telle que (par exemple ), alors la dérivée fait ne varie pas de manière significative lorsque est suffisamment lent. Intuitivement, lorsque devient plus grand, la taille relative du voisinage diminue (car sa taille est juste , qui croît beaucoup plus lentement que ). Finalement, la taille de ce quartier devient si insignifiante (par rapport àα ( n ) n > α ( n ) n c T ( ξ ( n - α ( n ) , n ) α ( n ) n ( n - α ( n ) , n ) α ( n ) n n T ( n )nα(n)n>α(n)ncT(ξ(nα(n),n)α(n)n(nα(n),n)α(n)nn) que le taux de variation de au sein de ce quartier ne change plus de façon spectaculaire.T(n)

Maintenant, ces deux propriétés sont supposées, et je n'ai aucune idée de comment procéder pour prouver réellement l'une ou l'autre de manière rigoureuse. Mais comme je l'ai déjà dit, croisons les doigts et espérons le meilleur.

Commençons par la relation de récurrence: Maintenant, je suppose que est suffisamment lisse sur l'intervalle entre et . Faire appel à l'un de nos outils analytiques classiques, le théorème de la valeur moyenne, nous donne De plus, lorsque est suffisamment grand, nous supposons que est approximativement le même tout au long de cet intervalle, et prend donc la valeur de n'importe laquelle des différences finies dans cet intervalle également. Cela signifie alors que Tn-ncnT(n)-T(n- n c )

T(n)=T(nnc)+T(nc)+f(n)T(n)T(nnc)=T(nc)+f(n)ncT(n)T(nnc)nc=T(nc)+f(n)
TnncnnT(ξ)T(ξ)T(n)-T(n-ϵ)
T(n)T(nnc)nc=T(ξ(nnc,n)).
nT(ξ)ϵ=1 n c ( T ( n ) - T ( n - 1 ) )
T(ξ)T(n)T(nϵ)ϵ    ϵ<nc
En particulier, prenez pour en obtenir un -approximation de différence divisée en étapes Nous pouvons télescoper ceci pour obtenir ϵ=1 T(n)nkT(kc)
nc(T(n)T(n1))T(nc)+f(n)T(n)T(n1)T(nc)+f(n)nc
T(n)knT(kc)kc+knf(k)kc

La perturbation de révèle que a deux phases asymptotiques, selon la nature asymptotique de .T(n)T(n)f(z)

Lorsque ( est plus rapide que ), alors la bonne somme domine, et nous avons qui peut souvent être approximée avec l'intégrale .f(n)=o(nc)fncT(n)=Θ(knf(k)kc)nf(x)xcdx

Lorsque , alors la somme de gauche domine la droite. Ici, nous devons analyser la somme où .f(n)=ω(nc)

(knT(kc)kc)+Fc(n)
Fc(n)=nf(x)xcdx

Grâce à l'argument de lissage, nous pouvons à nouveau considérer cela comme une somme de Riemann ancrée à gauche, approximant l'intégrale . L'application d'un théorème de valeur moyenne similaire sur l'intégrale donne Nous pouvons simplement aller de l'avant et l'approcher par , ce qui donne l'approximation pour une constante qui délimite la série.nT(xc)xcdx

kT(kc)kcnf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)nc
T(n)nMT(nc)nc+Fc(n)
M

Supposons maintenant que nous ayons la séquence itérée où , alors nous pouvons utiliser cette séquence pour télescoper l'inégalité ci-dessus pour obtenir: Encore une fois, nous pouvons lier le terme par une constante pour trouver que où . Simplifiant un peu et fusionnant certains des termes ensemble (en particulier, nous savons que(n,nc,nc2,nc3,,nck)nck<2

(*)T(n)n(ik1MinciFc(nci)+Mknck)
Fc(nci)
T(n)=O(Fc(n)+nFc(nc)(Mnc+M2nc2++Mknck))
k=logc(log(2)log(n))Mncnckest une constante), on obtient
T(n)=O(nkFc(n)Mk)

Cependant, cette limite est relativement lâche, et vous devriez vous référer à chaque fois que possible.(*)

Sachez que cela n'est en aucun cas rigoureux. Je n'ai fourni aucun soutien que cela devrait fonctionner au-delà de quelques approximations maladroites. Néanmoins, si vous avez juste besoin d'une supposition asymptotique rapide pour une analyse informelle, vous pouvez réellement voir que ce schéma fonctionne bien (pour des valeurs suffisamment grandes de , généralement suffisantes) dans la pratique.nn>10

Quoi qu'il en soit, pour tous les choix de et que j'ai essayés, le calcul suivant où semble donner de bonnes approximations . Cette technique se généralise également aux récurrences de la forme qui peut être approximée avec oùcf

T^(n)=nklogclogn2MknckF(nck)F(n)=knf(k)kc
MkT(kc)kcnT(nc)nc
T(n)=T(nα(n))+T(β(n))+f(n)
αk(n)=α(k(α(n)))#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
T^(n)=nk#β(n)Mkαk(n)F(βk(n))F(n)=knf(k)α(k)
αk(n)=α(k(α(n)))et indique le nombre d'éléments de la séquence tel que le dernier terme soit compris entre et .#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
Lee
la source