Die inverse Ackermann-Funktion tritt häufig bei der Analyse von Algorithmen auf. Eine großartige Präsentation finden Sie hier: http://www.gabrielnivasch.org/fun/inverse-ackermann . und [Notation: [x] bedeutet, dass wir x auf die nächste ganze Zahl aufrunden, während log ∗ ist die hier beschriebene iterierte Protokollfunktion: http://en.wikipedia.org/wiki/Iterated_logarithm ]
Meine Frage ist: Was ist die Funktion
Klar . Welche engeren Grenzen kann man für ? Ist ?
ds.algorithms
ds.data-structures
bounds
Dana Moshkovitz
quelle
quelle
Antworten:
Sei die Umkehrung von . . Ich behaupte, dass .Ak αk A1(x)=2x,A2(x)=2x,… k−1(x)=Ax(x)
Da und da , . Als Ergebnis ist .x=αx(Ax(x)) ∀z,αy(z)>αx(z) αy(Ax(x))>αx(Ax(x))=x k(Ax(x))=x
Betrachten Sie nun den Wert von . Nach Definition von ist dies . Wir wissen, dass , also . Ich behaupte, dass . . Jetzt ist , also . Da , , also . Somit istα(k−1(n))=α(An(n)) α minz{αz(An(n))≤3} αn(An(n))=n α(An(n))>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)≤3 αn+1(An(n))≤4 αn+2(An(n))=1+αn+2(αn+1(n))≤1+αn+2(4)≤3 .
Wir haben also , also sind und im Wesentlichen gleich.n<α(k−1(n))≤n+2 k α
quelle
Das ist falsch; siehe die Kommentare.
Eine Funktion, die dieser sehr nahe kommt, wurde " " genannt und in Petties "Splay Trees, Davenport-Schinzel Sequences und The Deque Conjecture" verwendet , in der er zeigte, dass " deque-Operationen [in einem Spreizbaum] erforderlich sind nur Zeit, wobei die minimale Anzahl von Anwendungen der inversen Ackermann-Funktion ist, die auf eine Konstante abbildet. "α∗ n O(nα∗(n)) α∗(n) n Diese Funktion wächst sehr langsam und langsamer als . Betrachten Sie die Funktionlogα(n) f:N→N
Diese Funktion wächst ungefähr so schnell wie , wächst also langsamer als . Jetzt werde ich und auf auswerten :A(4,n) A′(n)=A(n,n) logα(n) α∗(n) A′(f(n))
Da , wächst viel schneller als .f(n−1)∈ω(2+α∗(n)) logα(n) α∗(n) quelle