La fonction inverse d'Ackermann se produit souvent lors de l'analyse des algorithmes. Une excellente présentation en est ici: http://www.gabrielnivasch.org/fun/inverse-ackermann . et [Notation: [x] signifie que nous arrondissons x à l'entier le plus proche, tandis que log ∗ est la fonction de journal itéré discutée ici: http://en.wikipedia.org/wiki/Iterated_logarithm ]
Ma question est: Quelle est la fonction
Clairement . Quelles limites plus strictes peut-on donner à ? Est-ce que ?
ds.algorithms
ds.data-structures
bounds
Dana Moshkovitz
la source
la source
Réponses:
Soit l'inverse de . . Je prétends que .Ak αk A1(x)=2x,A2(x)=2x,… k−1(x)=Ax(x)
Puisque , et depuis , . Par conséquent, .x=αx(Ax(x)) ∀z,αy(z)>αx(z) αy(Ax(x))>αx(Ax(x))=x k(Ax(x))=x
Considérons maintenant la valeur de . Par définition de , il s'agit de . Nous savons que , donc . Je prétends que . . Maintenant , donc . Puisque , , donc . Ainsi,α(k−1(n))=α(An(n)) α minz{αz(An(n))≤3} αn(An(n))=n α(An(n))>n α(An(n))≤n+2 αn+1(An(n))=1+αn+1(n) α(n)=minz{αz(n)≤3} αα(n)(n)≤3 n+1>α(n) αn+1(n)≤3 αn+1(An(n))≤4 αn+2(An(n))=1+αn+2(αn+1(n))≤1+αn+2(4)≤3 .
Donc, nous avons , donc et sont essentiellement égaux.n<α(k−1(n))≤n+2 k α
la source
Ceci est une erreur; voir les commentaires.
Une fonction très proche de celle-ci était appelée " " et utilisée dans "Splay Trees, Davenport-Schinzel Sequences, and the Deque Conjecture" de Pettie , dans laquelle il montrait que " deque operations [in a splay tree] prend uniquement le temps , où est le nombre minimal d'applications de la fonction Ackermann inverse mappant à une constante. "α∗ n O(nα∗(n)) α∗(n) n Cette fonction a une croissance très lente et une croissance plus lente que . Considérez la fonctionlogα(n) f:N→N
Cette fonction croît à peu près aussi rapidement que , et croît donc plus lentement que . Je vais maintenant évaluer et sur :A(4,n) A′(n)=A(n,n) logα(n) α∗(n) A′(f(n))
Puisque , croît beaucoup plus rapidement que .f(n−1)∈ω(2+α∗(n)) logα(n) α∗(n) la source