역 Ackermann과 재미


11

역 Ackermann 함수는 알고리즘을 분석 할 때 자주 발생합니다. 그것의 좋은 발표는 여기에 있습니다 : 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}

내 질문은 : 함수 무엇입니까? 분명히 입니다. 에 어떤 더 엄격한 경계를 줄 수 있습니까? 가요 ?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)

나는 왜 알고 있지만 왜 인지 설명 할 수 있습니까? k ( n ) α ( n )k(n)α(n)k(n)α(n)
jbapple

논란의 여지가없는 . k(n)<α(n)
Dana Moshkovitz 2016 년

3
@DanaMoshkovitz : 내가 익숙한 Ackermann 계층 구조를 사용하여 정의를 근사했습니다. 및 입니다. Ackermann 함수의 일반적인 정의로 입니다. 따라서 이면 즉, 입니다. (내가 실수하지 않았기를 바랍니다.)k ( n ) = 최소 { 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
Sylvain

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

1
@ DanaMoshkovitz : 왜 인지 모르겠습니다 . 무한대의 많은 값에 대해 , 즉 ; 빠르게 때문에 이러한 시퀀스가 ​​길고 길어집니다. 정의를 사용하면 : 따라서 이지만 을 가질 수도 있습니다 . N α ( N ) = K ( N ) K ( K ) < N K + 1 ( 1 ) < K + 1 ( K + 1 ) 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
Sylvain

답변:


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 ) ) = xx=αx(Ax(x))z,αy(z)>αx(z)αy(Ax(x))>αx(Ax(x))=xk(Ax(x))=x

이제 의 값을 고려하십시오 . 의 정의에 의해 , 이것이 . 우리는 알고있다 , 그래서 . 이라고 주장합니다 . 입니다. 이제 이므로 입니다. 이후 , 그래서 . 따라서α Z { α Z ( N ( N ) ) 3 } α N ( N ( N ) ) = N α ( N ( n ) ) > n α ( A n ( nα(k1(n))=α(An(n))αminz{αz(An(n))3}αn(An(n))=nα(An(n))>nα N + 1 ( N ( N ) ) = 1 + α N + 1 ( N ) α ( N ) = 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 ( N ( N ) ) 4 α N + 2 ( 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를 쓰는 복잡한 방법들이라고 덧붙여 봅시다.
Sariel Har-Peled

0

이것은 올바르지 않습니다. 의견을 참조하십시오.

이 함수에 매우 가까운 함수는 " " 라고 불리며 Pettie의 "Splay Trees, Davenport-Schinzel Sequences 및 Deque Conjecture" 에서 " deque 작업 [splay tree]에서 단지 시간. 여기서 은 에 상수를 매핑하는 역 Ackermann 함수의 최소 적용 횟수입니다 . " 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)


alpha ^ *와 k (n)의 관계는 무엇입니까? (k (n)의 정의에서 나는 그 질문에 포함 된 링크에 정의 된 alpha_k (n) 표기법을 사용한다)
Dana Moshkovitz

죄송합니다. 을 로 읽습니다 ! α kαkαk
jbapple
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.