Wenn eine reguläre Sprache , betrachten Sie einige DFA als L akzeptierend , lassen Sie A seine Übertragungsmatrix sein ( A i j ist die Anzahl der Kanten, die von Zustand i zu Zustand j führen ), lassen Sie x den charakteristischen Vektor des Anfangszustands sein und lassen Sie y sei der charakteristische Vektor der akzeptierenden Zustände. Dann ist
s L ( n ) = x T A n y .LLAAijijxy
sL(n)=xTAny.
Jordan-Theorem besagt , dass über die komplexen Zahlen, eine Matrix mit Blöcken von einem der Formen ähnlich ist
( λ ) , ( λ 1 0 λ ) , ( λ 1 0 0 λ 1 0 0 λ ) , ( λ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ ) , …
Wenn λ ≠ 0 , dann ist das nA
( λ) , ( λ01λ) , ⎛⎝⎜λ001λ001λ⎞⎠⎟, ⎛⎝⎜⎜⎜λ0001λ0001λ0001λ⎞⎠⎟⎟⎟, …
λ ≤ 0nDie Potenzen dieser Blöcke sind
Hier ist , wie wir in diesen Formeln bekam: den Block als schreiben . Aufeinanderfolgende Potenzen von sind aufeinanderfolgende sekundäre Diagonalen der Matrix.
B=λ+NNλNBn=(λ+n)N=λn+nλn-1N+(n( λn) , ( λn0n λn - 1λn) , ⎛⎝⎜λn00n λn - 1λn0( n2) λn - 2n λn - 1λn⎞⎠⎟,⎛⎝⎜⎜⎜⎜λn000n λn - 1λn00( n2) λn - 2n λn - 1λn0( n3) λn - 3( n2) λn - 2n λn - 1λn⎞⎠⎟⎟⎟⎟, …
B = λ + NNλpendelt mit ),
Wenn , ist der Block nullpotent und wir erhalten die folgenden Matrizen (die Notation ist wenn und sonst ):
NBn= ( λ + n )N= λn+ n λn - 1N+ ( n2) λn - 2N2+ ⋯ .
λ = 0[ n = k ]1n = k0( [ n = 0 ]) , ( [ n = 0 ]0[ n = 1 ][ n = 0 ]) , ⎛⎝⎜[ n = 0 ]00[ n = 1 ][ n = 0 ]0[ n = 2 ][ n = 1 ][ n = 0 ]⎞⎠⎟,⎛⎝⎜⎜⎜⎜[ n = 0 ]000[ n = 1 ][ n = 0 ]00[ n = 2 ][ n = 1 ][ n = 0 ]0[ n = 3 ][ n = 2 ][ n = 1 ][ n = 0 ]⎞⎠⎟⎟⎟⎟
Zusammenfassend hat jeder Eintrag in entweder die Form oder die Form , und wir schließen daraus, dass
für einige komplexe und komplexe Polynome . Insbesondere für die groß genug , um ,
Dies ist die genaue Angabe des Ergebnisses.EINn( nk) λn - k[ n = k ]
sL(n)=∑ipi(n)λni+∑jcj[n=j],
λi,cjpinsL(n)=∑ipi(n)λni.
Wir können weiterhin asymptotische Informationen über , aber dies ist überraschenderweise nicht trivial. Wenn es ein eindeutiges der größten Größe gibt, sagen wir , dann ist
Komplizierter wird es, wenn es mehrere der größten Größenordnung gibt. Es kommt also vor, dass ihr Winkel rational sein muss (dh bis zur Größe sind sie Wurzeln der Einheit). Wenn die LCM der Nenner , dann wird die Asymptotik von sehr nach dem Rest von Modulo . Für einige dieser Reste giltsL(n)λiλ1
sL(n)=p1(n)λn1(1+o(1)).
λdsLndλs mit der größten Größe werden gelöscht, und dann "fällt" die Asymptotik ab, und wir müssen diese Prozedur wiederholen. Der interessierte Leser kann die Details in Flajolet und Sedgewicks
Analytic Combinatorics , Theorem V.3, nachlesen. Sie beweisen, dass für einige ganze Zahlen und Zahlen ,
dp0,…,pd−1λ0,…,λd−1sL(n)=npn(modd)λnn(modd)(1+o(1)).