Funktionen
Jede Zahlenreihe entspricht einer Erzeugungsfunktion . Oft ist es bequem möglich, aus einer Wiederholung die Koeffizienten - die Elemente der Reihe - zu bestimmen.
Diese Antwort enthält den allgemeinen Anhang mit einem vollständigen Beispiel, eine Abkürzung für einen Sonderfall und einige Hinweise zur Verwendung dieser Methode, um Asymptoten zu erhalten (auch wenn das genaue Ergebnis nicht erhalten werden kann).
Die Methode
Sei eine Reihe von Zahlen. Dann die formale Potenzreihe(an)n∈N
A(z)=∑n=0∞anzn
ist die gewöhnliche Erzeugungsfunktion ¹ von . Die Koeffizienten in der Reihenentwicklung von gleich der Folge, dh . Zum Beispiel kann die gewöhnliche erzeugende Funktion der berühmten katalanischen Zahlen ist A ( z ) [ z n ] A ( z ) = ein n C n(an)n∈NA(z)[zn]A(z)=an Cn
C(z)=1−1−4z−−−−−√2z .
Die Definition von ist auch unser Ansatz zur Lösung einer Wiederholung. Dies funktioniert am besten für lineare Wiederholungen. Nehmen Sie der Einfachheit halber eine Wiederholung der Form anA
a0ak−1an=c0⋮=ck−1=f(n)+∑i=1kbian−i,n≥k
für einige feste und eine von allen unabhängige Funktion . Jetzt fügen wir einfach beide Anker und den rekursiven Teil in den Satz ein, das heißt f ( n ) : N → N a ib1,…,bk∈Rf(n):N→Nai
A(z)=∑n=0∞anzn=c0z0+c1z1+⋯+ck−1zk−1+∑n=k∞[f(n)+(∑i=1kbian−i)]zn
Unter Verwendung der Mechanik der Summenmanipulation, der Eigenschaften formaler Potenzreihen und bekannter Identitäten ² muss die letzte rechte Seite in geschlossene Formen gebracht werden, typischerweise in Form von . Die resultierende Gleichung kann (oft) nach gelöst werden . Die Reihenausweitung des Ergebnisses (die leicht zu erhalten, bekannt oder auf andere Weise zugänglich sein kann) ist im Wesentlichen die Lösung.A ( z )A(z)A(z)
Gute Einführungen finden sich in Wilfs Buch [3] und in GKP [4]. Fortgeschrittenes Material wurde von Flajolet und Sedgewick gesammelt [5].
Beispiel
Erwägen
a0a1an=1=2=5n+3an−1−2an2,n>1
Wir berechnen:
A(z)=∑n=0∞anzn=1+2z+∑n=2∞[3an−1−2an−2+5n]zn=1+2z+3∑n=2∞an−1zn−2∑n=2∞an−2zn+5∑n=2∞nzn=1+2z+3z∑n=1∞anzn−2z2∑n=0∞anzn+5∑n=2∞nzn=1+2z+3z(A(z)−a0)−2z2A(z)+5(z(1−z)2−z)=1−6z+(3z−2z2)A(z)+5z(1−z)2
Das löst sich auf
A(z)=1−3z+13z2−6z3(1−2z)(1−z)3=161−2z−51−z−5(1−z)2−5(1−z)3=16∑n=0∞2nzn−5∑n=0∞zn−5∑n=0∞(n+1)zn−5∑n=0∞(n+1)(n+2)2zn
Jetzt können wir endlich ablesen
an=16⋅2n−5−5(n+1)−52(n+1)(n+2)=2n+4−52n2−252n−15
Sobald Sie sich daran gewöhnt haben , bemerken Sie, dass dies alles ziemlich mechanisch ist. In der Tat kann die Computeralgebra all diese Dinge in vielen Fällen für Sie erledigen. Das Gute ist, dass es (mehr oder weniger) dieser Mechaniker bleibt, auch wenn die Wiederholung komplexer ist. Sehen Sie hier ein komplizierteres, weniger mechanisches Beispiel.
Beachten Sie auch, dass die allgemeinen Techniken auch funktionieren, wenn die gesuchten Objekte komplexe Zahlen oder sogar Polynome sind.
Eine Abkuerzung
Für lineare und homogene Rezidive, also solche der Form
a0ak−1an=c0⋮=ck−1=∑i=1kbian−i,n≥k
Dies geschieht jedes Mal auf die gleiche Weise. Wenn wir die obige Berechnung symbolisch durchführen, finden wir das folgende Lemma . Lassen
zk−b1zk−1−b2zk−2−⋯−bk
sei das charakteristische Polynom (der Wiederholung). Es sei weiterhin die (paarweise getrennten) Nullen des Polynoms mit der Multiplizität . Dann ist der gewünschte Koeffizient gegeben durchr iλ1,…,λlri
an=∑i=1l∑j=1ribi,j⋅nj−1⋅λni
mit unbekanntem . Da das charakteristische Polynom den Grad , gibt es genau (komplexe) Nullen, dh die Summe zu . Daher können die fehlenden Koeffizienten durch Lösen des linearen Gleichungssystems mit Gleichungen bestimmt werden, die durch Gleichsetzen der obigen Formel mit einem beliebigen des (z. B. der Anker) erhalten werden. k k r i k k k a nbi,jkkrikkkan
Asymptotika
Zu einem geschlossenen Formular für ist normalerweise der einfache Teil. Es wird jedoch schnell schwierig, es in der Erzeugung von Funktionen auszudrücken, von denen wir die Koeffizienten kennen (wie wir es im Beispiel getan haben). Beispiele sind von oben und das für die Anzahl der in der Frage erwähnten Dyck-Wörter.C ( z )A(z)C(z)
Man kann komplexe Analysemaschinen einsetzen, insbesondere die Singularitätsanalyse, um Asymptoten für die Koeffizienten zu erhalten; Schlagworte sind die Darboux-Methode und die Sattelpunktmethode. Diese basieren auf dem Residuensatz und der Cauchyschen Integralformel . Siehe [6] für Details.
- Ähnliches können Sie mit Exponential- , Dirichlet- und einigen anderen Erzeugungsfunktionen tun . Was am besten funktioniert, hängt von der jeweiligen Reihenfolge ab und insbesondere davon, ob Sie die erforderlichen geschlossenen Formulare finden.
- Zum Beispiel aus dem TCS Cheat Sheet oder [3].
- generatedfunctionology von H. Wilf (1994, 2. Aufl.) - steht zum kostenlosen Download zur Verfügung
- Konkrete Mathematik von RL Graham, DE Knuth und O. Patashnik (1994, 2. Aufl.)
- Einführung in die Analyse von Algorithmen von R. Sedgewick und P. Flajolet (2. Auflage, 2013) - zum kostenlosen Download
- Analytic Combinatorics von P. Flajolet und R. Sedgewick (2009) - zum kostenlosen Download verfügbar