태그 보관물: ds.algorithms

ds.algorithms

역 Ackermann과 재미 http://www.gabrielnivasch.org/fun/inverse-ackermann . α1(n)=[n/2]α1(n)=[n/2]\alpha_1(n) =

역 Ackermann 함수는 알고리즘을 분석 할 때 자주 발생합니다. 그것의 좋은 발표는 여기에 있습니다 : http://www.gabrielnivasch.org/fun/inverse-ackermann .

α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}

내 질문은 : 함수 무엇입니까?

분명히 입니다. 에 어떤 더 엄격한 경계를 줄 수 있습니까? 가요 ?1 k ( n ) α ( n ) k ( n ) k ( n ) log α ( n )

k(n)=min{k:αk(n)≤k}

1≪k(n)≤α(n)

k(n)

k(n)≤log⁡α(n)



답변

하자 의 역 할 . 입니다. 라고 주장합니다 .α k A 1 ( x ) = 2 x , A 2 ( x ) = 2 x , k 1 ( x ) = A x ( x )

Ak

αk

A1(x)=2x,A2(x)=2x,…

k−1(x)=Ax(x)

이후 , 이후 , . 결과적으로 입니다.z , α y ( z ) > α x ( z ) α y ( A x ( x ) ) > α x ( A x ( x ) ) = x k ( A x ( x ) ) = x

x=αx(Ax(x))

∀z,αy(z)>αx(z)

αy(Ax(x))>αx(Ax(x))=x

k(Ax(x))=x

이제 의 값을 고려하십시오 . 의 정의에 의해 , 이것이 . 우리는 알고있다 , 그래서 . 이라고 주장합니다 . 입니다. 이제 이므로 입니다. 이후 , 그래서 . 따라서α Z { α Z ( N ( N ) ) 3 } α N ( N ( N ) ) = N α ( 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 ( 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)≤3

n+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<α(k−1(n))≤n+2

k

α

답변

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

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

α∗

n

O(nα∗(n))

α∗(n)

n

이 함수는 매우 느리게 성장하며 보다 느리게 성장 합니다. 함수를 고려하십시오.f : NN

log⁡α(n)

f:N→N

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

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

이후 , 보다 훨씬 빠르기 때문에 성장 .log α ( n ) α ( n )

f(n−1)∈ω(2+α∗(n))

log⁡α(n)

α∗(n)

답변