La función inversa de Ackermann ocurre a menudo al analizar algoritmos. Una excelente presentación está aquí: http://www.gabrielnivasch.org/fun/inverse-ackermann . y [Notación: [x] significa que redondeamos x al entero más cercano, mientras que log ∗ es la función de registro iterada discutida aquí: http://en.wikipedia.org/wiki/Iterated_logarithm ]
Mi pregunta es: ¿Cuál es la función
Claramente . ¿Qué límites más estrechos se pueden dar en ? ¿Es ?
ds.algorithms
ds.data-structures
bounds
Dana Moshkovitz
fuente
fuente
Respuestas:
Deje ser el inverso de . . que .α k A 1 ( x ) = 2 x , A 2 ( x ) = 2 x , … k - 1 ( x ) = A x ( x )Ak αk A1(x)=2x,A2(x)=2x,… k−1(x)=Ax(x)
Dado que , y desde , . Como resultado .∀ z , α y ( z ) > α x ( z ) α yx=αx(Ax(x)) ∀z,αy(z)>αx(z) k ( A x ( x ) ) = xαy(Ax(x))>αx(Ax(x))=x k(Ax(x))=x
Ahora considere el valor de . Por definición de , esto es . Sabemos que , entonces . Afirmo que . . Ahora , entonces . Como , , entonces . Por lo tanto,α min z { α z ( A n ( n ) ) ≤ 3 } α n ( A n ( n ) ) = n α ( A n ( n ) ) > n α ( A n ( nα(k−1(n))=α(An(n)) α minz{αz(An(n))≤3} αn(An(n))=n α(An(n))>n α n + 1 ( A n ( n ) ) = 1 + α n + 1 ( n ) αα(An(n))≤n+2 αn+1(An(n))=1+αn+1(n) α α ( n ) ( n ) ≤ 3 n + 1 > α ( n )α n + 1 ( n ) ≤ 3 α n + 1 ( A n ( n ) ) ≤ 4 α n + 2 ( A n ( 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 .
Entonces, tenemos , entonces y son esencialmente iguales.k αn<α(k−1(n))≤n+2 k α
fuente
Esto es incorrecto; ver los comentarios
Una función muy cercana a esta se llamaba " " y se usaba en "Splay Trees, Davenport-Schinzel Sequences y Deque Conjecture" de Pettie , en la que mostró que " deque operaciones [en un árbol de splay] toman solo , donde es el número mínimo de aplicaciones de la función inversa de Ackermann que asigna a una constante ". n O ( n α ∗ ( n ) ) α ∗ ( n ) nα∗ n O(nα∗(n)) α∗(n) n Esta función es de crecimiento muy lento y de crecimiento más lento que . Considere la funciónf : N → Nlogα(n) f:N→N
Esta función tiene un crecimiento aproximadamente tan rápido como , por lo que crece más lentamente que . Ahora evaluaré y en :A ' ( n ) = A ( nA(4,n) A′(n)=A(n,n) logα(n) α∗(n) A′(f(n))
Dado que , crece mucho más rápido que .log α ( n ) α ∗ ( n )f(n−1)∈ω(2+α∗(n)) logα(n) α∗(n) fuente