Веселье с обратным Аккерманом


11

Обратная функция Аккермана часто встречается при анализе алгоритмов. Отличная презентация здесь: http://www.gabrielnivasch.org/fun/inverse-ackermann .

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

Мой вопрос: что такое функция

k(n)=min{k:αk(n)k}
Очевидно, что 1k(n)α(n) . Какие более узкие границы можно дать для k(n) ? Является ли k(n)logα(n) ?

Я знаю, почему , но не могли бы вы объяснить, почему ? k ( n ) α ( n )k(n)α(n)k(n)α(n)
Jbapple

Хорошо, отредактированный к бесспорной . k(n)<α(n)
Дана Мошковиц

3
@DanaMoshkovitz: Я приблизил определения, используя иерархию Аккермана, с которой я знаком: и . С типичным определением функций Аккермана, . Следовательно, если то , т.е. . (Надеюсь, я там не ошибся.)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 ) α ( n ) - 1Ak(k)nAk+1(1)nk(n)α(n)1
Сильвен

1
@DanaMoshkovitz: чтобы уточнить, я использую и , который растет немного быстрее, чем ваше определение, например, вместо . Это не должно иметь большого значения, хотя: и - одно и то же. A k + 1 ( n ) = A n + 1 k ( 1 ) A 2 ( n ) = 2 n + 1 2 n α ( n ) k ( n )A1(n)=2nAk+1(n)=Akn+1(1)A2(n)=2n+12nα(n)k(n)
Сильвен

1
@DanaMoshkovitz: я не понимаю, почему . Для бесконечного числа значений вы будете иметь , то есть всякий раз, когда ; поскольку быстро растет, у вас будет больше и больше таких последовательностей. С вашими определениями можно даже иметь : следовательно, но . n α ( n ) = k ( n ) A k ( k ) < n A k + 1 ( 1 ) < A k + 1 ( k + 1 ) A k + 1 ( 1 ) - A k ( k ) α ( n )k(n)<α(n)nα(n)=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
Сильвен

Ответы:


12

Пусть будет обратным к . . Я утверждаю, что .α 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)

Поскольку и так как , . В результате .z , α y ( z ) > α x ( z ) α y ( A x ( x ) ) > α x ( A x ( x ) ) = x k ( A x ( х ) ) = хx=αx(Ax(x))z,αy(z)>αx(z)αy(Ax(x))>αx(Ax(x))=xk(Ax(x))=x

Теперь рассмотрим значение . По определению это . Мы знаем, что , поэтому . Я утверждаю, что . . Теперь , поэтому . Поскольку , , поэтому . Таким образом,α 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 ) α ( n ) = min z { α z ( n ) 3 } α α ( n ) ( n ) 3 n + 1 > α ( n )α(An(n))n+2αn+1(An(n))=1+αn+1(n)α(n)=minz{αz(n)3}αα(n)(n)3n+1>α(n)α n + 1 ( A n ( n ) ) 4 α n + 2 ( A n ( n ) ) = 1 + α n + 2 ( α n + 1 ( n ) ) 1 + α n + 2 ( 4 ) 3αn+1(n)3αn+1(An(n))4αn+2(An(n))=1+αn+2(αn+1(n))1+αn+2(4)3,

Итак, мы имеем , поэтому и по существу равны.k αn<α(k1(n))n+2kα


9
И позвольте мне добавить, что все эти функции являются просто разными сложными способами написания числа 4.
Сариэль Хар-Пелед

0

Это неверно; смотрите комментарии.

Функция, очень близкая к этой, называлась « » и использовалась в « Петровых деревьях», «Последовательностях Давенпорта-Шинзеля » и « Гипотезе Deque» Петти , в которых он показал, что « deque-операций [в дереве splay] принимают только время, где - минимальное количество применений функции обратного Аккермана, отображающей в константу. " n O ( n α ( n ) ) α ( n ) nαnO(nα(n))α(n)n

Эта функция очень медленно растет и медленнее, чем . Рассмотрим функциюf : NNlogα(n)f:NN

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

Эта функция растет примерно так же быстро, как , поэтому она растет медленнее, чем . Теперь я оценю и для :A ( n ) = A ( n , n ) log α ( n ) α ( n ) 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)

Поскольку , растет намного быстрее, чем .log α ( n ) α ( n )f(n1)ω(2+α(n))logα(n)α(n)


Какова связь между альфа ^ * и к (п)? (обратите внимание, что в определении k (n) я использую обозначение alpha_k (n), определенное в ссылке, которая была у меня в вопросе)
Дана Мошковиц

О, прости, я прочитал твой как ! α kαkαk
Jbapple
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.