Zabawa z odwrotnym Ackermannem


11

Odwrotna funkcja Ackermanna występuje często podczas analizy algorytmów. Świetna prezentacja tego jest tutaj: http://www.gabrielnivasch.org/fun/inverse-ackermann . i [Notacja: [x] oznacza, że ​​zaokrąglamy w górę x do najbliższej liczby całkowitej, podczas gdy log ∗ omówiono tutaj iterowaną funkcję dziennika: 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}

Moje pytanie brzmi: jaka jest funkcja Oczywiście 1 \ ll k (n) \ leq \ alpha (n) . Jakie ściślejsze granice można wyznaczyć dla k (n) ? Czy k (n) \ leq \ log \ alpha (n) ?1 k ( n ) α ( n ) k ( n ) k ( n ) log α ( n )

k(n)=min{k:αk(n)k}
1k(n)α(n)k(n)k(n)logα(n)

Wiem, dlaczego , ale czy możesz wyjaśnić, dlaczego ? k(n)α(n)k(n)α(n)
jbapple

Ok, edytowane do niekontrowersyjnej . k(n)<α(n)
Dana Moshkovitz

3
@DanaMoshkovitz: Przybliżyłem definicje za pomocą hierarchii Ackermanna, którą znam: i . Przy typowej definicji funkcji Ackermanna . Dlatego jeśli to , tj. . (Mam nadzieję, że się tam nie pomyliłem)k ( n ) = min { k : A k ( k ) n } A k + 1 ( 1 ) = A k ( A k ( 1 ) ) A k ( k ) A k ( kα(n)=min{k:Ak(1)n}k(n)=min{k:Ak(k)n}Ak+1(1)=Ak(Ak(1))Ak(k)A k + 1 ( 1 ) n k ( n ) Ak(k)nAk+1(1)nk(n)α(n)1
Sylvain

1
@DanaMoshkovitz: aby to wyjaśnić, używam i , który rośnie nieco szybciej niż twoja definicja, np. zamiast . To nie powinno mieć wiele konsekwencji mimo: i są niemal tak samo. A k + 1 ( n ) = A n + 1 k ( 1 ) A 2 ( n ) = 2 n + 1 2 n α ( n )A1(n)=2nAk+1(n)=Akn+1(1)A2(n)=2n+12nα(n)k(n)
Sylvain

1
@DanaMoshkovitz: Nie rozumiem, dlaczego . Dla nieskończenie wielu wartości będziesz miał , tj. Ilekroć ; ponieważ rośnie szybko, masz coraz dłuższe takie sekwencje. W twoich definicjach można nawet mieć : stąd ale . n α ( n ) = k ( n ) A k ( k ) < n A k + 1 ( 1 ) < A k + 1 ( k + 1 ) < k ( n ) α 2 ( 8 ) = 3 > 2 α ( 8k(n)<α(n)nα(n)=k(n)Ak(k)<nAk+1(1)<Ak+1(k+1)α ( n )Ak+1(1)Ak(k)α(n)<k(n)α2(8)=3>2k ( 8 ) = 3α(8)=2k(8)=3
Sylvain

Odpowiedzi:


12

Niech Ak będzie odwrotnością . . Twierdzę, że .A 1 ( x ) = 2 x , A 2 ( x ) = 2 x , k - 1 ( x ) = A x ( x )αkA1(x)=2x,A2(x)=2x,k1(x)=Ax(x)

Ponieważ , a ponieważ , . W rezultaciez , α y ( z ) > α x ( z ) α y ( A x ( x ) ) > α x ( A x ( x ) ) = xx=αx(Ax(x))z,αy(z)>αx(z)αy(Ax(x))>αx(Ax(x))=x .k(Ax(x))=x

Rozważmy teraz wartość . Z definicji α jest to min z { α z ( A n ( n ) ) 3 } . Wiemy, że α n ( A n ( n ) ) = n , więc α ( A n ( nα(k1(n))=α(An(n))αminz{αz(An(n))3}αn(An(n))=n . Twierdzę, że α ( A n ( n ) ) n + 2 . α n + 1 ( A n ( n ) ) = 1 + α n + 1 ( n ) . Teraz α ( n ) = min z { α z ( n ) 3 } , więc α αα(An(n))>nα(An(n))n+2αn+1(An(n))=1+αn+1(n)α(n)=minz{αz(n)3}. Ponieważn+1>α(n), α n + 1 (n)3, więc α n + 1 ( A n (n))4. Zatem α n + 2 ( A n (n))=1+ α n + 2αα(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

Mamy więc , więc k i α są zasadniczo równe.n<α(k1(n))n+2kα


9
I dodam, że wszystkie te funkcje to po prostu różne skomplikowane sposoby wpisywania liczby 4.
Sariel Har-Peled

0

To jest niepoprawne; zobacz komentarze.

Funkcja bardzo blisko do tego został nazwany „ ” i wykorzystywane w Pettie za „pochylenie Drzewa, Davenport SCHINZEL sekwencji i deque Conjecture” , w której wykazano, że " n operacji deque [w drzewie splay] zajmie tylko O ( n α ( n ) ) czas, gdzie α ( n ) jest minimalną liczbą zastosowań funkcji odwrotnego Ackermanna odwzorowujących n na stałą. ”αnO(nα(n))α(n)n

Ta funkcja rośnie bardzo wolno i rośnie wolniej niż . Rozważ funkcję f : NNlogα(n)f:NN

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

Ta funkcja rośnie mniej więcej tak szybko jak , więc rośnie wolniej niż A ( n ) = A ( n , n ) . Teraz oszacuję log α ( n ) i α ( n ) na A ( f ( n ) ) :A(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)

Ponieważ , log α ( n ) rośnie znacznie szybciej niż α ( n ) .f(n1)ω(2+α(n))logα(n)α(n)


Jaki jest związek między alfa ^ * ik (n)? (zauważ, że w definicji k (n) używam zapisu alpha_k (n) zdefiniowanego w linku, który miałem w pytaniu)
Dana Moshkovitz

Och, przepraszam, czytam twój jako α k ! αkαk
jbapple
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.