Angenommen, Sie haben eine Wiederholung
, die über positive Reals liegen.
T(n)={T(n−nc)+T(nc)+f(n)1n > 2otherwise
Was können wir mit dieser Funktion machen? Nun, nicht viel, es sei denn, wir überlagern es mit bestimmten Strukturen. Ich stamme aus einem numerischen Analyse-Hintergrund, der mit numerischen Rezepten gepflastert ist, die irgendwie funktionieren, auch wenn das zugrunde liegende Problem entweder nicht glatt genug ist (spielt keine Rolle, lassen Sie uns trotzdem Newtons Methode auf die geteilten Unterschiede werfen) oder zu kompliziert zu analysieren (zu sortieren) von wie dieses Problem). Meine Bauchreaktion auf diese Probleme besteht darin, eine handgewellte Annahme zu machen, die Daumen zu drücken und auf das Beste zu hoffen. In diesem Fall scheint es relativ gute Grenzen zu geben.
Insbesondere möchte ich zwei wesentliche Annahmen treffen. Eine dieser Annahmen ist mehr oder weniger unbegründet, aber ohne sie kommen wir nicht weit. Der andere hat eine etwas nette visuelle Intuition, die Sie hoffentlich grok, aber es ist immer noch mehr handwavy als alles andere.
- Ich gehe davon aus, dass "glatt" ist. Es ist ziemlich leicht zu erkennen, dass nicht überall differenzierbar ist. In der Tat ist es nicht einmal kontinuierlich, da für und , und . Daher, angesichts der Karten , die von erzeugten iteriert oder , wird eine Diskontinuität an enthalten , wenn seine Iteration Baum enthältT ( n ) f ( n ) = log ( n ) c = 1T(n)T(n)f(n)=log(n) limn→2-T(n)=1limn→2+T(n)=2+ln2c=12limn→2−T(n)=1limn→2+T(n)=2+ln2 n↦n- √n↦n−−√ T(n)n2nnT(n)n↦n−n−−√T(n)n2irgendwo in seiner Flugbahn. Das ist eine Menge Diskontinuitäten, es könnte Dirichlets Funktion sogar einen Run für ihr Geld geben. Wenn wir den Punkt erreichen, an dem wir das Verhalten einer Funktion mit dem des prototypischen Beispiels einer nirgendwo kontinuierlichen Funktion vergleichen, ist es nicht lächerlich zu behaupten, es sei "glatt"? Nun, es stellt sich heraus, dass in der Praxis die Auswirkungen dieser Diskontinuitäten asymptotisch abnehmen, bis zu dem Punkt, an dem Ihr Graph fast glatt aussieht, wenn gegen unendlich tendiert! Deshalb schlage ich vor, dass wir unsere Mistgabeln ablegen und unter diesen Umständen einfach wegschauen. Insbesondere gehe ich davon aus, dass an jedem Punkt von Interesse , der weit genug vom Ursprung entfernt ist,nnT(n)ist differenzierbar oder zumindest annähernd differenzierbar in einer bestimmten Nachbarschaft.
- Ich gehe auch von einer noch stärkeren Glätte aus, wenn weit genug entfernt ist. Angenommen, ist einige Sublineare Funktion , so dass (zum Beispiel ), dann wird die Ableitung tut nicht signifikant variieren, wenn langsam genug ist. Intuitiv nimmt die relative Größe der Nachbarschaft ab , wenn größer wird (da ihre Größe nur , die viel langsamer wächst als . Schließlich wird die Größe dieser Nachbarschaft so unbedeutend (relativ zuα ( n ) n > α ( n ) n c T ' ( ξ ∈ ( n - α ( n ) , n ) α ( n ) n ( n - α ( n ) , n ) α ( n ) n n T ( n )nα(n)n>α(n)ncT′(ξ∈(n−α(n),n)α(n)n(n−α(n),n)α(n)nn), dass sich die Änderungsrate von in dieser Nachbarschaft nicht mehr so dramatisch ändert.T(n)
Nun werden beide Eigenschaften angenommen, und ich habe keine Ahnung, wie man beides auf eine rigorose Weise beweist. Aber wie ich schon sagte, drücken wir die Daumen und hoffen auf das Beste.
Beginnen wir mit der Wiederholungsrelation:
Nun gehe ich davon aus, dass im Intervall zwischen und glatt genug ist . Anhand eines unserer klassischen analytischen Werkzeuge, des Mittelwertsatzes, erhalten wir
Wenn ausreichend groß ist, nehmen wir an, dass während dieses Intervalls ungefähr gleich ist, und nehmen daher auch den Wert einer der endlichen Differenzen innerhalb dieses Intervalls an. Das bedeutet dann das
Tn-ncnT(n)-T(n- n c )
T(n)T(n)−T(n−nc)ncT(n)−T(n−nc)nc=T(n−nc)+T(nc)+f(n)=T(nc)+f(n)=T(nc)+f(n)
Tn−ncnnT'(ξ)T'(ξ)≈T(n)-T(n-ϵ)T(n)−T(n−nc)nc=T′(ξ∈(n−nc,n)).
nT′(ξ)≤=1 n c ( T ( n ) - T ( n - 1 ) )T′(ξ)≈T(n)−T(n−ϵ)ϵ ϵ<nc
Nehmen Sie insbesondere , um eine Eins zu erhalten - schrittweise geteilte Differenzapproximation
Wir können dies teleskopieren, um
ϵ=1 T(n)≤n≤kT(kc)nc(T(n)−T(n−1))T(n)−T(n−1)≈T(nc)+f(n)≈T(nc)+f(n)nc
T(n)≈∑knT(kc)kc+∑knf(k)kc
Die Störung von zeigt, dass zwei asymptotische Phasen aufweist, abhängig von der asymptotischen Natur von .T(n)T(n)f(z)
Wenn ( ist schneller als ), dann dominiert die rechte Summe, und wir haben das oft mit dem Integral angenähert werden kann .f(n)=o(nc)fncT(n)=Θ(∑knf(k)kc)∫nf(x)xcdx
Wenn , dominiert die linke Summe die rechte. Hier müssen wir die Summe analysieren,
wobei .f(n)=ω(nc)
(∑knT(kc)kc)+Fc(n)
Fc(n)=∫nf(x)xcdx
Aufgrund des Glättungsarguments können wir dies wieder als links verankerte Riemann-Summe betrachten, die sich dem Integral . Die Anwendung eines ähnlichen Mittelwertsatzes über das Integral ergibt
Wir können dies einfach durch approximieren , was ergibt die Näherung
für eine Konstante , die die Reihe begrenzt.∫nT(xc)xcdx
∑kT(kc)kc≈∫nf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)ncT(n)≤nMT(nc)nc+Fc(n)
M
Angenommen, wir haben die iterierte Folge mit , dann können wir diese Sequenz verwenden, um die obige Ungleichung zu teleskopieren, um zu erhalten:
Wir können wieder binden Der Term durch eine Konstante bestimmt, um festzustellen, dass
wobei . Ein bisschen vereinfachen und einige der -Ausdrücke zusammenfassen (insbesondere wissen wir, dass(n,nc,nc2,nc3,…,nck)nck<2
T(n)≤n(∑ik−1MinciFc(nci)+Mknck)(*)
Fc(nci)T(n)=O(Fc(n)+nFc(nc)(Mn−c+M2n−c2+⋯+Mkn−ck))
k=logc(log(2)log(n))Mn−cn−ckist eine Konstante), erhalten wir
T(n)=O(nkFc(n)Mk)
Diese Schranke ist jedoch relativ locker, und Sie sollten nach Möglichkeit auf verweisen .(*)
Seien Sie sich bewusst, dass dies keinesfalls streng ist. Ich habe keine Unterstützung geliefert, dass dies über einige plumpe Annäherungen hinaus funktionieren sollte. Wenn Sie jedoch nur eine schnelle asymptotische Vermutung für informelle Analysen benötigen, können Sie tatsächlich feststellen, dass dieses Schema in der Praxis gut funktioniert (für ausreichend große Werte von , in der Regel ).nn>10
Wie auch immer, für alle von mir ausgeführten
Optionen von und
wobei
gute Annäherungen zu geben scheint . Diese Technik verallgemeinert sich auch auf Wiederholungen der Form
die mit angenähert werden können.
wobeicf
T^(n)F(n)=n∑klogclogn2MknckF(nck)=∑knf(k)kc
M≈∑kT(kc)kcnT(nc)nc
T(n)=T(n−α(n))+T(β(n))+f(n)
αk(n)=α(k⋯(α(n)))#β(n)n,β(n),β(β(n)),...,β#β(n)(n)12T^(n)F(n)=n∑k#β(n)Mkαk(n)F(βk(n))=∑knf(k)α(k)
αk(n)=α(⋯k(α(n)))und bezeichnet die Anzahl der Elemente der Sequenz so, dass der letzte Term zwischen und .
#β(n)n,β(n),β(β(n)),…,β#β(n)(n)12