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)=[log2⁡n]
α3(n)=log∗⁡n
...
αk(n)=1+αk(αk−1(n))
α(n)=min{k:αk(n)≤3}

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

k(n)=min{k:αk(n)≤k}
Claramente 1≪k(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)<n≤Ak+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,…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))=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α(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)≤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<α(k−1(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 : N → Nlog⁡α(n)f:N→N

f(n)={1 n = 02f(n−1) 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)))=log⁡f(n)=f(n−1)

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

Dado que , crece mucho más rápido que .log α ( n ) α ∗ ( n )f(n−1)∈ω(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.