Diversión con Ackermann inverso


11

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 ]

α1(n)=[n/2]
α2(n)=[log2n]
α3(n)=logn
...
αk(n)=1+αk(αk1(n))
α(n)=min{k:αk(n)3}

Mi pregunta es: ¿Cuál es la función

k(n)=min{k:αk(n)k}
Claramente 1k(n)α(n) . ¿Qué límites más estrechos se pueden dar en k(n) ? ¿Es k(n)logα(n) ?

Sé por qué k(n)α(n) , pero ¿podría explicar por qué k(n)α(n) ?
jbapple

Ok, editado en el no controvertido k(n)<α(n) .
Dana Moshkovitz

3
@DanaMoshkovitz: Aproximé las definiciones usando la jerarquía de Ackermann con la que estoy familiarizado: y . Con una definición típica de las funciones de Ackermann, . Por lo tanto, si entonces , es decir, . (Espero no haber cometido un error allí)k ( n ) = min { k : A k ( ) nα(n)=min{k:Ak(1)n}A k + 1 ( 1 ) = A k ( A k ( 1 ) ) A k ( k ) A k ( kk(n)=min{k:Ak(k)n}Ak+1(1)=Ak(Ak(1))Ak(k)Ak(k)nk ( n ) α ( n ) - 1Ak+1(1)nk(n)α(n)1
Sylvain

1
@DanaMoshkovitz: para aclarar, estoy usando y , que crece un poco más rápido que su definición, por ejemplo, lugar de . No debe tener más de una consecuencia de que: y son más o menos lo mismo. A k + 1 ( n ) = A n + 1 k ( 1 ) A 2 ( n )A1(n)=2nAk+1(n)=Akn+1(1) 2 n α ( n ) k ( n )A2(n)=2n+12nα(n)k(n)
Sylvain

1
@DanaMoshkovitz: No veo por qué . Para infinitos valores de , tendrá , es decir, siempre que ; debido a que crece rápido, tiene secuencias cada vez más largas. Con sus definiciones, incluso es posible tener : tanto, pero . n α ( n ) = k ( n ) A k ( k ) < n A k +k(n)<α(n)nα(n)=k(n) A k + 1 (1)- A k (k)α(n)Ak(k)<nAk+1(1)<Ak+1(k+1)Ak+1(1)Ak(k)α 2 ( 8 ) = 3 > 2 α ( 8 ) = 2 k ( 8 ) = 3α(n)<k(n)α2(8)=3>2α(8)=2k(8)=3
Sylvain

Respuestas:


12

Deje ser el inverso de . . que .α k A 1 ( x ) = 2 x , A 2 ( x ) = 2 x , k - 1 ( x ) = A x ( x )AkαkA1(x)=2x,A2(x)=2x,k1(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))=xk(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α(k1(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)3n+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<α(k1(n))n+2kα


99
Y permítanme agregar que todas estas funciones son formas diferentes y complicadas de escribir el número 4.
Sariel Har-Peled

0

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αnO(nα(n))α(n)n

Esta función es de crecimiento muy lento y de crecimiento más lento que . Considere la funciónf : NNlogα(n)f:NN

f(n)={1 n = 02f(n1) n > 0

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))

logα(A(f(n)))=logf(n)=f(n1)

α(A(f(n)))=1+α(f(n))<1+α(A(n))<2+α(n)

Dado que , crece mucho más rápido que .log α ( n ) α ( n )f(n1)ω(2+α(n))logα(n)α(n)


¿Cuál es la relación entre alfa ^ * yk (n)? (tenga en cuenta que en la definición de k (n) utilizo la notación alpha_k (n) definida en el enlace que tenía en la pregunta)
Dana Moshkovitz

¡Oh, lo siento, leí tu como ! α kαkαk
jbapple
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.